108 const bool& grad =
true)
const;
117 GMatrix* gradients = NULL)
const;
128 const GTime& srcTime,
130 const bool& grad)
const;
136 const bool& grad)
const;
157 GMatrix* gradients = NULL)
const;
160 GMatrix* gradients = NULL)
const;
163 GMatrix* gradients = NULL)
const;
166 GMatrix* gradients = NULL)
const;
169 GMatrix* gradients = NULL)
const;
178 const GTime& srcTime,
200 const GTime* srcTime,
210 double eval(
const double& phi);
229 const GTime* srcTime) :
238 double eval(
const double& phi);
257 const GTime* srcTime,
267 double eval(
const double& phi);
287 const GTime* srcTime) :
298 double eval(
const double& phi);
Definition of interface for all GammaLib classes.
Single parameter function abstract base class definition.
Single parameter functions abstract base class definition.
Response cache class definition.
Response vector cache class definition.
Time class interface definition.
GVector cos(const GVector &vector)
Computes cosine of vector elements.
GVector sin(const GVector &vector)
Computes sine of vector elements.
Interface class for all GammaLib classes.
Energy boundaries container class.
Class that handles energies in a unit independent way.
Abstract interface for the event classes.
Single parameter function abstract base class.
Single parameter functions abstract base class.
Sparse matrix class interface definition.
Generic matrix class definition.
Abstract elliptical spatial model base class.
Abstract radial spatial model base class.
Abstract observation base class.
Class that handles photons.
Response vector cache class.
const GEvent * m_event
Event.
const GResponse * m_parent
Response.
std::vector< GModelPar * > m_pars
Parameter pointers.
GVector eval(const double &etrue)
Evaluate energy dispersion integration kernel.
bool m_grad
Gradient flag.
int m_size
Array of values and gradients.
const GModelSky * m_model
Sky model.
edisp_kerns(const GResponse *parent, const GObservation *obs, const GModelSky *model, const GEvent *event, const GTime &srcTime, const bool &grad)
Constructor for energy dispersion integration kernels class.
GTime m_srcTime
True arrival time.
const GObservation * m_obs
Observation.
const GModelSpatialElliptical * m_model
Elliptical model.
const GResponse * m_rsp
Response.
const GTime * m_srcTime
Arrival time.
const GObservation * m_obs
Observation.
double m_cos_theta
cos(theta)
double eval(const double &phi)
Azimuth angle integration kernel for elliptical model.
const GEnergy * m_srcEng
True photon energy.
double m_sin_theta
sin(theta)
const GMatrix * m_rot
Rotation matrix.
const GEvent * m_event
Event.
irf_elliptical_kern_phi(const GResponse *rsp, const GEvent *event, const GObservation *obs, const GModelSpatialElliptical *model, const GMatrix *rot, const double &theta, const GEnergy *srcEng, const GTime *srcTime)
const GEvent * m_event
Event.
const GEnergy * m_srcEng
True photon energy.
const GTime * m_srcTime
Arrival time.
const GMatrix * m_rot
Rotation matrix.
const GModelSpatialElliptical * m_model
Elliptical model.
irf_elliptical_kern_theta(const GResponse *rsp, const GEvent *event, const GObservation *obs, const GModelSpatialElliptical *model, const GMatrix *rot, const GEnergy *srcEng, const GTime *srcTime, int iter_phi)
const GObservation * m_obs
Observation.
double eval(const double &phi)
Zenith angle integration kernel for elliptical model.
const GResponse * m_rsp
Response.
int m_iter_phi
Iterations in phi.
const GTime * m_srcTime
Arrival time.
const GObservation * m_obs
Observation.
const GEnergy * m_srcEng
True photon energy.
const GResponse * m_rsp
Response.
irf_radial_kern_phi(const GResponse *rsp, const GEvent *event, const GObservation *obs, const GMatrix *rot, const double &theta, const GEnergy *srcEng, const GTime *srcTime)
const GEvent * m_event
Event.
double m_cos_theta
cos(theta)
const GMatrix * m_rot
Rotation matrix.
double eval(const double &phi)
Azimuth angle integration kernel for radial model.
double m_sin_theta
sin(theta)
const GEnergy * m_srcEng
True photon energy.
double eval(const double &phi)
Zenith angle integration kernel for radial model.
const GMatrix * m_rot
Rotation matrix.
const GObservation * m_obs
Observation.
const GResponse * m_rsp
Response.
const GModelSpatialRadial * m_model
Radial model.
irf_radial_kern_theta(const GResponse *rsp, const GEvent *event, const GObservation *obs, const GModelSpatialRadial *model, const GMatrix *rot, const GEnergy *srcEng, const GTime *srcTime, int iter_phi)
int m_iter_phi
Iterations in phi.
const GEvent * m_event
Event.
const GTime * m_srcTime
Arrival time.
Abstract instrument response base class.
GResponseCache m_irf_cache
GVector eval_probs(const GModelSky &model, const GObservation &obs, GMatrixSparse *gradients=NULL) const
Convolve sky model with the instrument response.
virtual double irf_spatial(const GEvent &event, const GSource &source, const GObservation &obs) const
Return instrument response integrated over the spatial model.
int m_irf_elliptical_iter_theta
Elliptical model integration theta iterations.
virtual void remove_response_cache(const std::string &name)
Remove response cache for model.
int m_irf_radial_iter_phi
Radial model integration phi iterations.
void copy_members(const GResponse &rsp)
Copy class members.
virtual ~GResponse(void)
Destructor.
virtual double irf_ptsrc(const GEvent &event, const GSource &source, const GObservation &obs) const
Return instrument response to point source.
GResponseCache m_nroi_cache
double eval_prob(const GModelSky &model, const GEvent &event, const GEnergy &srcEng, const GTime &srcTime, const GObservation &obs, const bool &grad) const
Convolve sky model with the instrument response.
virtual double irf(const GEvent &event, const GPhoton &photon, const GObservation &obs) const =0
virtual double nroi(const GModelSky &model, const GEnergy &obsEng, const GTime &obsTime, const GObservation &obs) const =0
GResponse(void)
Void constructor.
virtual double convolve(const GModelSky &model, const GEvent &event, const GObservation &obs, const bool &grad=true) const
Convolve sky model with the instrument response.
virtual std::string classname(void) const =0
Return class name.
virtual void clear(void)=0
Clear object.
virtual GResponse * clone(void) const =0
Clones object.
virtual double irf_radial(const GEvent &event, const GSource &source, const GObservation &obs) const
Return instrument response to radial source.
GEbounds ebounds_model(const GModelSky &model) const
Return true energy intervals for sky model.
int size_edisp_vector(const GModelSky &model, const GObservation &obs, const bool &grad) const
Return size of vector for energy dispersion computation.
int m_irf_elliptical_iter_phi
Elliptical model integration phi iterations.
bool m_use_nroi_cache
Control usage of nroi cache.
virtual GEbounds ebounds(const GEnergy &obsEng) const =0
virtual bool use_tdisp(void) const =0
virtual std::string print(const GChatter &chatter=NORMAL) const =0
Print content of object.
virtual double irf_elliptical(const GEvent &event, const GSource &source, const GObservation &obs) const
Return instrument response to elliptical source.
virtual double irf_diffuse(const GEvent &event, const GSource &source, const GObservation &obs) const
Return instrument response to diffuse source.
virtual bool use_edisp(void) const =0
GResponseVectorCache m_irf_vector_cache
void init_members(void)
Initialise class members.
void free_members(void)
Delete class members.
bool m_use_irf_cache
Control usage of irf cache.
virtual double irf_composite(const GEvent &event, const GSource &source, const GObservation &obs) const
Return instrument response to composite source.
virtual GResponse & operator=(const GResponse &rsp)
Assignment operator.
double m_irf_diffuse_resolution
Angular resolution for diffuse model.
int m_irf_radial_iter_theta
Radial model integration theta iterations.
Class that handles gamma-ray sources.