27 #ifndef GCTAEDISPRMF_HPP
28 #define GCTAEDISPRMF_HPP
73 const double& theta = 0.0,
74 const double& phi = 0.0,
75 const double& zenith = 0.0,
76 const double& azimuth = 0.0)
const;
86 const double& theta = 0.0,
87 const double& phi = 0.0,
88 const double& zenith = 0.0,
89 const double& azimuth = 0.0)
const;
91 const double& theta = 0.0,
92 const double& phi = 0.0,
93 const double& zenith = 0.0,
94 const double& azimuth = 0.0)
const;
96 const double& theta = 0.0,
97 const double& phi = 0.0,
98 const double& zenith = 0.0,
99 const double& azimuth = 0.0)
const;
103 const double& theta)
const;
161 return (
"GCTAEdispRmf");
virtual ~GCTAEdispRmf(void)
Destructor.
GEbounds etrue_bounds(const GEnergy &ereco, const double &theta=0.0, const double &phi=0.0, const double &zenith=0.0, const double &azimuth=0.0) const
Return true energy interval that contains the energy dispersion.
std::string classname(void) const
Return class name.
Sparse matrix class interface definition.
void clear(void)
Clear instance.
void set_max_edisp(void)
Set maximum energy dispersion value.
int m_itrue2
Index of right Etrue.
const GRmf & rmf(void) const
Return Redistribution Matrix File.
Abstract base class for the CTA energy dispersion.
Redistribution Matrix File class.
CTA Redistribution Matrix File (RMF) energy dispersion class.
Random number generator class.
void init_members(void)
Initialise class members.
double m_wgt3
Weight of lower right node.
GCTAEdispRmf(void)
Void constructor.
void copy_members(const GCTAEdispRmf &psf)
Copy class members.
void free_members(void)
Delete class members.
GEnergy mc(GRan &ran, const GEnergy &etrue, const double &theta=0.0, const double &phi=0.0, const double &zenith=0.0, const double &azimuth=0.0) const
Simulate energy dispersion.
void compute_ereco_bounds(void) const
Compute m_ereco_bounds vector.
GMatrixSparse m_matrix
Normalised redistribution matrix.
int m_itrue1
Index of left Etrue.
GEnergy m_last_ereco
Last reconstructed energy.
Node array class interface definition.
XSPEC Redistribution Matrix File class definition.
Energy boundaries container class.
GFilename m_filename
Name of response file.
std::vector< GEbounds > m_etrue_bounds
GNodeArray m_etrue
Array of log10(Etrue)
GCTAEdispRmf & operator=(const GCTAEdispRmf &edisp)
Assignment operator.
GEbounds ereco_bounds(const GEnergy &etrue, const double &theta=0.0, const double &phi=0.0, const double &zenith=0.0, const double &azimuth=0.0) const
Return observed energy interval that contains the energy dispersion.
Abstract CTA energy dispersion base class definition.
bool m_ereco_bounds_computed
void load(const GFilename &filename)
Load energy dispersion from RMF file.
GFilename filename(void) const
Return filename.
GCTAEdispRmf * clone(void) const
Clone instance.
int m_ireco2
Index of right Ereco.
double operator()(const GEnergy &ereco, const GEnergy &etrue, const double &theta=0.0, const double &phi=0.0, const double &zenith=0.0, const double &azimuth=0.0) const
Return energy dispersion in units of MeV .
bool m_etrue_bounds_computed
void set_cache(void) const
Set interpolation cache.
void update(const GEnergy &ereco, const GEnergy &etrue) const
Update cache.
GEnergy m_last_etrue
Last true energy.
double m_wgt1
Weight of lower left node.
Single parameter function abstract base class.
Sparse matrix class definition.
double m_wgt2
Weight of upper left node.
void compute_etrue_bounds(void) const
Compute m_etrue_bounds vector.
GEnergy m_last_etrue_bounds
GNodeArray m_ereco
Array of log10(Ereco)
GEnergy m_last_ereco_bounds
int m_ireco1
Index of left Ereco.
double m_wgt4
Weight of upper right node.
void set_matrix(void)
Set redistribution matrix.
GRmf m_rmf
Redistribution matrix file.
double m_max_edisp
Maximum energy dispersion value for MC.
std::vector< GEbounds > m_ereco_bounds
std::string print(const GChatter &chatter=NORMAL) const
Print RMF information.
Filename class interface definition.
Class that handles energies in a unit independent way.
double prob_erecobin(const GEnergy &ereco_min, const GEnergy &ereco_max, const GEnergy &etrue, const double &theta) const
Return energy dispersion probability for reconstructed energy interval.