67 static const GTime time;
82 double sin_rho = std::sin(rho);
83 double cos_rho = std::cos(rho);
123 double sin_omega = std::sin(omega);
124 double cos_omega = std::cos(omega);
137 if (zenith < m_rsp->m_max_zenith) {
147 if (xpix > 0.0 && xpix < m_rsp->m_wcs_xpix_max &&
148 ypix > 0.0 && ypix < m_rsp->m_wcs_ypix_max) {
177 double sin_rho = std::sin(rho);
178 double cos_rho = std::cos(rho);
216 static const GTime time;
222 double sin_omega = std::sin(omega);
223 double cos_omega = std::cos(omega);
236 if (zenith < m_rsp->m_max_zenith) {
246 if (xpix > 0.0 && xpix < m_rsp->m_wcs_xpix_max &&
247 ypix > 0.0 && ypix < m_rsp->m_wcs_ypix_max) {
Integration class for set of functions interface definition.
Generic matrix class definition.
Abstract elliptical spatial model base class interface definition.
Abstract radial spatial model base class interface definition.
INTEGRAL/SPI instrument response function class definition.
Vector class interface definition.
Class that handles energies in a unit independent way.
Integration class for set of functions.
GVector romberg(std::vector< double > bounds, const int &order=5)
Perform Romberg integration.
void fixed_iter(const int &iter)
Set fixed number of iterations.
virtual double eval(const double &theta, const double &posangle, const GEnergy &energy, const GTime &time, const bool &gradients=false) const =0
virtual double eval(const double &theta, const GEnergy &energy, const GTime &time, const bool &gradients=false) const =0
double m_wcs_xbin
X value bin size (radians)
double m_wcs_ymin
Minimum Y value (radians)
double m_wcs_ybin
Y value bin size (radians)
double azimuth(const int &ipt, const GSkyDir &dir) const
Return azimuth angle of sky direction for pointing in radians.
double zenith(const int &ipt, const GSkyDir &dir) const
Return zenith angle of sky direction for pointing in radians.
void irf_vector(const GSPIEventCube *cube, const double &xpix, const double &ypix, const int &ireg, const double *livetimes, GVector *irf) const
Fill vector of INTEGRAL/SPI instrument response for IRF pixel.
double m_wcs_xmin
Minimum X value (radians)
Kernel for azimuth angle integration of elliptical models.
const double & m_cos_rho
Cosine of Rho.
const GModelSpatialElliptical * m_elliptical
Elliptical spatial model.
const GSPIResponse * m_rsp
Pointer to response.
const int & m_ipt
Pointing index.
const double & m_sin_rho
Sine of Rho.
const GMatrix & m_rot
Rotation matrix.
const GSPIEventCube * m_cube
Pointer to event cube.
GVector & m_irfs
IRF vector to update.
const double * m_livetimes
Livetime array.
GVector eval(const double &omega)
Kernel for azimuthal integration of elliptical models.
GVector & m_irfs
IRF vector to update.
const double * m_livetimes
Livetime array.
const GSPIEventCube * m_cube
Pointer to event cube.
const int & m_ipt
Pointing index.
GVector eval(const double &omega)
Kernel for radial integration of elliptical models.
const int & m_iter
Number of azimuthal iterations.
const GMatrix & m_rot
Rotation matrix.
const GModelSpatialElliptical * m_elliptical
Elliptical spatial model.
const GSPIResponse * m_rsp
Pointer to response.
Kernel for azimuth angle integration of radial models.
const double & m_sin_rho
Sine of Rho.
GVector & m_irfs
IRF vector to update.
const double * m_livetimes
Livetime array.
const int & m_ipt
Pointing index.
const GMatrix & m_rot
Rotation matrix.
const GSPIResponse * m_rsp
Pointer to response.
const GSPIEventCube * m_cube
Pointer to event cube.
GVector eval(const double &omega)
Kernel for azimuthal integration of radial models.
const double & m_cos_rho
Cosine of Rho.
const int & m_ipt
Pointing index.
const int & m_iter
Number of azimuthal iterations.
const GSPIEventCube * m_cube
Pointer to event cube.
const double * m_livetimes
Livetime array.
GVector & m_irfs
IRF vector to update.
const GModelSpatialRadial * m_radial
Radial spatial model.
const GSPIResponse * m_rsp
Pointer to response.
GVector eval(const double &omega)
Kernel for radial integration of radial models.
const GMatrix & m_rot
Rotation matrix.
Defintion of SPI helper classes for vector response.