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

CTA instrument direction class. More...

#include <GCTAInstDir.hpp>

Inheritance diagram for GCTAInstDir:
GInstDir GBase

Public Member Functions

 GCTAInstDir (void)
 Void constructor. More...
 
 GCTAInstDir (const GSkyDir &dir)
 Sky direction constructor. More...
 
 GCTAInstDir (const double &detx, const double &dety)
 Instrument coordinates constructor. More...
 
 GCTAInstDir (const GSkyDir &dir, const double &detx, const double &dety)
 Instrument direction constructor. More...
 
 GCTAInstDir (const GCTAInstDir &dir)
 Copy constructor. More...
 
virtual ~GCTAInstDir (void)
 Destructor. More...
 
GCTAInstDiroperator= (const GCTAInstDir &dir)
 Assignment operator. More...
 
virtual void clear (void)
 Clear CTA instrument direction. More...
 
virtual GCTAInstDirclone (void) const
 CTA instrument direction. More...
 
virtual std::string classname (void) const
 Return class name. More...
 
virtual std::string print (const GChatter &chatter=NORMAL) const
 Print instrument direction information. More...
 
void dir (const GSkyDir &dir)
 Set sky direction. More...
 
const GSkyDirdir (void) const
 Return reference to sky direction (const version) More...
 
void detx (const double &x)
 Set DETX coordinate (in radians) More...
 
void dety (const double &y)
 Set DETY coordinate (in radians) More...
 
const double & detx (void) const
 Return reference to DETX coordinate (in radians) More...
 
const double & dety (void) const
 Return reference to DETY coordinate (in radians) More...
 
double theta (void) const
 Return offset angle (in radians) More...
 
double phi (void) const
 Return azimuth angle (in radians) More...
 
const bool & has_dir (void) const
 Signal if instrument direction has valid sky direction. More...
 
const bool & has_detx (void) const
 Signal if instrument direction has valid DETX coordinate. More...
 
const bool & has_dety (void) const
 Signal if instrument direction has valid DETY coordinate. More...
 
- Public Member Functions inherited from GInstDir
 GInstDir (void)
 Void constructor. More...
 
 GInstDir (const GInstDir &dir)
 Copy constructor. More...
 
virtual ~GInstDir (void)
 Destructor. More...
 
virtual GInstDiroperator= (const GInstDir &dir)
 Assignment operator. More...
 
- Public Member Functions inherited from GBase
virtual ~GBase (void)
 Destructor. More...
 

Protected Member Functions

void init_members (void)
 Initialise class members. More...
 
void copy_members (const GCTAInstDir &dir)
 Copy class members. More...
 
void free_members (void)
 Delete class members. More...
 
- Protected Member Functions inherited from GInstDir
void init_members (void)
 Initialise class members. More...
 
void copy_members (const GInstDir &dir)
 Copy class members. More...
 
void free_members (void)
 Delete class members. More...
 

Protected Attributes

GSkyDir m_dir
 Observed incident direction of event. More...
 
double m_detx
 Instrument coordinate X (radians) More...
 
double m_dety
 Instrument coordinate Y (radians) More...
 
bool m_has_dir
 Has valid incident direction. More...
 
bool m_has_detx
 Has valid instrument coordinate X. More...
 
bool m_has_dety
 Has valid instrument coordinate Y. More...
 

Detailed Description

CTA instrument direction class.

The CTA instrument direction defines the measured (or reconstructed) direction of an event. The instrument direction comprises a sky direction and detector coordinates. Not all the information is necessary provided, and the has_dir(), has_detx() and has_dety() methods inform which information is contained in a class instance. Note also that the dir(), detx() and dety() methods will throw an exception in case that no information exists. This assures that only valid information can be accessed.

Definition at line 59 of file GCTAInstDir.hpp.

Constructor & Destructor Documentation

GCTAInstDir::GCTAInstDir ( void  )

Void constructor.

Definition at line 55 of file GCTAInstDir.cpp.

References init_members().

Referenced by clone().

GCTAInstDir::GCTAInstDir ( const GSkyDir dir)
explicit

Sky direction constructor.

Parameters
[in]dirSky direction.

Construct CTA instrument direction from sky direction.

Definition at line 72 of file GCTAInstDir.cpp.

References dir(), and init_members().

GCTAInstDir::GCTAInstDir ( const double &  detx,
const double &  dety 
)

Instrument coordinates constructor.

Parameters
[in]detxInstrument coordinate X (radians).
[in]detyInstrument coordinate Y (radians).

Construct CTA instrument direction from instrument coordinates.

Definition at line 93 of file GCTAInstDir.cpp.

References detx(), dety(), and init_members().

GCTAInstDir::GCTAInstDir ( const GSkyDir dir,
const double &  detx,
const double &  dety 
)

Instrument direction constructor.

Parameters
[in]dirSky direction.
[in]detxInstrument coordinate X (radians).
[in]detyInstrument coordinate Y (radians).

Construct CTA instrument direction from sky direction and instrument coordinates.

Definition at line 117 of file GCTAInstDir.cpp.

References detx(), dety(), dir(), and init_members().

GCTAInstDir::GCTAInstDir ( const GCTAInstDir dir)

Copy constructor.

Parameters
[in]dirCTA instrument direction.

Definition at line 139 of file GCTAInstDir.cpp.

References copy_members(), and init_members().

GCTAInstDir::~GCTAInstDir ( void  )
virtual

Destructor.

Definition at line 155 of file GCTAInstDir.cpp.

References free_members().

Member Function Documentation

std::string GCTAInstDir::classname ( void  ) const
inlinevirtual

Return class name.

Returns
String containing the class name ("GCTAInstDir").

Implements GInstDir.

Definition at line 114 of file GCTAInstDir.hpp.

void GCTAInstDir::clear ( void  )
virtual

Clear CTA instrument direction.

Implements GInstDir.

Definition at line 210 of file GCTAInstDir.cpp.

References GInstDir::free_members(), free_members(), GInstDir::init_members(), and init_members().

Referenced by GCTARoi::init_members(), GCTAEventAtom::init_members(), and GCTAEventBin::init_members().

GCTAInstDir * GCTAInstDir::clone ( void  ) const
virtual

CTA instrument direction.

Returns
Pointer to deep copy of CTA instrument direction.

Implements GInstDir.

Definition at line 230 of file GCTAInstDir.cpp.

References GCTAInstDir().

void GCTAInstDir::copy_members ( const GCTAInstDir dir)
protected

Copy class members.

Parameters
[in]dirCTA instrument direction.

Definition at line 293 of file GCTAInstDir.cpp.

References m_detx, m_dety, m_dir, m_has_detx, m_has_dety, and m_has_dir.

Referenced by GCTAInstDir(), and operator=().

void GCTAInstDir::detx ( const double &  x)
inline
const double & GCTAInstDir::detx ( void  ) const
inline

Return reference to DETX coordinate (in radians)

Returns
Reference to DETX coordinate (in radians).
Exceptions
GException::runtime_errorInstrument coordinate has no valid DETX coordinate

Returns reference DETX coordinate (in radians).

Definition at line 200 of file GCTAInstDir.hpp.

References G_DETX, m_detx, and m_has_detx.

Referenced by GCTAInstDir().

void GCTAInstDir::dety ( const double &  y)
inline
const double & GCTAInstDir::dety ( void  ) const
inline

Return reference to DETY coordinate (in radians)

Returns
Reference to DETY coordinate (in radians).
Exceptions
GException::runtime_errorInstrument coordinate has no valid DETY coordinate

Returns reference DETY coordinate (in radians).

Definition at line 221 of file GCTAInstDir.hpp.

References G_DETY, m_dety, and m_has_dety.

Referenced by GCTAInstDir().

const GSkyDir & GCTAInstDir::dir ( void  ) const
inline

Return reference to sky direction (const version)

Returns
Reference to sky direction.
Exceptions
GException::runtime_errorInstrument coordinate has no valid sky direction

Returns reference to the sky direction.

Definition at line 147 of file GCTAInstDir.hpp.

References G_DIR, m_dir, and m_has_dir.

Referenced by dir(), and GCTAInstDir().

void GCTAInstDir::free_members ( void  )
protected

Delete class members.

Definition at line 311 of file GCTAInstDir.cpp.

Referenced by clear(), operator=(), and ~GCTAInstDir().

const bool & GCTAInstDir::has_detx ( void  ) const
inline

Signal if instrument direction has valid DETX coordinate.

Returns
True of instrument direction has valid DETX coordinate.

Definition at line 302 of file GCTAInstDir.hpp.

References m_has_detx.

const bool & GCTAInstDir::has_dety ( void  ) const
inline

Signal if instrument direction has valid DETY coordinate.

Returns
True of instrument direction has valid DETY coordinate.

Definition at line 314 of file GCTAInstDir.hpp.

References m_has_dety.

const bool & GCTAInstDir::has_dir ( void  ) const
inline

Signal if instrument direction has valid sky direction.

Returns
True of instrument direction has valid sky direction.

Definition at line 290 of file GCTAInstDir.hpp.

References m_has_dir.

Referenced by GCTAEventList::write_ds_keys().

void GCTAInstDir::init_members ( void  )
protected

Initialise class members.

Definition at line 273 of file GCTAInstDir.cpp.

References GSkyDir::clear(), m_detx, m_dety, m_dir, m_has_detx, m_has_dety, and m_has_dir.

Referenced by clear(), GCTAInstDir(), and operator=().

GCTAInstDir & GCTAInstDir::operator= ( const GCTAInstDir dir)

Assignment operator.

Parameters
[in]dirCTA instrument direction.
Returns
CTA instrument direction.

Definition at line 177 of file GCTAInstDir.cpp.

References copy_members(), free_members(), init_members(), and GInstDir::operator=().

double GCTAInstDir::phi ( void  ) const
inline

Return azimuth angle (in radians)

Returns
Azimuth angle (in radians).
Exceptions
GException::runtime_errorInstrument coordinate has no valid DETX or DETY coordinate

Returns the azimuth angle from the camera centre (in radians). The azimuth angle \(\phi\) is computed using

\[\phi = \arctan \left( \frac{{\rm DETY}}{{\rm DETX}} \right)\]

where \({\rm DETX}\) and \({\rm DETY}\) are the detector coordinates. The atan2(DETY,DETX) function is used for the computation.

Definition at line 274 of file GCTAInstDir.hpp.

References gammalib::atan2(), G_PHI, m_detx, m_dety, m_has_detx, and m_has_dety.

Referenced by GCTAModelAeffBackground::eval(), and GCTAModelAeffBackground::npred_roi_kern_phi::eval().

std::string GCTAInstDir::print ( const GChatter chatter = NORMAL) const
virtual

Print instrument direction information.

Parameters
[in]chatterChattiness.
Returns
String containing instrument direction information.

Implements GInstDir.

Definition at line 242 of file GCTAInstDir.cpp.

References GSkyDir::dec_deg(), m_detx, m_dety, m_dir, GSkyDir::ra_deg(), SILENT, and gammalib::str().

Referenced by GCTAModelSpatialMultiplicative::eval(), GCTARoi::print(), and GCTAEventAtom::print().

double GCTAInstDir::theta ( void  ) const
inline

Return offset angle (in radians)

Returns
Offset angle (in radians).
Exceptions
GException::runtime_errorInstrument coordinate has no valid DETX or DETY coordinate

Returns the offset angle from the camera centre (in radians). The offset angle \(\theta\) is computed using

\[\theta = \sqrt{{\rm DETX}^2 + {\rm DETY}^2}\]

where \({\rm DETX}\) and \({\rm DETY}\) are the detector coordinates.

Definition at line 247 of file GCTAInstDir.hpp.

References G_THETA, m_detx, m_dety, m_has_detx, m_has_dety, and sqrt().

Referenced by GCTAModelRadial::eval(), GCTAModelSpatialGaussSpectrum::eval(), GCTAModelAeffBackground::eval(), GCTAModelSpatialLookup::eval(), GCTAModelAeffBackground::npred_roi_kern_phi::eval(), GCTAModelSpatialLookup::fill_buffer(), and GCTABackgroundPerfTable::rate_ebin().

Member Data Documentation

double GCTAInstDir::m_detx
protected

Instrument coordinate X (radians)

Definition at line 100 of file GCTAInstDir.hpp.

Referenced by copy_members(), detx(), init_members(), phi(), print(), and theta().

double GCTAInstDir::m_dety
protected

Instrument coordinate Y (radians)

Definition at line 101 of file GCTAInstDir.hpp.

Referenced by copy_members(), dety(), init_members(), phi(), print(), and theta().

GSkyDir GCTAInstDir::m_dir
protected

Observed incident direction of event.

Definition at line 99 of file GCTAInstDir.hpp.

Referenced by copy_members(), dir(), init_members(), print(), and GCTAEventList::read_events().

bool GCTAInstDir::m_has_detx
protected

Has valid instrument coordinate X.

Definition at line 103 of file GCTAInstDir.hpp.

Referenced by copy_members(), detx(), has_detx(), init_members(), phi(), and theta().

bool GCTAInstDir::m_has_dety
protected

Has valid instrument coordinate Y.

Definition at line 104 of file GCTAInstDir.hpp.

Referenced by copy_members(), dety(), has_dety(), init_members(), phi(), and theta().

bool GCTAInstDir::m_has_dir
protected

Has valid incident direction.

Definition at line 102 of file GCTAInstDir.hpp.

Referenced by copy_members(), dir(), has_dir(), and init_members().


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