27 #ifndef GCTARESPONSEIRF_HPP
28 #define GCTARESPONSEIRF_HPP
79 virtual void clear(
void);
81 virtual std::string
classname(
void)
const;
86 virtual void apply_edisp(
const bool& apply_edisp)
const;
104 const std::string&
rspname(
void)
const;
105 void load(
const std::string& rspname);
124 double aeff(
const double& theta,
126 const double& zenith,
127 const double& azimuth,
128 const double& srcLogEng)
const;
129 double psf(
const double& delta,
132 const double& zenith,
133 const double& azimuth,
134 const double& srcLogEng)
const;
137 const double& zenith,
138 const double& azimuth,
139 const double& srcLogEng)
const;
144 const double& zenith,
145 const double& azimuth)
const;
148 const GTime& srcTime,
150 const GTime& obsTime,
154 const GTime& obsTime,
157 const double& srcLogEng,
158 const GTime& srcTime,
182 const GTime& srcTime,
184 const GTime& obsTime,
188 const GTime& srcTime,
190 const GTime& obsTime,
194 const GTime& srcTime,
196 const GTime& obsTime,
200 const GTime& srcTime,
202 const GTime& obsTime,
206 const GTime& srcTime,
208 const GTime& obsTime,
236 return (
"GCTAResponseIrf");
CTA background model base class definition.
void load_aeff(const GFilename &filename)
Load effective area.
GCTAResponseIrf(void)
Void constructor.
void load_background(const GFilename &filename)
Load background model.
virtual double nroi(const GModelSky &model, const GEnergy &obsEng, const GTime &obsTime, const GObservation &obs) const
Return integral of event probability for a given sky model over ROI.
virtual GCTAEdisp * clone(void) const =0
Clones object.
double m_hi_safe_thres
Safe high energy threshold.
virtual bool apply_edisp(void) const
Signal if energy dispersion should be applied.
virtual void write(GXmlElement &xml) const
Write response information into XML element.
Energy value class definition.
double irf_elliptical(const GEvent &event, const GSource &source, const GObservation &obs) const
Return Irf value for elliptical source model.
virtual bool use_edisp(void) const
Signal if response uses energy dispersion.
virtual GCTAResponseIrf & operator=(const GCTAResponseIrf &rsp)
Assignment operator.
GCTAAeff * m_aeff
Effective area.
const GCTABackground * background(void) const
Return pointer to background model.
void free_members(void)
Delete class members.
Abstract interface for the event classes.
Abstract base class for the CTA point spread function.
Abstract base class for the CTA energy dispersion.
const std::string & rspname(void) const
Return response name.
Random number generator class.
void init_members(void)
Initialise class members.
Interface for the CTA region of interest class.
const double & hi_safe_thres(void) const
Return high energy threshold from IRF.
const GCaldb & caldb(void) const
Return calibration database.
GCTABackground * m_background
Background.
double psf_delta_max(const double &theta, const double &phi, const double &zenith, const double &azimuth, const double &srcLogEng) const
Return maximum angular separation (in radians)
GCTAEdisp * m_edisp
Energy dispersion.
Class that handles photons.
virtual bool is_valid(void) const
Signal if response is valid.
bool m_apply_edisp
Apply energy dispersion.
const GCTAPsf * psf(void) const
Return pointer to point spread function.
CTA effective area base class definition.
double m_lo_safe_thres
Safe low energy threshold.
GFilename irf_filename(const std::string &filename) const
Return filename with appropriate extension.
Calibration database class.
Energy boundaries container class.
virtual double irf(const GEvent &event, const GPhoton &photon, const GObservation &obs) const
Return value of instrument response function.
virtual GEbounds ebounds(const GEnergy &obsEnergy) const
Return true energy boundaries for a specific observed energy.
const GCTAAeff * aeff(void) const
Return pointer to effective area response.
double nirf(const GPhoton &photon, const GEnergy &obsEng, const GTime &obsTime, const GObservation &obs) const
Return spatial integral of Instrument Response Function.
const double & lo_safe_thres(void) const
Return low energy threshold from IRF.
void load_psf(const GFilename &filename)
Load CTA PSF vector.
virtual GCTAResponseIrf * clone(void) const
Clone instance.
Abstract CTA energy dispersion base class definition.
virtual GCTAAeff * clone(void) const =0
Clones object.
Abstract observation base class.
virtual GCTABackground * clone(void) const =0
Clones object.
GCaldb m_caldb
Calibration database.
CTA response abstract base class definition.
double npsf(const GSkyDir &srcDir, const double &srcLogEng, const GTime &srcTime, const GCTAPointing &pnt, const GCTARoi &roi) const
Return result of PSF integration over ROI.
double offset_sigma(void) const
Return offset angle dependence (degrees)
CTA point spread function base class definition.
void load_edisp(const GFilename &filename)
Load energy dispersion information.
void load(const std::string &rspname)
Load CTA response.
Calibration database class interface definition.
double nroi_diffuse(const GModelSky &model, const GEnergy &srcEng, const GTime &srcTime, const GEnergy &obsEng, const GTime &obsTime, const GObservation &obs) const
Return spatial integral of diffuse source model.
CTA instrument response function class.
virtual ~GCTAResponseIrf(void)
Destructor.
CTA instrument response function class.
Abstract base class for the CTA effective area.
std::string m_xml_rspname
Response name in XML file.
std::string m_rspname
Name of the instrument response.
double irf_radial(const GEvent &event, const GSource &source, const GObservation &obs) const
Return IRF value for radial source model.
virtual void clear(void)
Clear instance.
double nroi_radial(const GModelSky &model, const GEnergy &srcEng, const GTime &srcTime, const GEnergy &obsEng, const GTime &obsTime, const GObservation &obs) const
Return spatial integral of radial source model.
double nroi_composite(const GModelSky &model, const GEnergy &srcEng, const GTime &srcTime, const GEnergy &obsEng, const GTime &obsTime, const GObservation &obs) const
Return spatial integral of composite source model.
std::string m_xml_caldb
Calibration database string in XML file.
virtual GCTAPsf * clone(void) const =0
Clones object.
Abstract base class for the CTA background model.
virtual void read(const GXmlElement &xml)
Read response from XML element.
double irf_ptsrc(const GEvent &event, const GSource &source, const GObservation &obs) const
Return value of point source instrument response function.
CTA instrument direction class.
virtual double irf(const GEvent &event, const GPhoton &photon, const GObservation &obs) const =0
virtual bool use_tdisp(void) const
Signal if time dispersion will be used.
void copy_members(const GCTAResponseIrf &rsp)
Copy class members.
GCTAEventAtom * mc(const double &area, const GPhoton &photon, const GObservation &obs, GRan &ran) const
Simulate event from photon.
double nroi_elliptical(const GModelSky &model, const GEnergy &srcEng, const GTime &srcTime, const GEnergy &obsEng, const GTime &obsTime, const GObservation &obs) const
Return spatial integral of elliptical source model.
const GCTAEdisp * edisp(void) const
Return pointer to energy dispersion.
Class that handles gamma-ray sources.
virtual std::string print(const GChatter &chatter=NORMAL) const
Print CTA response information.
Time class interface definition.
double irf_diffuse(const GEvent &event, const GSource &source, const GObservation &obs) const
Return value of diffuse source instrument response function.
virtual std::string classname(void) const
Return class name.
double nroi_ptsrc(const GModelSky &model, const GEnergy &srcEng, const GTime &srcTime, const GEnergy &obsEng, const GTime &obsTime, const GObservation &obs) const
Return spatial integral of point source model.
Class that handles energies in a unit independent way.
GCTAPsf * m_psf
Point spread function.