6 #include <utl/TabulatedFunction.h>
8 #include <utl/AugerException.h>
9 #include <det/VManager.h>
10 #include <det/Detector.h>
11 #include <sdet/PMTConstants.h>
80 double GetVEMPeak(
const std::string& simulationIdentifier)
const;
89 double GetVEMCharge(
const std::string& simulationIdentifier)
const;
120 PMT(
const int PMTId,
const int stationId,
const int isUUB,
174 const std::string& property,
175 const std::string& component,
176 const std::string& errorMsg)
181 const auto&
m = det::Detector::GetInstance().GetSManagerRegister();
182 const auto status =
m.GetData(*data, property, component,
fIndexMap);
double GetMaxCharge() const
double GetBaseline(const sdet::PMTConstants::PMTGain gain) const
Get baseline level for the PMT (for simulations)
const T & GetPMTData(T *&data, const std::string &property, const std::string &component, const std::string &errorMsg) const
double GetGainRatioRMS() const
Get RMS of dynode anode ration for the PMT (for simulations)
double GetMultiplier(const sdet::PMTConstants::PMTGain gain) const
double GetNominalVEMPeak() const
what HV setting tries to target in HG
utl::TabulatedFunction * fFaceRefractionIndex
const utl::TabulatedFunction & GetDomeRefractionIndex() const
Refraction index for the PMT dome.
Detector description interface for Station-related data.
const std::vector< double > & GetChargeProbabilityDistribution() const
Detector description interface for PMT-related data.
utl::TabulatedFunction * fPulseShape
utl::TabulatedFunction * fDomeRefractionIndex
PMT & operator=(const PMT &)
Class to hold collection (x,y) points and provide interpolation between them.
double GetTimeOffset() const
double GetNominalVEMCharge() const
Get nominal value for the VEM charge.
double GetHighGainDelay() const
double GetCurrent2VoltageMultiplier() const
int GetId() const
return ID of the PMT
double GetMinCharge() const
double GetCompatibilityVEMPeak(const std::string &simulationIdentifier) const
Get VEM peak for the PMT (for simulations)
sdet::PMTConstants::PMTType GetType() const
const utl::TabulatedFunction & GetPulseShape() const
double GetCollectionEfficiency() const
Collection efficiency.
double GetEffectiveArea() const
const PMTConstants::PMTType fType
PMT(const int PMTId, const int stationId, const int isUUB, const PMTConstants::PMTType ptype=PMTConstants::eWaterCherenkovLarge)
const utl::Point & GetPosition() const
PMT position.
det::VManager::IndexMap fIndexMap
double GetVEMPeak(const std::string &simulationIdentifier) const
Get VEM peak for the PMT (for simulations)
double GetGainRatio() const
Get dynode to anode ratio for the PMT (for simulations)
double * fVoltage2FADCMultiplier
std::vector< double > * fChargeProbabilityDistribution
void NotFoundAndThrow(const std::string &msg) const
double GetWorkingGain() const
PMT Working Gain.
const utl::TabulatedFunction & GetQuantumEfficiency() const
Quantum efficiency.
std::map< std::string, std::string > IndexMap
utl::TabulatedFunction * fRTVRefractionIndex
utl::TabulatedFunction * fQuantumEfficiency
double GetVEMCharge(const std::string &simulationIdentifier) const
Get VEM charge for the PMT (for simulations)
const utl::TabulatedFunction & GetFaceRefractionIndex() const
Refraction index for the PMT face.
double GetVoltage2FADCMultiplier() const
const utl::TabulatedFunction & GetRTVRefractionIndex() const
Refraction index for the interface between PMT face and dome (RTV)
double * fCollectionEfficiency
double GetBaselineRMS(const sdet::PMTConstants::PMTGain gain) const
Get baseline noise for the PMT (for simulations)
double * fCurrent2VoltageMultiplier