133 int iphigeo = int(phirat);
134 double eps = phirat - iphigeo - 0.5;
140 double intensity =
m_drx(skyDir);
154 iaq = (1.0 + eps) *
m_iaq[i] - eps *
m_iaq[i-1];
157 iaq = (1.0 - eps) *
m_iaq[i] + eps *
m_iaq[i+1];
162 iaq = (1.0 - eps) *
m_iaq[i] + eps *
m_iaq[i+1];
165 iaq = (1.0 + eps) *
m_iaq[i] - eps *
m_iaq[i-1];
171 m_irfs[iphibar] = intensity * iaq;
254 int iphigeo = int(phirat);
255 double eps = phirat - iphigeo - 0.5;
267 if (intensity > 0.0) {
270 intensity *=
m_drx(skyDir);
284 iaq = (1.0 + eps) *
m_iaq[i] - eps *
m_iaq[i-1];
287 iaq = (1.0 - eps) *
m_iaq[i] + eps *
m_iaq[i+1];
292 iaq = (1.0 - eps) *
m_iaq[i] + eps *
m_iaq[i+1];
295 iaq = (1.0 + eps) *
m_iaq[i] - eps *
m_iaq[i-1];
301 m_irfs[iphibar] = intensity * iaq;
const GModelSpatialRadial & m_model
Radial spatial model.
const int & m_phigeo_bins
Number of phigeo bins.
Kernel for azimuth angle integration of elliptical models.
const int & m_phibar_bins
Number of phibar bins.
virtual double eval(const GPhoton &photon, const bool &gradients=false) const =0
const double & m_phigeo_bin_size
Phigeo bin size.
const double & m_phigeo_bin_size
Phigeo bin size.
const int & m_phibar_bins
Number of phibar bins.
Kernel for azimuth angle integration of radial models.
const GSkyMap & m_drx
DRX.
const double & m_cos_rho
Cosine of Rho.
const GCOMEventBin * m_bin
Event bin.
const GMatrix & m_rot
Rotation matrix.
GVector cos(const GVector &vector)
Computes cosine of vector elements.
const GModelSky & m_model
Sky model.
const double & m_phigeo_bin_size
Phigeo bin size.
const GCOMEventBin * m_bin
Event bin.
GVector eval(const double &omega)
Kernel for azimuthal integration of radial models.
GVector & m_irfs
IRF vector to update.
void fixed_iter(const int &iter)
Set fixed number of iterations.
const GCOMEventBin * m_bin
Event bin.
const int & m_iter
Number of omega iterations.
const int & m_phibar_bins
Number of phibar bins.
virtual const GTime & time(void) const
Return time of event bin.
GVector eval(const double &omega)
Kernel for azimuthal integration of elliptical models.
const GModelSky & m_model
Sky model.
Class that handles photons.
virtual double eval(const double &theta, const GEnergy &energy, const GTime &time, const bool &gradients=false) const =0
const GMatrix & m_rot
Rotation matrix.
const GSkyMap & m_drx
DRX.
const int & m_phigeo_bins
Number of phigeo bins.
const int & m_phibar_bins
Number of phibar bins.
COMPTEL instrument response function class interface definition.
GVector eval(const double &phigeo)
Kernel for radial integration of elliptical models.
const GMatrix & m_rot
Rotation matrix.
void dir(const GSkyDir &dir)
Set event scatter direction.
Integration class for set of functions interface definition.
const std::vector< double > & m_iaq
IAQ vector.
void celvector(const GVector &vector)
Set sky direction from 3D vector in celestial coordinates.
const double & m_cos_rho
Cosine of Rho.
GVector & m_irfs
IRF vector to update.
const double & m_sin_rho
Sine of Rho.
const double & m_phigeo_bin_size
Phigeo bin size.
GVector & m_irfs
IRF vector to update.
GVector & m_irfs
IRF vector to update.
Defintion of COMPTEL helper classes for vector response.
const int & m_iter
Number of omega iterations.
GVector eval(const double &phigeo)
Kernel for radial integration of radial models.
const std::vector< double > & m_iaq
IAQ vector.
const GSkyMap & m_drx
DRX.
virtual const GCOMInstDir & dir(void) const
Return instrument direction of event bin.
GVector sin(const GVector &vector)
Computes sine of vector elements.
GVector romberg(std::vector< double > bounds, const int &order=5)
Perform Romberg integration.
GModelSpatial * spatial(void) const
Return spatial model component.
const int & m_phigeo_bins
Number of phigeo bins.
const std::vector< double > & m_iaq
IAQ vector.
const GCOMEventBin * m_bin
Event bin.
const GMatrix & m_rot
Rotation matrix.
const int & m_phigeo_bins
Number of phigeo bins.
Integration class for set of functions.
const GSkyMap & m_drx
DRX.
Integration class interface definition.
const std::vector< double > & m_iaq
IAQ vector.
virtual const GEnergy & energy(void) const
Return energy of event bin.
const double & m_sin_rho
Sine of Rho.