11#include <top/dbobjects/TOPGeoBase.h>
12#include <top/dbobjects/TOPWavelengthFilter.h>
42 const std::vector<float>& qe,
43 const std::string& name =
"TOPNominalQE"):
TOPGeoBase(name),
55 void set(
float lambdaFirst,
float lambdaStep,
float CE,
56 const std::vector<float>& qe,
57 const std::string& name)
94 const std::vector<float>&
getQE()
const {
return m_QE;}
101 double getQE(
double lambda)
const;
160 void print(
const std::string& title =
"Nominal quantum efficiency")
const override;
Base class for geometry parameters.
void setName(const std::string &name)
Sets object name.
Nominal quantum efficiency of PMT.
double getEfficiency(double lambda) const
Returns quantum times collection efficiency at given photon wavelength using linear interpolation.
double getLambdaStep() const
Returns wavelenght step.
TOPNominalQE(float lambdaFirst, float lambdaStep, float CE, const std::vector< float > &qe, const std::string &name="TOPNominalQE")
Full constructor.
std::vector< float > m_QE
QE data points.
const std::vector< float > & getQE() const
Returns quantum efficiency data points.
TOPNominalQE()
Default constructor.
void set(float lambdaFirst, float lambdaStep, float CE, const std::vector< float > &qe, const std::string &name)
Sets the object.
double getCE() const
Returns collection efficiency.
float m_lambdaStep
wavelength step [nm]
ClassDefOverride(TOPNominalQE, 1)
ClassDef.
double getLambdaFirst() const
Returns wavelenght of the first data point.
void clear()
Clears the object.
bool isEmpty() const
Checks the status.
double getLambdaLast() const
Returns wavelenght of the last data point.
float m_lambdaFirst
wavelength of the first data point [nm]
float m_CE
collection efficiency
Bulk transmittance of wavelength filter.
std::map< ExpRun, std::pair< double, double > > filter(const std::map< ExpRun, std::pair< double, double > > &runs, double cut, std::map< ExpRun, std::pair< double, double > > &runsRemoved)
filter events to remove runs shorter than cut, it stores removed runs in runsRemoved
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.
double getMaxLambda() const
Returns wavelength of the last nonzero QE data point.
double getMinLambda() const
Returns wavelength of the first nonzero QE data point.
void applyFilterTransmission(const TOPWavelengthFilter &filter)
Multiplies quantum efficiency data points with filter transmission.
Abstract base class for different kinds of events.