GammaLib
2.0.0
|
Kernel for elliptical model zenith angle integration of IRF. More...
#include <GCTAResponse_helpers.hpp>
Public Member Functions | |
cta_irf_elliptical_kern_rho (const GCTAResponseIrf *rsp, const GModelSpatialElliptical *model, const double &semimajor, const double &semiminor, const double &posangle, const double &zenith, const double &azimuth, const GEnergy &srcEng, const GTime &srcTime, const GEnergy &obsEng, const double &rho_obs, const double &posangle_obs, const double &rho_pnt, const double &omega_pnt, const double &delta_max, const int &iter) | |
double | eval (const double &rho) |
Kernel for elliptical model integration over model's zenith angle. More... | |
Public Member Functions inherited from GFunction | |
GFunction (void) | |
Void constructor. More... | |
GFunction (const GFunction &function) | |
Copy constructor. More... | |
virtual | ~GFunction (void) |
Destructor. More... | |
GFunction & | operator= (const GFunction &function) |
Assignment operator. More... | |
Public Attributes | |
const GCTAResponseIrf * | m_rsp |
CTA response. More... | |
const GModelSpatialElliptical * | m_model |
Elliptical model. More... | |
double | m_semimajor |
Ellipse boundary semimajor axis. More... | |
double | m_semiminor |
Ellipse boundary semiminor axis. More... | |
double | m_posangle |
Ellipse boundary position angle. More... | |
double | m_zenith |
Zenith angle. More... | |
double | m_azimuth |
Azimuth angle. More... | |
GEnergy | m_srcEng |
True photon energy. More... | |
GTime | m_srcTime |
True photon time. More... | |
GEnergy | m_obsEng |
Measured event energy. More... | |
double | m_rho_obs |
Distance of model centre from measured photon. More... | |
double | m_cos_rho_obs |
Cosine of m_rho_obs. More... | |
double | m_sin_rho_obs |
Sine of m_rho_obs. More... | |
double | m_posangle_obs |
Photon position angle measured from model centre. More... | |
double | m_rho_pnt |
Distance of model centre from pointing. More... | |
double | m_cos_rho_pnt |
Cosine of m_rho_pnt. More... | |
double | m_sin_rho_pnt |
Sine of m_rho_pnt. More... | |
double | m_omega_pnt |
Azimuth of pointing in model system. More... | |
double | m_delta_max |
Maximum PSF radius. More... | |
double | m_cos_delta_max |
Cosine of maximum PSF radius. More... | |
int | m_iter |
Integration iterations. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from GFunction | |
void | init_members (void) |
Initialise class members. More... | |
void | copy_members (const GFunction &function) |
Copy class members. More... | |
void | free_members (void) |
Delete class members. More... | |
Kernel for elliptical model zenith angle integration of IRF.
Kernel for elliptical model zenith angle integration.
This class implements the integration kernel \(K(\rho)\) for the integration
\[ \int_{\rho_{\rm min}}^{\rho_{\rm max}} K(\rho | E, t) d\rho \]
of elliptical spatial models. The eval() method computes
\[ K(\rho | E, t) = \sin \rho \times \int_{\omega_{\rm min}}^{\omega_{\rm max}} S_{\rm p}(\rho, \omega | E, t) \, IRF(\rho, \omega) d\omega \]
where
This class implements the integration kernel \(K(\rho)\) for the integration
\[ \int_{\rho_{\rm min}}^{\rho_{\rm max}} K(\rho | E, t) d\rho \]
of elliptical spatial models. The eval() method computes
\[ K(\rho | E, t) = \sin \rho \times \int_{\omega} S_{\rm p}(\rho, \omega | E, t) \, PSF(\rho, \omega) d\omega \]
where \(S_{\rm p}(\rho, \omega | E, t)\) is the elliptical model, \(PSF(\rho, \omega)\) is the point spread function, \(\rho\) is the distance from the model centre, and \(\omega\) is the position angle with respect to the connecting line between the model centre and the observed photon arrival direction.
Definition at line 457 of file GCTAResponse_helpers.hpp.
|
inline |
Definition at line 459 of file GCTAResponse_helpers.hpp.
|
virtual |
Kernel for elliptical model integration over model's zenith angle.
[in] | rho | Radial distance from model centre [radians]. |
Computes
\[ K(\rho | E, t) = \sin \rho \times \int_{\omega_{\rm min}}^{\omega_{\rm max}} S_{\rm p}(\rho, \omega | E, t) \, IRF(\rho, \omega) d\omega \]
where \(\omega\) is the azimuth angle with respect to the model centre, counted counterclockwise from the vector connecting the model centre to the observed photon direction, and \(\rho\) is the radial distance from the model centre. \(S_{\rm p}(\rho, \omega | E, t)\) is the elliptical source model for a given true photon energy and photon arrival time, \(IRF(\rho, \omega)\) is the instrument response function.
The method performs the required coordinate transformations from the model system, spanned by \((\rho, \omega)\), to the system needed for IRF computations. Furthermore, the method limits the integration range to area where the ellipse intersects the IRF.
Implements GFunction.
Definition at line 710 of file GCTAResponse_helpers.cpp.
References gammalib::acos(), cos(), GIntegral::fixed_iter(), g_ellipse_kludge_radius, gammalib::is_infinite(), gammalib::is_notanumber(), gammalib::limit_omega(), m_azimuth, m_cos_delta_max, m_cos_rho_obs, m_cos_rho_pnt, m_delta_max, m_iter, m_model, m_obsEng, m_omega_pnt, m_posangle, m_posangle_obs, m_rho_obs, m_rsp, m_semimajor, m_semiminor, m_sin_rho_obs, m_sin_rho_pnt, m_srcEng, m_srcTime, m_zenith, max(), min(), gammalib::pi, gammalib::roi_arclength(), GIntegral::romberg(), sin(), and sqrt().
double cta_irf_elliptical_kern_rho::m_azimuth |
double cta_irf_elliptical_kern_rho::m_cos_delta_max |
Cosine of maximum PSF radius.
Definition at line 517 of file GCTAResponse_helpers.hpp.
Referenced by eval().
double cta_irf_elliptical_kern_rho::m_cos_rho_obs |
double cta_irf_elliptical_kern_rho::m_cos_rho_pnt |
double cta_irf_elliptical_kern_rho::m_delta_max |
int cta_irf_elliptical_kern_rho::m_iter |
Integration iterations.
Definition at line 518 of file GCTAResponse_helpers.hpp.
Referenced by eval().
const GModelSpatialElliptical* cta_irf_elliptical_kern_rho::m_model |
GEnergy cta_irf_elliptical_kern_rho::m_obsEng |
Measured event energy.
Definition at line 507 of file GCTAResponse_helpers.hpp.
Referenced by eval().
double cta_irf_elliptical_kern_rho::m_omega_pnt |
Azimuth of pointing in model system.
Definition at line 515 of file GCTAResponse_helpers.hpp.
Referenced by eval().
double cta_irf_elliptical_kern_rho::m_posangle |
Ellipse boundary position angle.
Definition at line 502 of file GCTAResponse_helpers.hpp.
Referenced by eval().
double cta_irf_elliptical_kern_rho::m_posangle_obs |
Photon position angle measured from model centre.
Definition at line 511 of file GCTAResponse_helpers.hpp.
Referenced by eval().
double cta_irf_elliptical_kern_rho::m_rho_obs |
Distance of model centre from measured photon.
Definition at line 508 of file GCTAResponse_helpers.hpp.
Referenced by eval().
double cta_irf_elliptical_kern_rho::m_rho_pnt |
Distance of model centre from pointing.
Definition at line 512 of file GCTAResponse_helpers.hpp.
const GCTAResponseIrf* cta_irf_elliptical_kern_rho::m_rsp |
double cta_irf_elliptical_kern_rho::m_semimajor |
Ellipse boundary semimajor axis.
Definition at line 500 of file GCTAResponse_helpers.hpp.
Referenced by eval().
double cta_irf_elliptical_kern_rho::m_semiminor |
Ellipse boundary semiminor axis.
Definition at line 501 of file GCTAResponse_helpers.hpp.
Referenced by eval().
double cta_irf_elliptical_kern_rho::m_sin_rho_obs |
double cta_irf_elliptical_kern_rho::m_sin_rho_pnt |
GEnergy cta_irf_elliptical_kern_rho::m_srcEng |
GTime cta_irf_elliptical_kern_rho::m_srcTime |
double cta_irf_elliptical_kern_rho::m_zenith |