11 #ifndef DETINFO_DETECTORPROPERTIES_PROTODUNESP_H 12 #define DETINFO_DETECTORPROPERTIES_PROTODUNESP_H 73 "electric field in front of each wire plane (the last one is the big one!) [kV/cm]")
78 Name(
"GetHVDriftfromSamweb"),
79 Comment(
"option to get HV drift field from MetaData")
82 Name(
"GetReadOutWindowSizefromSamweb"),
83 Comment(
"option to get ReadoutWindowSize and NumberTimeSamples from MetaData")
87 Name(
"UseRunDependentTemperature"),
88 Comment(
"option to update temperature based on run number, used for Data")
92 Name(
"Electronlifetime" ),
93 Comment(
"electron lifetime in liquid argon [us]")
97 Comment(
"argon temperature [K]")
100 Name(
"ElectronsToADC" ),
101 Comment(
"conversion factor: (ADC counts)/(ionization electrons)")
104 Name(
"NumberTimeSamples" ),
105 Comment(
"number of TPC readout TDC clock ticks per event")
108 Name(
"ReadOutWindowSize" ),
109 Comment(
"number of TPC readout TDC clock ticks per readout window")
115 Name(
"TimeOffsetU" ),
116 Comment(
"tick offset subtracted to to convert spacepoint coordinates to hit times on view U")
119 Name(
"TimeOffsetV" ),
120 Comment(
"tick offset subtracted to to convert spacepoint coordinates to hit times on view V")
123 Name(
"TimeOffsetZ" ),
124 Comment(
"tick offset subtracted to to convert spacepoint coordinates to hit times on view Z")
127 Name(
"TimeOffsetY" ),
128 Comment(
"tick offset subtracted to to convert spacepoint coordinates to hit times on view Y")
131 Name(
"TimeOffsetX" ),
132 Comment(
"tick offset subtracted to to convert spacepoint coordinates to hit times on view X")
136 Name(
"SternheimerA"),
137 Comment(
"parameter a of Sternheimer correction delta = 2log(10) x - cbar + { a (x1-x)^k } theta(x1-x), x = log10(p/m)")
140 Name(
"SternheimerK"),
141 Comment(
"parameter k of Sternheimer correction delta = 2log(10) x - cbar + { a (x_1-x)^k } theta(x1-x), x = log10(p/m)")
144 Name(
"SternheimerX0"),
145 Comment(
"minimum x = log10(p/m) for the application of Sternheimer correction")
148 Name(
"SternheimerX1"),
149 Comment(
"parameter x_1 of Sternheimer correction delta = 2log(10) x - cbar + { a (x_1-x)^k } theta(x1-x), x = log10(p/m)")
152 Name(
"SternheimerCbar"),
153 Comment(
"parameter cbar of Sternheimer correction delta = 2log(10) x - cbar + { a (x_1-x)^k } theta(x1-x), x = log10(p/m)")
161 const geo::GeometryCore*
geo,
163 std::set<std::string>
const& ignore_params = {}
176 std::set<std::string>
const& ignore_params = {});
191 std::set<std::string>
const& ignore_params = {}
210 std::set<std::string>
const& ignore_params = {}
237 virtual double Efield(
unsigned int planegap=0)
const override;
238 virtual double DriftVelocity(
double efield=0.,
double temperature=0.)
const override;
242 virtual double BirksCorrection(
double dQdX,
double EField)
const override;
258 virtual double Density(
double temperature)
const override;
280 virtual double Eloss(
double mom,
double mass,
double tcut)
const override;
290 virtual double ElossVar(
double mom,
double mass)
const override;
362 #endif // DETINFO_DETECTOR_PROPERTIES_H bool UpdateReadoutWindowSize(detinfo::DetectorClocksData const &clockData, std::string filename)
bool UpdateHV(std::string filename)
double fTimeOffsetZ
time offset to convert spacepoint coordinates to hit times on view Z
bool fUseRunDependentTemperature
fhicl::Atom< double > Electronlifetime
std::string CheckTimeOffsetConfigurationAfterSetup() const
Checks the configuration of time offsets.
void Configure(Configuration_t const &config)
Extracts the relevant configuration from the specified object.
static constexpr double g
void CheckConfigurationAfterSetup() const
virtual double TimeOffsetV() const override
double fTimeOffsetX
time offset to convert spacepoint coordinates to hit times on view X
fhicl::OptionalAtom< double > TimeOffsetY
fhicl::Atom< unsigned int > ReadOutWindowSize
double fHasTimeOffsetU
whether time offset was configured for view U
double fTimeOffsetU
time offset to convert spacepoint coordinates to hit times on view U
fhicl::Atom< unsigned int > NumberTimeSamples
fhicl::Sequence< double > Efield
double fSamplingRate
in ns
ChannelGroupService::Name Name
virtual double ElectronsToADC() const override
virtual double BirksCorrection(double dQdX) const override
dQ/dX in electrons/cm, returns dE/dX in MeV/cm.
fhicl::OptionalAtom< double > TimeOffsetX
DetectorPropertiesProtoDUNEsp()
double fElectronsToADC
conversion factor for # of ionization electrons to 1 ADC count
virtual double TimeOffsetU() const override
Data structure containing constant pointers to classes.
fhicl::Atom< double > ElectronsToADC
void ValidateAndConfigure(fhicl::ParameterSet const &p, std::set< std::string > const &ignore_params={})
Configures the provider, first validating the configuration.
void SetNumberTimeSamples(unsigned int nsamp)
fhicl::Atom< double > SternheimerCbar
virtual double TimeOffsetY() const override
double fHasTimeOffsetZ
whether time offset was configured for view Z
double fTimeOffsetY
time offset to convert spacepoint coordinates to hit times on view Y
fhicl::Atom< bool > fGetReadOutWindowSizefromMetaData
fhicl::OptionalAtom< double > TimeOffsetV
detinfo::DetectorPropertiesData DataFor(const detinfo::DetectorClocksData &clockData) const override
virtual unsigned int NumberTimeSamples() const override
bool fGetReadOutWindowSizefromMetaData
Parameters for Sternheimer density effect corrections.
Structure for configuration parameters.
detinfo::DetectorPropertiesData CalculateXTicksParams(detinfo::DetectorClocksData const &clockData) const
virtual double DriftVelocity(double efield=0., double temperature=0.) const override
cm/us
fhicl::Atom< bool > SimpleBoundary
virtual double Eloss(double mom, double mass, double tcut) const override
Restricted mean energy loss (dE/dx)
double cbar
parameter Cbar
double fHasTimeOffsetX
whether time offset was configured for view X
fhicl::Atom< double > Temperature
virtual double ElectronLifetime() const override
Returns the attenuation constant for ionization electrons.
bool fGetHVDriftfromMetaData
double fElectronlifetime
microseconds
void SetGeometry(const geo::GeometryCore *g)
General LArSoft Utilities.
std::vector< double > fEfield
kV/cm (per inter-plane volume)
unsigned int fNumberTimeSamples
number of clock ticks per event
const geo::GeometryCore * fGeo
virtual double ModBoxCorrection(double dQdX) const override
Description of geometry of one entire detector.
virtual bool SimpleBoundary() const override
fhicl::Atom< double > SternheimerA
fhicl::OptionalAtom< double > TimeOffsetZ
unsigned int fReadOutWindowSize
number of clock ticks per readout window
fhicl::Atom< double > SternheimerX1
Configuration_t ValidateConfiguration(fhicl::ParameterSet const &p, std::set< std::string > const &ignore_params={})
Validates the specified configuration.
virtual unsigned int ReadOutWindowSize() const override
Contains all timing reference information for the detector.
double fTimeOffsetV
time offset to convert spacepoint coordinates to hit times on view V
void CheckIfConfigured() const
const detinfo::LArProperties * fLP
double fTemperature
kelvin
Container for a list of pointers to providers.
fhicl::Atom< bool > fGetHVDriftfromMetaData
virtual double Temperature() const override
In kelvin.
Access the description of detector geometry.
fhicl::Atom< double > SternheimerK
SternheimerParameters_t fSternheimerParameters
Sternheimer parameters.
virtual double ElossVar(double mom, double mass) const override
Energy loss fluctuation ( )
fhicl::Atom< double > SternheimerX0
virtual ~DetectorPropertiesProtoDUNEsp()=default
LArSoft geometry interface.
void Setup(providers_type providers)
Sets all the providers at once.
virtual double TimeOffsetZ() const override
virtual double Density() const override
Returns argon density at the temperature from Temperature()
double fHasTimeOffsetY
whether time offset was configured for view Y
fhicl::Atom< bool > fUseRunDependentTemperature
pure virtual base interface for detector clocks
fhicl::OptionalAtom< double > TimeOffsetU
void SetLArProperties(const detinfo::LArProperties *lp)
double fHasTimeOffsetV
whether time offset was configured for view V