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