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

Interface for the Fermi/LAT efficiency factor functor. More...

#include <GLATEfficiency.hpp>

Inheritance diagram for GLATEfficiency:
GBase

Public Member Functions

 GLATEfficiency (void)
 Void constructor. More...
 
 GLATEfficiency (const std::vector< double > &pars)
 Assignment constructor. More...
 
 GLATEfficiency (const GLATEfficiency &eff)
 Copy constructor. More...
 
virtual ~GLATEfficiency (void)
 Destructor. More...
 
GLATEfficiencyoperator= (const GLATEfficiency &eff)
 Assignment operator. More...
 
double operator() (const double &logE) const
 Functor operator. More...
 
void clear (void)
 Clear efficiency factor functor. More...
 
GLATEfficiencyclone (void) const
 Clone efficiency factor functor. More...
 
std::string classname (void) const
 Return class name. More...
 
std::vector< double > pars (void) const
 Return efficiency parameters. More...
 
std::string print (const GChatter &chatter=NORMAL) const
 Print efficiency factors. More...
 
- Public Member Functions inherited from GBase
virtual ~GBase (void)
 Destructor. More...
 

Private Member Functions

void init_members (void)
 Initialise class members. More...
 
void copy_members (const GLATEfficiency &eff)
 Copy class members. More...
 
void free_members (void)
 Delete class members. More...
 

Private Attributes

double m_a0
 Energy domain 1 scale. More...
 
double m_a1
 Energy domain 2 scale. More...
 
double m_a2
 Energy domain 3 scale. More...
 
double m_b0
 Energy domain 1 offset. More...
 
double m_b1
 Energy domain 2 offset. More...
 
double m_b2
 Energy domain 3 offset. More...
 
double m_logEb1
 Separation of energy domains 1/2. More...
 
double m_logEb2
 Separation of energy domains 2/3. More...
 

Detailed Description

Interface for the Fermi/LAT efficiency factor functor.

Definition at line 41 of file GLATEfficiency.hpp.

Constructor & Destructor Documentation

GLATEfficiency::GLATEfficiency ( void  )

Void constructor.

Definition at line 54 of file GLATEfficiency.cpp.

References init_members().

Referenced by clone().

GLATEfficiency::GLATEfficiency ( const std::vector< double > &  pars)
explicit

Assignment constructor.

Parameters
[in]parsEfficiency factor parameters.

Definition at line 69 of file GLATEfficiency.cpp.

References init_members(), m_a0, m_a1, m_a2, m_b0, m_b1, m_b2, m_logEb1, and m_logEb2.

GLATEfficiency::GLATEfficiency ( const GLATEfficiency eff)

Copy constructor.

Parameters
[in]effEfficiency factor functor.

Definition at line 96 of file GLATEfficiency.cpp.

References copy_members(), and init_members().

GLATEfficiency::~GLATEfficiency ( void  )
virtual

Destructor.

Definition at line 112 of file GLATEfficiency.cpp.

References free_members().

Member Function Documentation

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

Return class name.

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

Implements GBase.

Definition at line 85 of file GLATEfficiency.hpp.

void GLATEfficiency::clear ( void  )
virtual

Clear efficiency factor functor.

This method properly resets the object to an initial state.

Implements GBase.

Definition at line 192 of file GLATEfficiency.cpp.

References free_members(), and init_members().

GLATEfficiency * GLATEfficiency::clone ( void  ) const
virtual

Clone efficiency factor functor.

Returns
Pointer to deep copy of efficiency factor functor.

Implements GBase.

Definition at line 210 of file GLATEfficiency.cpp.

References GLATEfficiency().

Referenced by GLATAeff::copy_members().

void GLATEfficiency::copy_members ( const GLATEfficiency eff)
private

Copy class members.

Parameters
[in]effEfficiency factor functor.

Definition at line 306 of file GLATEfficiency.cpp.

References m_a0, m_a1, m_a2, m_b0, m_b1, m_b2, m_logEb1, and m_logEb2.

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

void GLATEfficiency::free_members ( void  )
private

Delete class members.

Definition at line 326 of file GLATEfficiency.cpp.

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

void GLATEfficiency::init_members ( void  )
private

Initialise class members.

Definition at line 284 of file GLATEfficiency.cpp.

References m_a0, m_a1, m_a2, m_b0, m_b1, m_b2, m_logEb1, and m_logEb2.

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

double GLATEfficiency::operator() ( const double &  logE) const

Functor operator.

Parameters
[in]logElog10 of energy (MeV).

Definition at line 160 of file GLATEfficiency.cpp.

References m_a0, m_a1, m_a2, m_b0, m_b1, m_b2, m_logEb1, and m_logEb2.

GLATEfficiency & GLATEfficiency::operator= ( const GLATEfficiency eff)

Assignment operator.

Parameters
[in]effEfficiency factor functor.
Returns
Efficiency factor functor.

Definition at line 134 of file GLATEfficiency.cpp.

References copy_members(), free_members(), and init_members().

std::vector< double > GLATEfficiency::pars ( void  ) const

Return efficiency parameters.

Returns
Vector of efficiency parameters.

Returns a vector with 6 elements containing the efficiency parameters.

Definition at line 223 of file GLATEfficiency.cpp.

References m_a0, m_a1, m_a2, m_b0, m_logEb1, and m_logEb2.

Referenced by GLATAeff::write_efficiency().

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

Print efficiency factors.

Parameters
[in]chatterChattiness.
Returns
String containing efficiency factors information.

Implements GBase.

Definition at line 247 of file GLATEfficiency.cpp.

References m_a0, m_a1, m_a2, m_b0, m_b1, m_b2, m_logEb1, m_logEb2, gammalib::parformat(), SILENT, and gammalib::str().

Member Data Documentation

double GLATEfficiency::m_a0
private

Energy domain 1 scale.

Definition at line 68 of file GLATEfficiency.hpp.

Referenced by copy_members(), GLATEfficiency(), init_members(), operator()(), pars(), and print().

double GLATEfficiency::m_a1
private

Energy domain 2 scale.

Definition at line 69 of file GLATEfficiency.hpp.

Referenced by copy_members(), GLATEfficiency(), init_members(), operator()(), pars(), and print().

double GLATEfficiency::m_a2
private

Energy domain 3 scale.

Definition at line 70 of file GLATEfficiency.hpp.

Referenced by copy_members(), GLATEfficiency(), init_members(), operator()(), pars(), and print().

double GLATEfficiency::m_b0
private

Energy domain 1 offset.

Definition at line 71 of file GLATEfficiency.hpp.

Referenced by copy_members(), GLATEfficiency(), init_members(), operator()(), pars(), and print().

double GLATEfficiency::m_b1
private

Energy domain 2 offset.

Definition at line 72 of file GLATEfficiency.hpp.

Referenced by copy_members(), GLATEfficiency(), init_members(), operator()(), and print().

double GLATEfficiency::m_b2
private

Energy domain 3 offset.

Definition at line 73 of file GLATEfficiency.hpp.

Referenced by copy_members(), GLATEfficiency(), init_members(), operator()(), and print().

double GLATEfficiency::m_logEb1
private

Separation of energy domains 1/2.

Definition at line 74 of file GLATEfficiency.hpp.

Referenced by copy_members(), GLATEfficiency(), init_members(), operator()(), pars(), and print().

double GLATEfficiency::m_logEb2
private

Separation of energy domains 2/3.

Definition at line 75 of file GLATEfficiency.hpp.

Referenced by copy_members(), GLATEfficiency(), init_members(), operator()(), pars(), and print().


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