LArSoft
v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
|
#include "DetectorPropertiesServiceArgoNeuT.h"
Public Types | |
using | provider_type = DetectorPropertiesServiceArgoNeuT |
type of service provider, that is this very same More... | |
Public Member Functions | |
DetectorPropertiesServiceArgoNeuT (fhicl::ParameterSet const &pset, art::ActivityRegistry ®) | |
virtual void | reconfigure (fhicl::ParameterSet const &pset) override |
virtual const detinfo::DetectorProperties * | provider () const override |
Returns our service provider, that is this very same class. More... | |
virtual double | Efield (unsigned int planegap=0) const override |
< kV/cm More... | |
virtual double | DriftVelocity (double efield=0., double temperature=0.) const override |
virtual double | BirksCorrection (double dQdX) const override |
dQ/dX in electrons/cm, returns dE/dX in MeV/cm. More... | |
virtual double | ModBoxCorrection (double dQdX) const override |
virtual double | ElectronLifetime () const override |
Returns the attenuation constant for ionization electrons. More... | |
virtual double | Temperature () const override |
virtual double | Density (double temperature) const override |
Returns argon density at a given temperature. More... | |
virtual double | Density () const override |
Returns argon density at the temperature from Temperature() More... | |
virtual double | Eloss (double mom, double mass, double tcut) const override |
Restricted mean energy loss ( ) More... | |
virtual double | ElossVar (double mom, double mass) const override |
Energy loss fluctuation ( ) More... | |
virtual double | SamplingRate () const override |
Returns the period of the TPC readout electronics clock. More... | |
virtual double | ElectronsToADC () const override |
virtual unsigned int | NumberTimeSamples () const override |
virtual unsigned int | ReadOutWindowSize () const override |
virtual int | TriggerOffset () const override |
virtual double | TimeOffsetU () const override |
virtual double | TimeOffsetV () const override |
virtual double | TimeOffsetZ () const override |
virtual double | TimeOffsetY () const override |
virtual double | ConvertXToTicks (double X, int p, int t, int c) const override |
virtual double | ConvertXToTicks (double X, geo::PlaneID const &planeid) const override |
virtual double | ConvertTicksToX (double ticks, int p, int t, int c) const override |
virtual double | ConvertTicksToX (double ticks, geo::PlaneID const &planeid) const override |
virtual double | GetXTicksOffset (int p, int t, int c) const override |
virtual double | GetXTicksOffset (geo::PlaneID const &planeid) const override |
virtual double | GetXTicksCoefficient (int t, int c) const override |
virtual double | GetXTicksCoefficient (geo::TPCID const &tpcid) const override |
virtual double | GetXTicksCoefficient () const override |
virtual double | ConvertTDCToTicks (double tdc) const override |
virtual double | ConvertTicksToTDC (double ticks) const override |
virtual bool | SimpleBoundary () const override |
Private Member Functions | |
void | checkDBstatus () const |
void | preProcessEvent (const art::Event &evt) |
void | postOpenFile (std::string const &filename) |
void | CalculateXTicksParams () const |
Static Private Member Functions | |
static bool | isDetectorPropertiesServiceArgoNeuT (const fhicl::ParameterSet &ps) |
Private Attributes | |
double | fElectronsToADC |
conversion factor for # of ionization electrons to 1 ADC count More... | |
unsigned int | fNumberTimeSamples |
number of clock ticks per event More... | |
unsigned int | fReadOutWindowSize |
number of clock ticks per readout window More... | |
double | fTimeOffsetU |
time offsets to convert spacepoint More... | |
double | fTimeOffsetV |
coordinates to hit times on each More... | |
double | fTimeOffsetZ |
view More... | |
bool | fInheritNumberTimeSamples |
Flag saying whether to inherit NumberTimeSamples. More... | |
bool | fXTicksParamsLoaded |
calculations More... | |
double | fXTicksCoefficient |
Parameters for x<–>ticks. More... | |
std::vector< std::vector< std::vector< double > > > | fXTicksOffsets |
std::vector< std::vector< double > > | fDriftDirection |
fhicl::ParameterSet | fPS |
Original parameter set. More... | |
bool | fAlreadyReadFromDB |
tests whether the values have alread been picked up from the Database More... | |
detinfo::ElecClock | fTPCClock |
TPC electronics clock. More... | |
util::LArPropertiesServiceArgoNeuT const * | fLP |
Pointer to the specific LArPropertiesServiceArgoNeuT service (provider) More... | |
bool | fSimpleBoundary |
Definition at line 33 of file DetectorPropertiesServiceArgoNeuT.h.
type of service provider, that is this very same
Definition at line 45 of file DetectorPropertiesServiceArgoNeuT.h.
util::DetectorPropertiesServiceArgoNeuT::DetectorPropertiesServiceArgoNeuT | ( | fhicl::ParameterSet const & | pset, |
art::ActivityRegistry & | reg | ||
) |
Definition at line 27 of file DetectorPropertiesServiceArgoNeuT_service.cc.
References art::errors::Configuration, fLP, postOpenFile(), preProcessEvent(), reconfigure(), art::ActivityRegistry::sPostOpenFile, and art::ActivityRegistry::sPreProcessEvent.
|
inlineoverridevirtual |
dQ/dX in electrons/cm, returns dE/dX in MeV/cm.
Implements detinfo::DetectorProperties.
Definition at line 62 of file DetectorPropertiesServiceArgoNeuT.h.
References util::LArPropertiesServiceArgoNeuT::BirksCorrection(), and fLP.
|
private |
< special case for ArgoNeuT
Definition at line 170 of file DetectorPropertiesServiceArgoNeuT_service.cc.
References geo::GeometryCore::Cryostat(), dir, geo::TPCGeo::DriftDirection(), DriftVelocity(), Efield(), fDriftDirection, fLP, fTimeOffsetU, fTimeOffsetV, fTimeOffsetZ, fXTicksCoefficient, fXTicksOffsets, fXTicksParamsLoaded, geo::kNegX, geo::kU, geo::kV, geo::kZ, geo::GeometryCore::Ncryostats(), geo::TPCGeo::Nplanes(), geo::CryostatGeo::NTPC(), geo::TPCGeo::Plane(), geo::TPCGeo::PlaneLocation(), geo::TPCGeo::PlanePitch(), SamplingRate(), util::LArPropertiesServiceArgoNeuT::Temperature(), geo::CryostatGeo::TPC(), TriggerOffset(), and geo::PlaneGeo::View().
Referenced by ConvertTicksToX(), ConvertXToTicks(), GetXTicksCoefficient(), GetXTicksOffset(), and SimpleBoundary().
|
private |
Definition at line 103 of file DetectorPropertiesServiceArgoNeuT_service.cc.
References fAlreadyReadFromDB.
Referenced by SimpleBoundary().
|
overridevirtual |
Implements detinfo::DetectorProperties.
Definition at line 50 of file DetectorPropertiesServiceArgoNeuT_service.cc.
Referenced by GetXTicksCoefficient().
|
overridevirtual |
Implements detinfo::DetectorProperties.
Definition at line 56 of file DetectorPropertiesServiceArgoNeuT_service.cc.
Referenced by GetXTicksCoefficient().
|
overridevirtual |
Implements detinfo::DetectorProperties.
Definition at line 160 of file DetectorPropertiesServiceArgoNeuT_service.cc.
References CalculateXTicksParams(), fDriftDirection, fXTicksCoefficient, fXTicksOffsets, and fXTicksParamsLoaded.
Referenced by ConvertTicksToX(), and ConvertXToTicks().
|
inlineoverridevirtual |
Implements detinfo::DetectorProperties.
Definition at line 98 of file DetectorPropertiesServiceArgoNeuT.h.
References ConvertTicksToX(), geo::CryostatID::Cryostat, GetXTicksOffset(), geo::PlaneID::Plane, and geo::TPCID::TPC.
|
overridevirtual |
Implements detinfo::DetectorProperties.
Definition at line 148 of file DetectorPropertiesServiceArgoNeuT_service.cc.
References CalculateXTicksParams(), fDriftDirection, fXTicksCoefficient, fXTicksOffsets, and fXTicksParamsLoaded.
Referenced by ConvertXToTicks(), and TimeOffsetY().
|
inlineoverridevirtual |
Implements detinfo::DetectorProperties.
Definition at line 95 of file DetectorPropertiesServiceArgoNeuT.h.
References ConvertTicksToX(), ConvertXToTicks(), geo::CryostatID::Cryostat, geo::PlaneID::Plane, and geo::TPCID::TPC.
|
inlineoverridevirtual |
Returns argon density at a given temperature.
temperature | the temperature in kelvin |
Implements detinfo::DetectorProperties.
Definition at line 74 of file DetectorPropertiesServiceArgoNeuT.h.
References util::LArPropertiesServiceArgoNeuT::Density(), and fLP.
|
inlineoverridevirtual |
Returns argon density at the temperature from Temperature()
Reimplemented from detinfo::DetectorProperties.
Definition at line 76 of file DetectorPropertiesServiceArgoNeuT.h.
References Density(), and Temperature().
Referenced by Density().
|
inlineoverridevirtual |
Implements detinfo::DetectorProperties.
Definition at line 58 of file DetectorPropertiesServiceArgoNeuT.h.
References util::LArPropertiesServiceArgoNeuT::DriftVelocity(), and fLP.
Referenced by CalculateXTicksParams().
|
inlineoverridevirtual |
< kV/cm
Implements detinfo::DetectorProperties.
Definition at line 55 of file DetectorPropertiesServiceArgoNeuT.h.
References util::LArPropertiesServiceArgoNeuT::Efield(), and fLP.
Referenced by CalculateXTicksParams().
|
inlineoverridevirtual |
Returns the attenuation constant for ionization electrons.
The returned constant τ can be used to know the attenuation the ionization charge undergoes after drifting for a certain time t: (t is measured in microseconds).
This is a uniform, constant value for the detector.
Implements detinfo::DetectorProperties.
Definition at line 68 of file DetectorPropertiesServiceArgoNeuT.h.
References util::LArPropertiesServiceArgoNeuT::ElectronLifetime(), and fLP.
|
inlineoverridevirtual |
Implements detinfo::DetectorProperties.
Definition at line 85 of file DetectorPropertiesServiceArgoNeuT.h.
References fElectronsToADC.
|
inlineoverridevirtual |
Restricted mean energy loss ( )
mom | momentum of incident particle [GeV/c] |
mass | mass of incident particle [GeV/c^2] |
tcut | maximum kinetic energy of delta rays [MeV]; 0 for unlimited |
Returned value is always positive. For unrestricted mean energy loss, set tcut = 0 (special case), or tcut large.
Implements detinfo::DetectorProperties.
Definition at line 78 of file DetectorPropertiesServiceArgoNeuT.h.
References util::LArPropertiesServiceArgoNeuT::Eloss(), and fLP.
|
inlineoverridevirtual |
Energy loss fluctuation ( )
mom | momentum of incident particle in [GeV/c] |
mass | mass of incident particle [GeV/c^2] |
Implements detinfo::DetectorProperties.
Definition at line 81 of file DetectorPropertiesServiceArgoNeuT.h.
References util::LArPropertiesServiceArgoNeuT::ElossVar(), and fLP.
|
overridevirtual |
Implements detinfo::DetectorProperties.
Definition at line 274 of file DetectorPropertiesServiceArgoNeuT_service.cc.
References CalculateXTicksParams(), fDriftDirection, fXTicksCoefficient, and fXTicksParamsLoaded.
|
inlineoverridevirtual |
Implements detinfo::DetectorProperties.
Definition at line 105 of file DetectorPropertiesServiceArgoNeuT.h.
References ConvertTDCToTicks(), ConvertTicksToTDC(), geo::CryostatID::Cryostat, GetXTicksCoefficient(), and geo::TPCID::TPC.
|
overridevirtual |
Implements detinfo::DetectorProperties.
Definition at line 283 of file DetectorPropertiesServiceArgoNeuT_service.cc.
References CalculateXTicksParams(), fXTicksCoefficient, and fXTicksParamsLoaded.
Referenced by GetXTicksCoefficient(), and GetXTicksOffset().
|
overridevirtual |
Implements detinfo::DetectorProperties.
Definition at line 292 of file DetectorPropertiesServiceArgoNeuT_service.cc.
References CalculateXTicksParams(), fXTicksOffsets, and fXTicksParamsLoaded.
Referenced by ConvertTicksToX(), and GetXTicksOffset().
|
inlineoverridevirtual |
Implements detinfo::DetectorProperties.
Definition at line 102 of file DetectorPropertiesServiceArgoNeuT.h.
References geo::CryostatID::Cryostat, GetXTicksCoefficient(), GetXTicksOffset(), geo::PlaneID::Plane, and geo::TPCID::TPC.
|
staticprivate |
Definition at line 404 of file DetectorPropertiesServiceArgoNeuT_service.cc.
References d, DEFINE_ART_SERVICE_INTERFACE_IMPL, fhicl::ParameterSet::get_if_present(), and s.
Referenced by postOpenFile(), and SimpleBoundary().
|
inlineoverridevirtual |
Implements detinfo::DetectorProperties.
Definition at line 65 of file DetectorPropertiesServiceArgoNeuT.h.
References fLP, and util::LArPropertiesServiceArgoNeuT::ModBoxCorrection().
|
inlineoverridevirtual |
Implements detinfo::DetectorProperties.
Definition at line 86 of file DetectorPropertiesServiceArgoNeuT.h.
References fNumberTimeSamples.
|
private |
Definition at line 301 of file DetectorPropertiesServiceArgoNeuT_service.cc.
References file, fInheritNumberTimeSamples, fNumberTimeSamples, fPS, fhicl::ParameterSet::get(), isDetectorPropertiesServiceArgoNeuT(), and fhicl::make_ParameterSet().
Referenced by DetectorPropertiesServiceArgoNeuT(), and SimpleBoundary().
|
private |
Definition at line 96 of file DetectorPropertiesServiceArgoNeuT_service.cc.
References fTPCClock.
Referenced by DetectorPropertiesServiceArgoNeuT(), and SimpleBoundary().
|
inlineoverridevirtual |
Returns our service provider, that is this very same class.
Implements detinfo::DetectorPropertiesService.
Definition at line 50 of file DetectorPropertiesServiceArgoNeuT.h.
|
inlineoverridevirtual |
Implements detinfo::DetectorProperties.
Definition at line 87 of file DetectorPropertiesServiceArgoNeuT.h.
References fReadOutWindowSize, and TriggerOffset().
|
overridevirtual |
Implements detinfo::DetectorPropertiesService.
Definition at line 62 of file DetectorPropertiesServiceArgoNeuT_service.cc.
References d, fElectronsToADC, fInheritNumberTimeSamples, fNumberTimeSamples, fPS, fReadOutWindowSize, fSimpleBoundary, fTimeOffsetU, fTimeOffsetV, fTimeOffsetZ, fTPCClock, fXTicksParamsLoaded, fhicl::ParameterSet::get(), and fhicl::ParameterSet::get_if_present().
Referenced by DetectorPropertiesServiceArgoNeuT().
|
inlineoverridevirtual |
Returns the period of the TPC readout electronics clock.
Implements detinfo::DetectorProperties.
Definition at line 84 of file DetectorPropertiesServiceArgoNeuT.h.
References fTPCClock, and detinfo::ElecClock::TickPeriod().
Referenced by CalculateXTicksParams().
|
inlineoverridevirtual |
Implements detinfo::DetectorProperties.
Definition at line 114 of file DetectorPropertiesServiceArgoNeuT.h.
References CalculateXTicksParams(), checkDBstatus(), fSimpleBoundary, isDetectorPropertiesServiceArgoNeuT(), postOpenFile(), and preProcessEvent().
|
inlineoverridevirtual |
Implements detinfo::DetectorProperties.
Definition at line 71 of file DetectorPropertiesServiceArgoNeuT.h.
References fLP, and util::LArPropertiesServiceArgoNeuT::Temperature().
Referenced by Density().
|
inlineoverridevirtual |
Implements detinfo::DetectorProperties.
Definition at line 89 of file DetectorPropertiesServiceArgoNeuT.h.
References fTimeOffsetU.
|
inlineoverridevirtual |
Implements detinfo::DetectorProperties.
Definition at line 90 of file DetectorPropertiesServiceArgoNeuT.h.
References fTimeOffsetV.
|
inlineoverridevirtual |
Reimplemented from detinfo::DetectorProperties.
Definition at line 92 of file DetectorPropertiesServiceArgoNeuT.h.
References ConvertXToTicks(), and X.
|
inlineoverridevirtual |
Implements detinfo::DetectorProperties.
Definition at line 91 of file DetectorPropertiesServiceArgoNeuT.h.
References fTimeOffsetZ.
|
overridevirtual |
Implements detinfo::DetectorProperties.
Definition at line 128 of file DetectorPropertiesServiceArgoNeuT_service.cc.
References fTPCClock, and detinfo::ElecClock::Ticks().
Referenced by CalculateXTicksParams(), and ReadOutWindowSize().
|
private |
tests whether the values have alread been picked up from the Database
Definition at line 151 of file DetectorPropertiesServiceArgoNeuT.h.
Referenced by checkDBstatus().
|
mutableprivate |
Definition at line 147 of file DetectorPropertiesServiceArgoNeuT.h.
Referenced by CalculateXTicksParams(), ConvertTicksToX(), ConvertXToTicks(), and GetXTicksCoefficient().
|
private |
conversion factor for # of ionization electrons to 1 ADC count
Definition at line 134 of file DetectorPropertiesServiceArgoNeuT.h.
Referenced by ElectronsToADC(), and reconfigure().
|
private |
Flag saying whether to inherit NumberTimeSamples.
Definition at line 141 of file DetectorPropertiesServiceArgoNeuT.h.
Referenced by postOpenFile(), and reconfigure().
|
private |
Pointer to the specific LArPropertiesServiceArgoNeuT service (provider)
Definition at line 156 of file DetectorPropertiesServiceArgoNeuT.h.
Referenced by BirksCorrection(), CalculateXTicksParams(), Density(), DetectorPropertiesServiceArgoNeuT(), DriftVelocity(), Efield(), ElectronLifetime(), Eloss(), ElossVar(), ModBoxCorrection(), and Temperature().
|
private |
number of clock ticks per event
Definition at line 135 of file DetectorPropertiesServiceArgoNeuT.h.
Referenced by NumberTimeSamples(), postOpenFile(), and reconfigure().
|
private |
Original parameter set.
Definition at line 149 of file DetectorPropertiesServiceArgoNeuT.h.
Referenced by postOpenFile(), and reconfigure().
|
private |
number of clock ticks per readout window
Definition at line 136 of file DetectorPropertiesServiceArgoNeuT.h.
Referenced by ReadOutWindowSize(), and reconfigure().
|
private |
Definition at line 158 of file DetectorPropertiesServiceArgoNeuT.h.
Referenced by reconfigure(), and SimpleBoundary().
|
private |
time offsets to convert spacepoint
Definition at line 137 of file DetectorPropertiesServiceArgoNeuT.h.
Referenced by CalculateXTicksParams(), reconfigure(), and TimeOffsetU().
|
private |
coordinates to hit times on each
Definition at line 138 of file DetectorPropertiesServiceArgoNeuT.h.
Referenced by CalculateXTicksParams(), reconfigure(), and TimeOffsetV().
|
private |
view
Definition at line 139 of file DetectorPropertiesServiceArgoNeuT.h.
Referenced by CalculateXTicksParams(), reconfigure(), and TimeOffsetZ().
|
private |
TPC electronics clock.
Definition at line 153 of file DetectorPropertiesServiceArgoNeuT.h.
Referenced by preProcessEvent(), reconfigure(), SamplingRate(), and TriggerOffset().
|
mutableprivate |
Parameters for x<–>ticks.
Definition at line 144 of file DetectorPropertiesServiceArgoNeuT.h.
Referenced by CalculateXTicksParams(), ConvertTicksToX(), ConvertXToTicks(), and GetXTicksCoefficient().
|
mutableprivate |
Definition at line 146 of file DetectorPropertiesServiceArgoNeuT.h.
Referenced by CalculateXTicksParams(), ConvertTicksToX(), ConvertXToTicks(), and GetXTicksOffset().
|
mutableprivate |
calculations
Definition at line 142 of file DetectorPropertiesServiceArgoNeuT.h.
Referenced by CalculateXTicksParams(), ConvertTicksToX(), ConvertXToTicks(), GetXTicksCoefficient(), GetXTicksOffset(), and reconfigure().