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

Private Member Functions

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

Private Attributes

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

Detailed Description

Interface for the Fermi/LAT efficiency factor functor.

Definition at line 41 of file GLATEfficiency.hpp.

Constructor & Destructor Documentation

◆ GLATEfficiency() [1/3]

GLATEfficiency::GLATEfficiency ( void )

Void constructor.

Definition at line 54 of file GLATEfficiency.cpp.

References init_members().

Referenced by clone().

◆ GLATEfficiency() [2/3]

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, m_logEb2, and pars().

◆ GLATEfficiency() [3/3]

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::~GLATEfficiency ( void )
virtual

Destructor.

Definition at line 112 of file GLATEfficiency.cpp.

References free_members().

Member Function Documentation

◆ classname()

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.

◆ clear()

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

◆ clone()

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

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

◆ free_members()

void GLATEfficiency::free_members ( void )
private

Delete class members.

Definition at line 326 of file GLATEfficiency.cpp.

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

◆ init_members()

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(), GLATEfficiency(), GLATEfficiency(), and operator=().

◆ 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.

◆ operator=()

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

◆ pars()

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, m_logEb2, and pars().

Referenced by GLATEfficiency(), pars(), and GLATAeff::write_efficiency().

◆ print()

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

◆ m_a0

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

◆ m_a1

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

◆ m_a2

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

◆ m_b0

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

◆ m_b1

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

◆ m_b2

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

◆ m_logEb1

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

◆ m_logEb2

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: