9 #ifndef LARDATA_DETINFO_DETECTORPROPERTIES_H
10 #define LARDATA_DETINFO_DETECTORPROPERTIES_H
17 class DetectorClocksData;
46 virtual double Efield(
unsigned int planegap = 0)
const = 0;
48 virtual double DriftVelocity(
double efield = 0.,
double temperature = 0.)
const = 0;
73 virtual double Density(
double temperature)
const = 0;
87 virtual double Eloss(
double mom,
double mass,
double tcut)
const = 0;
95 virtual double ElossVar(
double mom,
double mass)
const = 0;
113 throw std::runtime_error(
"DetectorProperties::TimeOffsetY() not implemented");
127 #endif // LARDATA_DETINFO_DETECTORPROPERTIES_H
virtual unsigned int NumberTimeSamples() const =0
virtual double ElectronLifetime() const =0
Returns the attenuation constant for ionization electrons.
virtual DetectorPropertiesData DataFor(DetectorClocksData const &clockData) const =0
virtual double Temperature() const =0
DetectorProperties()=default
virtual double Efield(unsigned int planegap=0) const =0
Returns the nominal electric field in the specified volume.
virtual double ModBoxCorrection(double dQdX) const =0
virtual double Density() const
Returns argon density at the temperature from Temperature()
virtual double TimeOffsetU() const =0
virtual double TimeOffsetZ() const =0
virtual double BirksCorrection(double dQdX) const =0
dQ/dX in electrons/cm, returns dE/dX in MeV/cm.
virtual double DriftVelocity(double efield=0., double temperature=0.) const =0
virtual double Eloss(double mom, double mass, double tcut) const =0
Restricted mean energy loss ( )
virtual bool SimpleBoundary() const =0
virtual double TimeOffsetV() const =0
virtual double ElossVar(double mom, double mass) const =0
Energy loss fluctuation ( )
Contains all timing reference information for the detector.
virtual double ElectronsToADC() const =0
virtual ~DetectorProperties()=default
DetectorProperties & operator=(const DetectorProperties &)=delete
virtual double TimeOffsetY() const
virtual unsigned int ReadOutWindowSize() const =0