27 #ifndef GCTAEDISPPERFTABLE_HPP
28 #define GCTAEDISPPERFTABLE_HPP
80 const double& theta = 0.0,
81 const double& phi = 0.0,
82 const double& zenith = 0.0,
83 const double& azimuth = 0.0)
const;
93 const double& theta = 0.0,
94 const double& phi = 0.0,
95 const double& zenith = 0.0,
96 const double& azimuth = 0.0)
const;
98 const double& theta = 0.0,
99 const double& phi = 0.0,
100 const double& zenith = 0.0,
101 const double& azimuth = 0.0)
const;
103 const double& theta = 0.0,
104 const double& phi = 0.0,
105 const double& zenith = 0.0,
106 const double& azimuth = 0.0)
const;
110 const double& theta)
const;
118 void update(
const double& logE)
const;
141 return (
"GCTAEdispPerfTable");
void free_members(void)
Delete class members.
std::string print(const GChatter &chatter=NORMAL) const
Print energy dispersion information.
std::vector< double > m_sigma
Sigma value (rms) of energy resolution.
Abstract base class for the CTA energy dispersion.
double m_par_width
Gaussian width parameter.
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.
Random number generator class.
GCTAEdispPerfTable & operator=(const GCTAEdispPerfTable &psf)
Assignment operator.
FITS file class interface definition.
GCTAEdispPerfTable * clone(void) const
Clone instance.
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 copy_members(const GCTAEdispPerfTable &psf)
Copy class members.
Node array class interface definition.
void clear(void)
Clear instance.
double m_par_logE
Energy for which precomputation is done.
Energy boundaries container class.
GFilename filename(void) const
Return filename.
CTA performance table energy dispersion class.
virtual ~GCTAEdispPerfTable(void)
Destructor.
double m_par_sigma
Gaussian sigma.
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 .
Abstract CTA energy dispersion base class definition.
double m_par_scale
Gaussian normalization.
void load(const GFilename &filename)
Load energy dispersion from performance table.
std::string classname(void) const
Return class name.
GCTAEdispPerfTable(void)
Void constructor.
GNodeArray m_logE
log(E) nodes for interpolation
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.
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.
GFilename m_filename
Name of response file.
void update(const double &logE) const
Update energy dispersion parameter cache.
void init_members(void)
Initialise class members.
Filename class interface definition.
Class that handles energies in a unit independent way.