GammaLib 2.0.0
Loading...
Searching...
No Matches
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.
 
- Public Member Functions inherited from GFunction
 GFunction (void)
 Void constructor.
 
 GFunction (const GFunction &function)
 Copy constructor.
 
virtual ~GFunction (void)
 Destructor.
 
GFunctionoperator= (const GFunction &function)
 Assignment operator.
 

Protected Attributes

const GCTAResponseIrfm_rsp
 CTA response.
 
const GCTAObservationm_obs
 CTA observation.
 
const GModelSpatialm_model
 Spatial model.
 
const GMatrixm_rot
 Rotation matrix.
 
GEnergy m_srcEng
 True photon energy.
 
GTime m_srcTime
 True photon arrival time.
 
GEnergy m_obsEng
 Observed photon energy.
 
GTime m_obsTime
 Observed photon arrival time.
 
double m_theta
 Offset angle (radians)
 
double m_cos_theta
 Cosine of offset angle.
 
double m_sin_theta
 Sine of offset angle.
 

Additional Inherited Members

- Protected Member Functions inherited from GFunction
void init_members (void)
 Initialise class members.
 
void copy_members (const GFunction &function)
 Copy class members.
 
void free_members (void)
 Delete class members.
 

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::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

◆ eval()

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(), 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, and GCTAResponseIrf::nirf().

Member Data Documentation

◆ m_cos_theta

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

◆ m_model

const GModelSpatial* cta_nroi_diffuse_kern_phi::m_model
protected

Spatial model.

Definition at line 1013 of file GCTAResponse_helpers.hpp.

Referenced by eval().

◆ m_obs

const GCTAObservation* cta_nroi_diffuse_kern_phi::m_obs
protected

CTA observation.

Definition at line 1012 of file GCTAResponse_helpers.hpp.

Referenced by eval().

◆ m_obsEng

GEnergy cta_nroi_diffuse_kern_phi::m_obsEng
protected

Observed photon energy.

Definition at line 1017 of file GCTAResponse_helpers.hpp.

Referenced by eval().

◆ m_obsTime

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

◆ m_rot

const GMatrix* cta_nroi_diffuse_kern_phi::m_rot
protected

Rotation matrix.

Definition at line 1014 of file GCTAResponse_helpers.hpp.

Referenced by eval().

◆ m_rsp

const GCTAResponseIrf* cta_nroi_diffuse_kern_phi::m_rsp
protected

CTA response.

Definition at line 1011 of file GCTAResponse_helpers.hpp.

Referenced by eval().

◆ m_sin_theta

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

◆ m_srcEng

GEnergy cta_nroi_diffuse_kern_phi::m_srcEng
protected

True photon energy.

Definition at line 1015 of file GCTAResponse_helpers.hpp.

Referenced by eval().

◆ m_srcTime

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

◆ m_theta

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: