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

Kernel for Nroi azimuth angle integration of diffuse model. More...

#include <GCTAResponse_helpers.hpp>

Inheritance diagram for cta_nroi_diffuse_kern_phi:
GFunction

Public Member Functions

 cta_nroi_diffuse_kern_phi (const GCTAResponseIrf *rsp, const GCTAObservation *obs, const GModelSpatial *model, const GMatrix *rot, const GEnergy &srcEng, const GTime &srcTime, const GEnergy &obsEng, const GTime &obsTime, const double &theta, const double &sin_theta)
 
double eval (const double &phi)
 Kernel for Nroi azimuth angle integration of diffuse model. 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...
 

Protected Attributes

const GCTAResponseIrfm_rsp
 CTA response. More...
 
const GCTAObservationm_obs
 CTA observation. More...
 
const GModelSpatialm_model
 Spatial model. More...
 
const GMatrixm_rot
 Rotation matrix. More...
 
GEnergy m_srcEng
 True photon energy. More...
 
GTime m_srcTime
 True photon arrival time. More...
 
GEnergy m_obsEng
 Observed photon energy. More...
 
GTime m_obsTime
 Observed photon arrival time. More...
 
double m_theta
 Offset angle (radians) More...
 
double m_cos_theta
 Cosine of offset angle. More...
 
double m_sin_theta
 Sine of offset angle. 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 Nroi azimuth angle integration of diffuse model.

This class implements the computation of

\[ S_{\rm p}(\theta, \phi | E, t) \, N_{\rm pred}(\theta, \phi) \]

where

  • \(S_{\rm p}(\theta, \phi | E, t)\) is the diffuse model,
  • \(N_{\rm pred}(\theta, \phi)\) is the data space integral of the Instrument Response Function for a point spread function over the Region Of Interest in the reference frame of the diffuse source model
  • \(\theta\) is the distance from the ROI centre, and
  • \(\phi\) is the azimuth angle.

Definition at line 986 of file GCTAResponse_helpers.hpp.

Constructor & Destructor Documentation

cta_nroi_diffuse_kern_phi::cta_nroi_diffuse_kern_phi ( const GCTAResponseIrf rsp,
const GCTAObservation obs,
const GModelSpatial model,
const GMatrix rot,
const GEnergy srcEng,
const GTime srcTime,
const GEnergy obsEng,
const GTime obsTime,
const double &  theta,
const double &  sin_theta 
)
inline

Definition at line 988 of file GCTAResponse_helpers.hpp.

Member Function Documentation

double cta_nroi_diffuse_kern_phi::eval ( const double &  phi)
virtual

Kernel for Nroi azimuth angle integration of diffuse model.

Parameters
[in]phiAzimuth angle with respect to ROI centre (radians).

Computes

\[ S_{\rm p}(\theta, \phi | E, t) \, N_{\rm pred}(\theta, \phi) \]

Todo:
Re-consider formula for possible simplification (dumb matrix multiplication is definitely not the fastest way to do that computation).

Implements GFunction.

Definition at line 1566 of file GCTAResponse_helpers.cpp.

References GSkyDir::celvector(), cos(), GModelSpatial::eval(), gammalib::is_infinite(), gammalib::is_notanumber(), m_cos_theta, m_model, m_obs, m_obsEng, m_obsTime, m_rot, m_rsp, m_sin_theta, m_srcEng, m_srcTime, GCTAResponseIrf::nirf(), and sin().

Member Data Documentation

double cta_nroi_diffuse_kern_phi::m_cos_theta
protected

Cosine of offset angle.

Definition at line 1020 of file GCTAResponse_helpers.hpp.

Referenced by eval().

const GModelSpatial* cta_nroi_diffuse_kern_phi::m_model
protected

Spatial model.

Definition at line 1013 of file GCTAResponse_helpers.hpp.

Referenced by eval().

const GCTAObservation* cta_nroi_diffuse_kern_phi::m_obs
protected

CTA observation.

Definition at line 1012 of file GCTAResponse_helpers.hpp.

Referenced by eval().

GEnergy cta_nroi_diffuse_kern_phi::m_obsEng
protected

Observed photon energy.

Definition at line 1017 of file GCTAResponse_helpers.hpp.

Referenced by eval().

GTime cta_nroi_diffuse_kern_phi::m_obsTime
protected

Observed photon arrival time.

Definition at line 1018 of file GCTAResponse_helpers.hpp.

Referenced by eval().

const GMatrix* cta_nroi_diffuse_kern_phi::m_rot
protected

Rotation matrix.

Definition at line 1014 of file GCTAResponse_helpers.hpp.

Referenced by eval().

const GCTAResponseIrf* cta_nroi_diffuse_kern_phi::m_rsp
protected

CTA response.

Definition at line 1011 of file GCTAResponse_helpers.hpp.

Referenced by eval().

double cta_nroi_diffuse_kern_phi::m_sin_theta
protected

Sine of offset angle.

Definition at line 1021 of file GCTAResponse_helpers.hpp.

Referenced by eval().

GEnergy cta_nroi_diffuse_kern_phi::m_srcEng
protected

True photon energy.

Definition at line 1015 of file GCTAResponse_helpers.hpp.

Referenced by eval().

GTime cta_nroi_diffuse_kern_phi::m_srcTime
protected

True photon arrival time.

Definition at line 1016 of file GCTAResponse_helpers.hpp.

Referenced by eval().

double cta_nroi_diffuse_kern_phi::m_theta
protected

Offset angle (radians)

Definition at line 1019 of file GCTAResponse_helpers.hpp.


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