27 #ifndef GLATRESPONSE_HPP
28 #define GLATRESPONSE_HPP
68 virtual void clear(
void);
70 virtual std::string
classname(
void)
const;
90 const std::string&
rspname(
void)
const;
91 void load(
const std::string& rspname);
92 void save(
const std::string& rspname)
const;
139 return (
"GLATResponse");
177 return (
int)
m_aeff.size();
virtual ~GLATResponse(void)
Destructor.
std::string m_rspname
Name of the instrument response.
virtual GEbounds ebounds(const GEnergy &obsEnergy) const
Return true energy boundaries for a specific observed energy.
int size(void) const
Return number of event types.
const bool & force_mean(void) const
Signal if mean PSF should be used for response computation.
virtual std::string classname(void) const
Return class name.
virtual double irf_spatial(const GEvent &event, const GSource &source, const GObservation &obs) const
Return value of model instrument response function.
virtual bool use_edisp(void) const
Signal if response uses energy dispersion.
Interface for the Fermi LAT energy dispersion.
Abstract interface for the event classes.
GLATPsf * psf(const int &index) const
Return pointer on point spread function.
Fermi/LAT Response class.
void load(const std::string &rspname)
Load Fermi LAT response from calibration database.
std::vector< GLATMeanPsf * > m_ptsrc
Mean PSFs for point sources.
double irf_spatial_bin(const GLATEventBin &event, const GSource &source, const GObservation &obs) const
Return value of model IRF for event bin.
GLATResponse & operator=(const GLATResponse &rsp)
Assignment operator.
virtual double irf_diffuse(const GEvent &event, const GSource &source, const GObservation &obs) const
Return instrument response to diffuse source.
const std::string & rspname(void) const
Return response name.
bool m_force_mean
Use mean PSF in any case.
void init_members(void)
Initialise class members.
virtual void clear(void)
Clear response.
GLATEdisp * edisp(const int &index) const
Return pointer on energy dispersion.
Class that handles photons.
Fermi/LAT event bin class.
Interface for the Fermi LAT point spread function.
Energy boundaries container class.
virtual double irf_ptsrc(const GEvent &event, const GSource &source, const GObservation &obs) const
Return instrument response to point source.
GLATResponse(void)
Void constructor.
void save(const std::string &rspname) const
Save Fermi LAT response in calibration database.
Interface for the Fermi/LAT effective area.
virtual double irf(const GEvent &event, const GPhoton &photon, const GObservation &obs) const
Return value of point source IRF.
Fermi LAT energy dispersion class definition.
void free_members(void)
Delete class members.
Fermi LAT point spread function class definition.
Abstract observation base class.
virtual bool use_tdisp(void) const
Signal if response uses time dispersion.
GLATAeff * aeff(const int &index) const
Return pointer on effective area.
virtual std::string print(const GChatter &chatter=NORMAL) const
Print Fermi-LAT response information.
virtual GLATResponse * clone(void) const
Clone response.
Fermi/LAT mean PSF class definition.
std::vector< GLATAeff * > m_aeff
Effective areas.
Abstract response base class definition.
double irf_spatial_atom(const GLATEventAtom &event, const GSource &source, const GObservation &obs) const
Return value of model IRF for event atom.
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.
Fermi LAT effective area class definition.
Abstract instrument response base class.
Class that handles gamma-ray sources.
std::vector< GLATPsf * > m_psf
Point spread functions.
Fermi/LAT event atom class.
Class that handles energies in a unit independent way.
std::vector< GLATEdisp * > m_edisp
Energy dispersions.
void copy_members(const GLATResponse &rsp)
Copy class members.