27 #ifndef GCTARESPONSECUBE_HPP
28 #define GCTARESPONSECUBE_HPP
47 #if defined(G_CUBE_FAST)
87 virtual void clear(
void);
89 virtual std::string
classname(
void)
const;
94 virtual void apply_edisp(
const bool& apply_edisp)
const;
100 const GTime& obsTime,
128 const double& rho_obs,
131 const GTime& srcTime)
const;
133 const double& rho_obs,
134 const double& posangle_obs,
137 const GTime& srcTime)
const;
141 const GTime& srcTime)
const;
158 GMatrix* gradients = NULL)
const;
163 const GTime& srcTime,
164 const bool& grad)
const;
188 return (
"GCTAResponseCube");
void copy_members(const GCTAResponseCube &rsp)
Copy class members.
double irf_radial(const GEvent &event, const GSource &source, const GObservation &obs) const
Return instrument response to radial source.
GCTACubePsf m_psf
Mean point spread function.
virtual bool use_edisp(void) const
Signal if response uses energy dispersion.
Abstract elliptical spatial model base class.
GCTACubeExposure m_exposure
Exposure cube.
CTA cube analysis point spread function class definition.
const GCTACubeBackground & background(void) const
Return cube analysis background cube.
CTA cube background class.
CTA cube-style response function class.
Abstract interface for the event classes.
std::vector< std::string > m_cache_names
Model names.
double psf_radial(const GModelSpatialRadial *model, const double &rho_obs, const GSkyDir &obsDir, const GEnergy &srcEng, const GTime &srcTime) const
Integrate Psf over radial model.
virtual GCTAResponseCube & operator=(const GCTAResponseCube &rsp)
Assignment operator.
virtual double irf_spatial(const GEvent &event, const GSource &source, const GObservation &obs) const
Return instrument response integrated over the spatial model.
double irf_diffuse(const GEvent &event, const GSource &source, const GObservation &obs) const
Return instrument response to diffuse source.
virtual void write(GXmlElement &xml) const
Write response information into XML element.
virtual std::string print(const GChatter &chatter=NORMAL) const
Print response information.
CTA cube background class definition.
void init_members(void)
Initialise class members.
Class that handles photons.
std::vector< GNdarray > m_cache_values
Cached values.
const GCTACubeExposure & exposure(void) const
Return exposure cube.
virtual std::string classname(void) const
Return class name.
Energy boundaries container class.
virtual ~GCTAResponseCube(void)
Destructor.
const GCTACubePsf & psf(void) const
Return cube analysis point spread function.
N-dimensional array class interface definition.
Abstract CTA cube analysis source base class definition.
GCTACubeBackground m_background
Background cube.
bool m_has_edisp
Flag to indicate if energy.
double psf_elliptical(const GModelSpatialElliptical *model, const double &rho_obs, const double &posangle_obs, const GSkyDir &obsDir, const GEnergy &srcEng, const GTime &srcTime) const
Integrate Psf over elliptical model.
void free_members(void)
Delete class members.
const GCTACubeEdisp & edisp(void) const
Return cube analysis energy dispersion cube.
virtual GCTAResponseCube * clone(void) const
Clone instance.
virtual GEbounds ebounds(const GEnergy &obsEng) const
Return true energy boundaries for a specific observed energy.
CTA energy dispersion for stacked analysis.
virtual void clear(void)
Clear instance.
Abstract observation base class.
double psf_diffuse(const GModelSpatial *model, const GSkyDir &obsDir, const GEnergy &srcEng, const GTime &srcTime) const
Integrate PSF over diffuse model.
CTA response abstract base class definition.
double irf_ptsrc(const GEvent &event, const GSource &source, const GObservation &obs) const
Return instrument response to point source.
CTA instrument response function class.
CTA point spread function for cube analysis.
virtual bool use_tdisp(void) const
Signal if time dispersion will be used.
virtual bool is_valid(void) const
Signal if response is valid.
bool m_apply_edisp
Apply energy dispersion.
GCTACubeEdisp m_edisp
Energy dispersion cube.
virtual void read(const GXmlElement &xml)
Read response information from XML element.
virtual double irf(const GEvent &event, const GPhoton &photon, const GObservation &obs) const
Return instrument response.
CTA instrument direction class.
Abstract spatial model base class.
virtual double irf(const GEvent &event, const GPhoton &photon, const GObservation &obs) const =0
Abstract radial spatial model base class.
GCTAResponseCube(void)
Void constructor.
Generic matrix class definition.
double irf_elliptical(const GEvent &event, const GSource &source, const GObservation &obs) const
Return instrument response to elliptical source.
CTA cube analysis exposure class definition.
virtual bool apply_edisp(void) const
Signal if energy dispersion should be applied.
Class that handles gamma-ray sources.
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.
CTA cube analysis energy disperson class definition.
Class that handles energies in a unit independent way.