GammaLib  2.1.0.dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
cta_irf_elliptical_kern_rho Class Reference

Kernel for elliptical model zenith angle integration of IRF. More...

#include <GCTAResponse_helpers.hpp>

Inheritance diagram for cta_irf_elliptical_kern_rho:
GFunction

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...
 
GFunctionoperator= (const GFunction &function)
 Assignment operator. More...
 

Public Attributes

const GCTAResponseIrfm_rsp
 CTA response. More...
 
const GModelSpatialEllipticalm_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...
 

Detailed Description

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

  • \(S_{\rm p}(\rho, \omega | E, t)\) is the elliptical model,
  • \(IRF(\rho, \omega)\) is the IRF
  • \(\rho\) is the distance from the model centre, and
  • \(\omega\) is the azimuth angle is the position angle with respect to the connecting line between the model centre and the observed photon arrival direction.

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.

Constructor & Destructor Documentation

cta_irf_elliptical_kern_rho::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 
)
inline

Definition at line 459 of file GCTAResponse_helpers.hpp.

Member Function Documentation

double cta_irf_elliptical_kern_rho::eval ( const double &  rho)
virtual

Kernel for elliptical model integration over model's zenith angle.

Parameters
[in]rhoRadial distance from model centre [radians].
Returns
Radial IRF integration kernel.

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().

Member Data Documentation

double cta_irf_elliptical_kern_rho::m_azimuth

Azimuth angle.

Definition at line 504 of file GCTAResponse_helpers.hpp.

Referenced by eval().

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

Cosine of m_rho_obs.

Definition at line 509 of file GCTAResponse_helpers.hpp.

Referenced by eval().

double cta_irf_elliptical_kern_rho::m_cos_rho_pnt

Cosine of m_rho_pnt.

Definition at line 513 of file GCTAResponse_helpers.hpp.

Referenced by eval().

double cta_irf_elliptical_kern_rho::m_delta_max

Maximum PSF radius.

Definition at line 516 of file GCTAResponse_helpers.hpp.

Referenced by eval().

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

Elliptical model.

Definition at line 499 of file GCTAResponse_helpers.hpp.

Referenced by eval().

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

CTA response.

Definition at line 498 of file GCTAResponse_helpers.hpp.

Referenced by eval().

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

Sine of m_rho_obs.

Definition at line 510 of file GCTAResponse_helpers.hpp.

Referenced by eval().

double cta_irf_elliptical_kern_rho::m_sin_rho_pnt

Sine of m_rho_pnt.

Definition at line 514 of file GCTAResponse_helpers.hpp.

Referenced by eval().

GEnergy cta_irf_elliptical_kern_rho::m_srcEng

True photon energy.

Definition at line 505 of file GCTAResponse_helpers.hpp.

Referenced by eval().

GTime cta_irf_elliptical_kern_rho::m_srcTime

True photon time.

Definition at line 506 of file GCTAResponse_helpers.hpp.

Referenced by eval().

double cta_irf_elliptical_kern_rho::m_zenith

Zenith angle.

Definition at line 503 of file GCTAResponse_helpers.hpp.

Referenced by eval().


The documentation for this class was generated from the following files: