Belle II Software development
TOPNominalQE Class Reference

Nominal quantum efficiency of PMT. More...

#include <TOPNominalQE.h>

Inheritance diagram for TOPNominalQE:
TOPGeoBase

Public Member Functions

 TOPNominalQE ()
 Default constructor.
 
 TOPNominalQE (float lambdaFirst, float lambdaStep, float CE, const std::vector< float > &qe, const std::string &name="TOPNominalQE")
 Full constructor.
 
void set (float lambdaFirst, float lambdaStep, float CE, const std::vector< float > &qe, const std::string &name)
 Sets the object.
 
void applyFilterTransmission (const TOPWavelengthFilter &filter)
 Multiplies quantum efficiency data points with filter transmission.
 
void clear ()
 Clears the object.
 
bool isEmpty () const
 Checks the status.
 
const std::vector< float > & getQE () const
 Returns quantum efficiency data points.
 
double getQE (double lambda) const
 Returns quantum efficiency at given photon wavelength using linear interpolation.
 
double getEfficiency (double lambda) const
 Returns quantum times collection efficiency at given photon wavelength using linear interpolation.
 
double getLambdaFirst () const
 Returns wavelenght of the first data point.
 
double getLambdaLast () const
 Returns wavelenght of the last data point.
 
double getLambdaStep () const
 Returns wavelenght step.
 
double getMinLambda () const
 Returns wavelength of the first nonzero QE data point.
 
double getMaxLambda () const
 Returns wavelength of the last nonzero QE data point.
 
double getCE () const
 Returns collection efficiency.
 
bool isConsistent () const override
 Check for consistency of data members.
 
void print (const std::string &title="Nominal quantum efficiency") const override
 Print the content of the class.
 
void setName (const std::string &name)
 Sets object name.
 
const std::string & getName () const
 Returns object name.
 
virtual void printSurface (const GeoOpticalSurface &surface) const
 Print the content of optical surface.
 
double getReflectivity (const GeoOpticalSurface &surface, double energy) const
 Returns reflectivity of optical surface at given photon energy.
 

Protected Member Functions

void printUnderlined (const std::string &title) const
 Print the content of the class.
 
 ClassDef (TOPGeoBase, 1)
 ClassDef.
 

Protected Attributes

std::string m_name
 geometry object name
 

Static Protected Attributes

static double s_unit = Unit::cm
 conversion unit for length
 
static std::string s_unitName
 conversion unit name
 

Private Member Functions

 ClassDefOverride (TOPNominalQE, 1)
 ClassDef.
 

Private Attributes

float m_lambdaFirst = 0
 wavelength of the first data point [nm]
 
float m_lambdaStep = 0
 wavelength step [nm]
 
float m_CE = 0
 collection efficiency
 
std::vector< float > m_QE
 QE data points.
 

Detailed Description

Nominal quantum efficiency of PMT.

Definition at line 24 of file TOPNominalQE.h.

Constructor & Destructor Documentation

◆ TOPNominalQE() [1/2]

TOPNominalQE ( )
inline

Default constructor.

Definition at line 30 of file TOPNominalQE.h.

31 {}

◆ TOPNominalQE() [2/2]

TOPNominalQE ( float  lambdaFirst,
float  lambdaStep,
float  CE,
const std::vector< float > &  qe,
const std::string &  name = "TOPNominalQE" 
)
inline

Full constructor.

Parameters
lambdaFirstwavelenght of the first data point [nm]
lambdaStepwavelength step [nm]
CEcollection efficiency
qequantum efficiency data points
nameobject name

Definition at line 41 of file TOPNominalQE.h.

43 : TOPGeoBase(name),
44 m_lambdaFirst(lambdaFirst), m_lambdaStep(lambdaStep), m_CE(CE), m_QE(qe)
45 {}
TOPGeoBase()
Default constructor.
Definition: TOPGeoBase.h:31
std::vector< float > m_QE
QE data points.
Definition: TOPNominalQE.h:168
float m_lambdaStep
wavelength step [nm]
Definition: TOPNominalQE.h:166
float m_lambdaFirst
wavelength of the first data point [nm]
Definition: TOPNominalQE.h:165
float m_CE
collection efficiency
Definition: TOPNominalQE.h:167

Member Function Documentation

◆ clear()

void clear ( )
inline

Clears the object.

Definition at line 75 of file TOPNominalQE.h.

76 {
77 m_lambdaFirst = 0;
78 m_lambdaStep = 0;
79 m_CE = 0;
80 m_QE.clear();
81 setName("");
82 }
void setName(const std::string &name)
Sets object name.
Definition: TOPGeoBase.h:45

◆ getCE()

double getCE ( ) const
inline

Returns collection efficiency.

Returns
collection efficiency

Definition at line 148 of file TOPNominalQE.h.

148{return m_CE;}

◆ getEfficiency()

double getEfficiency ( double  lambda) const
inline

Returns quantum times collection efficiency at given photon wavelength using linear interpolation.

Parameters
lambdaphoton wavelength in [nm]
Returns
quantum efficiency

Definition at line 109 of file TOPNominalQE.h.

109{return getQE(lambda) * m_CE;}
const std::vector< float > & getQE() const
Returns quantum efficiency data points.
Definition: TOPNominalQE.h:94

◆ getLambdaFirst()

double getLambdaFirst ( ) const
inline

Returns wavelenght of the first data point.

Returns
wavelength in [nm]

Definition at line 115 of file TOPNominalQE.h.

115{return m_lambdaFirst;}

◆ getLambdaLast()

double getLambdaLast ( ) const
inline

Returns wavelenght of the last data point.

Returns
wavelength in [nm]

Definition at line 121 of file TOPNominalQE.h.

122 {
123 return m_lambdaFirst + (m_QE.size() - 1) * m_lambdaStep;
124 }

◆ getLambdaStep()

double getLambdaStep ( ) const
inline

Returns wavelenght step.

Returns
wavelength step in [nm]

Definition at line 130 of file TOPNominalQE.h.

130{return m_lambdaStep;}

◆ getName()

const std::string & getName ( ) const
inlineinherited

Returns object name.

Returns
object name

Definition at line 51 of file TOPGeoBase.h.

51{return m_name;}
std::string m_name
geometry object name
Definition: TOPGeoBase.h:89

◆ getQE()

const std::vector< float > & getQE ( ) const
inline

Returns quantum efficiency data points.

Returns
quantum efficiency data points

Definition at line 94 of file TOPNominalQE.h.

94{return m_QE;}

◆ isEmpty()

bool isEmpty ( ) const
inline

Checks the status.

Returns
true if QE data points are empty

Definition at line 88 of file TOPNominalQE.h.

88{return m_QE.empty();}

◆ set()

void set ( float  lambdaFirst,
float  lambdaStep,
float  CE,
const std::vector< float > &  qe,
const std::string &  name 
)
inline

Sets the object.

Parameters
lambdaFirstwavelenght of the first data point [nm]
lambdaStepwavelength step [nm]
CEcollection efficiency
qequantum efficiency data points
nameobject name

Definition at line 55 of file TOPNominalQE.h.

58 {
59 m_lambdaFirst = lambdaFirst;
60 m_lambdaStep = lambdaStep;
61 m_CE = CE;
62 m_QE = qe;
63 setName(name);
64 }

◆ setName()

void setName ( const std::string &  name)
inlineinherited

Sets object name.

Parameters
nameobject name

Definition at line 45 of file TOPGeoBase.h.

45{m_name = name;}

Member Data Documentation

◆ m_CE

float m_CE = 0
private

collection efficiency

Definition at line 167 of file TOPNominalQE.h.

◆ m_lambdaFirst

float m_lambdaFirst = 0
private

wavelength of the first data point [nm]

Definition at line 165 of file TOPNominalQE.h.

◆ m_lambdaStep

float m_lambdaStep = 0
private

wavelength step [nm]

Definition at line 166 of file TOPNominalQE.h.

◆ m_name

std::string m_name
protectedinherited

geometry object name

Definition at line 89 of file TOPGeoBase.h.

◆ m_QE

std::vector<float> m_QE
private

QE data points.

Definition at line 168 of file TOPNominalQE.h.


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