List of all members | Public Member Functions | Private Member Functions | Private Attributes | Friends
sdet::PMT Class Reference

Detector description interface for PMT-related data. More...

#include <PMT.h>

Public Member Functions

const std::vector< double > & GetChargeProbabilityDistribution () const
 
double GetCollectionEfficiency () const
 Collection efficiency. More...
 
const utl::TabulatedFunctionGetDomeRefractionIndex () const
 Refraction index for the PMT dome. More...
 
double GetEffectiveArea () const
 
const utl::TabulatedFunctionGetFaceRefractionIndex () const
 Refraction index for the PMT face. More...
 
int GetId () const
 return ID of the PMT More...
 
double GetMaxCharge () const
 
double GetMinCharge () const
 
const utl::PointGetPosition () const
 PMT position. More...
 
const utl::TabulatedFunctionGetPulseShape () const
 
const utl::TabulatedFunctionGetQuantumEfficiency () const
 Quantum efficiency. More...
 
const utl::TabulatedFunctionGetRTVRefractionIndex () const
 Refraction index for the interface between PMT face and dome (RTV) More...
 
sdet::PMTConstants::PMTType GetType () const
 
double GetWorkingGain () const
 PMT Working Gain. More...
 
Simulation calibration data for a particular simulation scheme
double GetVEMPeak (const std::string &simulationIdentifier) const
 Get VEM peak for the PMT (for simulations) More...
 
double GetCompatibilityVEMPeak (const std::string &simulationIdentifier) const
 Get VEM peak for the PMT (for simulations) More...
 
double GetNominalVEMPeak () const
 what HV setting tries to target in HG More...
 
double GetVEMCharge (const std::string &simulationIdentifier) const
 Get VEM charge for the PMT (for simulations) More...
 
double GetNominalVEMCharge () const
 Get nominal value for the VEM charge. More...
 
double GetBaseline (const sdet::PMTConstants::PMTGain gain) const
 Get baseline level for the PMT (for simulations) More...
 
double GetBaselineRMS (const sdet::PMTConstants::PMTGain gain) const
 Get baseline noise for the PMT (for simulations) More...
 
double GetGainRatio () const
 Get dynode to anode ratio for the PMT (for simulations) More...
 
double GetGainRatioRMS () const
 Get RMS of dynode anode ration for the PMT (for simulations) More...
 
double GetMultiplier (const sdet::PMTConstants::PMTGain gain) const
 
double GetCurrent2VoltageMultiplier () const
 
double GetVoltage2FADCMultiplier () const
 
double GetHighGainDelay () const
 
double GetTimeOffset () const
 

Private Member Functions

template<typename T >
const T & GetPMTData (T *&data, const std::string &property, const std::string &component, const std::string &errorMsg) const
 
void NotFoundAndThrow (const std::string &msg) const
 
PMToperator= (const PMT &)
 
 PMT (const int PMTId, const int stationId, const int isUUB, const PMTConstants::PMTType ptype=PMTConstants::eWaterCherenkovLarge)
 
 PMT (const PMT &)
 
void Update () const
 
 ~PMT ()
 

Private Attributes

double * fBaselineHG = nullptr
 
double * fBaselineHGRMS = nullptr
 
double * fBaselineLG = nullptr
 
double * fBaselineLGRMS = nullptr
 
std::vector< double > * fChargeProbabilityDistribution = nullptr
 
double * fCollectionEfficiency = nullptr
 
double * fCurrent2VoltageMultiplier = nullptr
 
utl::TabulatedFunctionfDomeRefractionIndex = nullptr
 
double * fEffectiveArea = nullptr
 
utl::TabulatedFunctionfFaceRefractionIndex = nullptr
 
double * fGainRatio = nullptr
 
double * fGainRatioRMS = nullptr
 
double * fHighGainDelay = nullptr
 
det::VManager::IndexMap fIndexMap
 
bool fIsUUB = false
 
double * fMaxCharge = nullptr
 
double * fMinCharge = nullptr
 
double * fMultiplierHG = nullptr
 
double * fMultiplierLG = nullptr
 
int fPMTId = 0
 
utl::PointfPosition = nullptr
 
utl::TabulatedFunctionfPulseShape = nullptr
 
utl::TabulatedFunctionfQuantumEfficiency = nullptr
 
utl::TabulatedFunctionfRTVRefractionIndex = nullptr
 
int fStationId = 0
 
double * fTimeOffset = nullptr
 
const PMTConstants::PMTType fType = PMTConstants::eWaterCherenkovLarge
 
double * fVEMCharge = nullptr
 
double * fVEMPeak = nullptr
 
double * fVoltage2FADCMultiplier = nullptr
 
double * fWorkingGain = nullptr
 

Friends

class Station
 

Detailed Description

Detector description interface for PMT-related data.

Author
T. Paul
Date
4 March 2003

Definition at line 26 of file SDetector/PMT.h.

Constructor & Destructor Documentation

sdet::PMT::PMT ( const int  PMTId,
const int  stationId,
const int  isUUB,
const PMTConstants::PMTType  ptype = PMTConstants::eWaterCherenkovLarge 
)
private
sdet::PMT::~PMT ( )
private

Referenced by PMT().

sdet::PMT::PMT ( const PMT )
private

Member Function Documentation

double sdet::PMT::GetBaseline ( const sdet::PMTConstants::PMTGain  gain) const
double sdet::PMT::GetBaselineRMS ( const sdet::PMTConstants::PMTGain  gain) const
const std::vector<double>& sdet::PMT::GetChargeProbabilityDistribution ( ) const

Referenced by PMT().

double sdet::PMT::GetCollectionEfficiency ( ) const
double sdet::PMT::GetCompatibilityVEMPeak ( const std::string &  simulationIdentifier) const

Get VEM peak for the PMT (for simulations)

Referenced by PMT().

double sdet::PMT::GetCurrent2VoltageMultiplier ( ) const

Referenced by PMT().

const utl::TabulatedFunction& sdet::PMT::GetDomeRefractionIndex ( ) const
double sdet::PMT::GetEffectiveArea ( ) const

Effective area of the PMT photocathode NOTE: We set effective area and not radius because different simulations may use different geometries. For instance, G4 uses a hemipsherical geometry; SDSim used a flat cylinder.

Referenced by PMT().

const utl::TabulatedFunction& sdet::PMT::GetFaceRefractionIndex ( ) const
double sdet::PMT::GetGainRatio ( ) const

Get dynode to anode ratio for the PMT (for simulations)

Referenced by PMT().

double sdet::PMT::GetGainRatioRMS ( ) const

Get RMS of dynode anode ration for the PMT (for simulations)

Referenced by PMT().

double sdet::PMT::GetHighGainDelay ( ) const

Referenced by PMT().

int sdet::PMT::GetId ( ) const
inline

return ID of the PMT

Definition at line 30 of file SDetector/PMT.h.

References fPMTId.

Referenced by SdSimulationCalibratorOG::SdSimulationCalibrator::ProcessStation().

double sdet::PMT::GetMaxCharge ( ) const

Referenced by PMT().

double sdet::PMT::GetMinCharge ( ) const

Referenced by PMT().

double sdet::PMT::GetMultiplier ( const sdet::PMTConstants::PMTGain  gain) const

Referenced by PMT().

double sdet::PMT::GetNominalVEMCharge ( ) const

Get nominal value for the VEM charge.

Referenced by PMT().

double sdet::PMT::GetNominalVEMPeak ( ) const

what HV setting tries to target in HG

Referenced by PMT().

template<typename T >
const T& sdet::PMT::GetPMTData ( T *&  data,
const std::string &  property,
const std::string &  component,
const std::string &  errorMsg 
) const
inlineprivate

Definition at line 173 of file SDetector/PMT.h.

References data, det::VManager::eNotFound, fIndexMap, utl::m, and NotFoundAndThrow().

Referenced by PMT().

const utl::Point& sdet::PMT::GetPosition ( ) const
const utl::TabulatedFunction& sdet::PMT::GetPulseShape ( ) const

Referenced by PMT().

const utl::TabulatedFunction& sdet::PMT::GetQuantumEfficiency ( ) const
const utl::TabulatedFunction& sdet::PMT::GetRTVRefractionIndex ( ) const
double sdet::PMT::GetTimeOffset ( ) const

Referenced by PMT().

sdet::PMTConstants::PMTType sdet::PMT::GetType ( ) const
inline

Definition at line 33 of file SDetector/PMT.h.

References fType.

Referenced by SdSimulationCalibratorOG::SdSimulationCalibrator::ProcessStation().

double sdet::PMT::GetVEMCharge ( const std::string &  simulationIdentifier) const

Get VEM charge for the PMT (for simulations)

Referenced by PMT(), and SdSimulationCalibrationFillerASCII::SdSimulationCalibrationFiller::Run().

double sdet::PMT::GetVEMPeak ( const std::string &  simulationIdentifier) const

Get VEM peak for the PMT (for simulations)

Referenced by PMT(), and SdSimulationCalibrationFillerASCII::SdSimulationCalibrationFiller::Run().

double sdet::PMT::GetVoltage2FADCMultiplier ( ) const

Referenced by PMT().

double sdet::PMT::GetWorkingGain ( ) const

PMT Working Gain.

Referenced by PMT().

void sdet::PMT::NotFoundAndThrow ( const std::string &  msg) const
private

Referenced by GetPMTData(), and PMT().

PMT& sdet::PMT::operator= ( const PMT )
private
void sdet::PMT::Update ( ) const
private

Referenced by PMT().

Friends And Related Function Documentation

friend class Station
friend

Definition at line 164 of file SDetector/PMT.h.

Member Data Documentation

double* sdet::PMT::fBaselineHG = nullptr
mutableprivate

Definition at line 152 of file SDetector/PMT.h.

Referenced by PMT().

double* sdet::PMT::fBaselineHGRMS = nullptr
mutableprivate

Definition at line 154 of file SDetector/PMT.h.

Referenced by PMT().

double* sdet::PMT::fBaselineLG = nullptr
mutableprivate

Definition at line 151 of file SDetector/PMT.h.

Referenced by PMT().

double* sdet::PMT::fBaselineLGRMS = nullptr
mutableprivate

Definition at line 153 of file SDetector/PMT.h.

Referenced by PMT().

std::vector<double>* sdet::PMT::fChargeProbabilityDistribution = nullptr
mutableprivate

Definition at line 142 of file SDetector/PMT.h.

Referenced by PMT().

double* sdet::PMT::fCollectionEfficiency = nullptr
mutableprivate

Definition at line 136 of file SDetector/PMT.h.

Referenced by PMT().

double* sdet::PMT::fCurrent2VoltageMultiplier = nullptr
mutableprivate

Definition at line 159 of file SDetector/PMT.h.

Referenced by PMT().

utl::TabulatedFunction* sdet::PMT::fDomeRefractionIndex = nullptr
mutableprivate

Definition at line 141 of file SDetector/PMT.h.

Referenced by PMT().

double* sdet::PMT::fEffectiveArea = nullptr
mutableprivate

Definition at line 146 of file SDetector/PMT.h.

Referenced by PMT().

utl::TabulatedFunction* sdet::PMT::fFaceRefractionIndex = nullptr
mutableprivate

Definition at line 139 of file SDetector/PMT.h.

Referenced by PMT().

double* sdet::PMT::fGainRatio = nullptr
mutableprivate

Definition at line 155 of file SDetector/PMT.h.

Referenced by PMT().

double* sdet::PMT::fGainRatioRMS = nullptr
mutableprivate

Definition at line 156 of file SDetector/PMT.h.

Referenced by PMT().

double* sdet::PMT::fHighGainDelay = nullptr
mutableprivate

Definition at line 161 of file SDetector/PMT.h.

Referenced by PMT().

det::VManager::IndexMap sdet::PMT::fIndexMap
mutableprivate

Definition at line 166 of file SDetector/PMT.h.

Referenced by GetPMTData(), and PMT().

bool sdet::PMT::fIsUUB = false
private

Definition at line 131 of file SDetector/PMT.h.

Referenced by PMT().

double* sdet::PMT::fMaxCharge = nullptr
mutableprivate

Definition at line 145 of file SDetector/PMT.h.

Referenced by PMT().

double* sdet::PMT::fMinCharge = nullptr
mutableprivate

Definition at line 144 of file SDetector/PMT.h.

Referenced by PMT().

double* sdet::PMT::fMultiplierHG = nullptr
mutableprivate

Definition at line 158 of file SDetector/PMT.h.

Referenced by PMT().

double* sdet::PMT::fMultiplierLG = nullptr
mutableprivate

Definition at line 157 of file SDetector/PMT.h.

Referenced by PMT().

int sdet::PMT::fPMTId = 0
private

Definition at line 129 of file SDetector/PMT.h.

Referenced by GetId().

utl::Point* sdet::PMT::fPosition = nullptr
mutableprivate

Definition at line 138 of file SDetector/PMT.h.

Referenced by PMT().

utl::TabulatedFunction* sdet::PMT::fPulseShape = nullptr
mutableprivate

Definition at line 143 of file SDetector/PMT.h.

Referenced by PMT().

utl::TabulatedFunction* sdet::PMT::fQuantumEfficiency = nullptr
mutableprivate

Definition at line 137 of file SDetector/PMT.h.

Referenced by PMT().

utl::TabulatedFunction* sdet::PMT::fRTVRefractionIndex = nullptr
mutableprivate

Definition at line 140 of file SDetector/PMT.h.

Referenced by PMT().

int sdet::PMT::fStationId = 0
private

Definition at line 130 of file SDetector/PMT.h.

Referenced by PMT().

double* sdet::PMT::fTimeOffset = nullptr
mutableprivate

Definition at line 162 of file SDetector/PMT.h.

Referenced by PMT().

Definition at line 132 of file SDetector/PMT.h.

Referenced by GetType(), and PMT().

double* sdet::PMT::fVEMCharge = nullptr
mutableprivate

Definition at line 149 of file SDetector/PMT.h.

Referenced by PMT().

double* sdet::PMT::fVEMPeak = nullptr
mutableprivate

Definition at line 148 of file SDetector/PMT.h.

Referenced by PMT().

double* sdet::PMT::fVoltage2FADCMultiplier = nullptr
mutableprivate

Definition at line 160 of file SDetector/PMT.h.

Referenced by PMT().

double* sdet::PMT::fWorkingGain = nullptr
mutableprivate

Definition at line 135 of file SDetector/PMT.h.

Referenced by PMT().


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

, generated on Tue Sep 26 2023.