Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
spdp::DetectorPropertiesProtoDUNEsp Class Reference

#include <DetectorPropertiesProtoDUNEsp.h>

Inheritance diagram for spdp::DetectorPropertiesProtoDUNEsp:
detinfo::DetectorProperties

Classes

struct  Configuration_t
 Structure for configuration parameters. More...
 
struct  SternheimerParameters_t
 Parameters for Sternheimer density effect corrections. More...
 

Public Types

using providers_type = lar::ProviderPack< geo::GeometryCore, detinfo::LArProperties >
 List of service providers we depend on. More...
 

Public Member Functions

 DetectorPropertiesProtoDUNEsp ()
 
 DetectorPropertiesProtoDUNEsp (fhicl::ParameterSet const &pset, const geo::GeometryCore *geo, const detinfo::LArProperties *lp, std::set< std::string > const &ignore_params={})
 
 DetectorPropertiesProtoDUNEsp (fhicl::ParameterSet const &pset, providers_type providers, std::set< std::string > const &ignore_params={})
 Constructs the provider and sets up the dependencies. More...
 
 DetectorPropertiesProtoDUNEsp (DetectorPropertiesProtoDUNEsp const &)=delete
 
virtual ~DetectorPropertiesProtoDUNEsp ()=default
 
void ValidateAndConfigure (fhicl::ParameterSet const &p, std::set< std::string > const &ignore_params={})
 Configures the provider, first validating the configuration. More...
 
void Configure (Configuration_t const &config)
 Extracts the relevant configuration from the specified object. More...
 
Configuration_t ValidateConfiguration (fhicl::ParameterSet const &p, std::set< std::string > const &ignore_params={})
 Validates the specified configuration. More...
 
bool UpdateHV (std::string filename)
 
bool UpdateReadoutWindowSize (detinfo::DetectorClocksData const &clockData, std::string filename)
 
bool UpdateTemp (int run)
 
detinfo::DetectorPropertiesData DataFor (const detinfo::DetectorClocksData &clockData) const override
 
void Setup (providers_type providers)
 Sets all the providers at once. More...
 
void SetGeometry (const geo::GeometryCore *g)
 
void SetLArProperties (const detinfo::LArProperties *lp)
 
void SetNumberTimeSamples (unsigned int nsamp)
 
virtual double Efield (unsigned int planegap=0) const override
 kV/cm More...
 
virtual double DriftVelocity (double efield=0., double temperature=0.) const override
 cm/us More...
 
virtual double BirksCorrection (double dQdX) const override
 dQ/dX in electrons/cm, returns dE/dX in MeV/cm. More...
 
virtual double BirksCorrection (double dQdX, double EField) const override
 
virtual double ModBoxCorrection (double dQdX) const override
 
virtual double ModBoxCorrection (double dQdX, double EField) const override
 
virtual double ElectronLifetime () const override
 Returns the attenuation constant for ionization electrons. More...
 
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 Temperature () const override
 In kelvin. More...
 
virtual double Eloss (double mom, double mass, double tcut) const override
 Restricted mean energy loss (dE/dx) More...
 
virtual double ElossVar (double mom, double mass) const override
 Energy loss fluctuation ( $ \sigma_{E}^2 / x $) More...
 
virtual double ElectronsToADC () const override
 
virtual unsigned int NumberTimeSamples () const override
 
virtual unsigned int ReadOutWindowSize () const override
 
virtual double TimeOffsetU () const override
 
virtual double TimeOffsetV () const override
 
virtual double TimeOffsetZ () const override
 
virtual double TimeOffsetY () const override
 
virtual bool SimpleBoundary () const override
 
void CheckIfConfigured () const
 
- Public Member Functions inherited from detinfo::DetectorProperties
 DetectorProperties ()=default
 
 DetectorProperties (const DetectorProperties &)=delete
 
 DetectorProperties (DetectorProperties &&)=delete
 
DetectorPropertiesoperator= (const DetectorProperties &)=delete
 
DetectorPropertiesoperator= (DetectorProperties &&)=delete
 
virtual ~DetectorProperties ()=default
 
virtual DetectorPropertiesData DataFor (DetectorClocksData const &clockData) const =0
 

Protected Member Functions

detinfo::DetectorPropertiesData CalculateXTicksParams (detinfo::DetectorClocksData const &clockData) const
 
std::string CheckTimeOffsetConfigurationAfterSetup () const
 Checks the configuration of time offsets. More...
 
void CheckConfigurationAfterSetup () const
 

Protected Attributes

const detinfo::LArPropertiesfLP
 
const geo::GeometryCorefGeo
 
bool fGetHVDriftfromMetaData
 
bool fGetReadOutWindowSizefromMetaData
 
bool fUseRunDependentTemperature
 
double fHV_cath
 
std::vector< double > fEfield
 kV/cm (per inter-plane volume) More...
 
double fElectronlifetime
 microseconds More...
 
double fTemperature
 kelvin More...
 
double fSamplingRate
 in ns More...
 
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 offset to convert spacepoint coordinates to hit times on view U More...
 
double fTimeOffsetV
 time offset to convert spacepoint coordinates to hit times on view V More...
 
double fTimeOffsetZ
 time offset to convert spacepoint coordinates to hit times on view Z More...
 
double fTimeOffsetY
 time offset to convert spacepoint coordinates to hit times on view Y More...
 
double fTimeOffsetX
 time offset to convert spacepoint coordinates to hit times on view X More...
 
double fHasTimeOffsetU = false
 whether time offset was configured for view U More...
 
double fHasTimeOffsetV = false
 whether time offset was configured for view V More...
 
double fHasTimeOffsetZ = false
 whether time offset was configured for view Z More...
 
double fHasTimeOffsetY = false
 whether time offset was configured for view Y More...
 
double fHasTimeOffsetX = false
 whether time offset was configured for view X More...
 
SternheimerParameters_t fSternheimerParameters
 Sternheimer parameters. More...
 
bool fSimpleBoundary
 

Detailed Description

Definition at line 59 of file DetectorPropertiesProtoDUNEsp.h.

Member Typedef Documentation

List of service providers we depend on.

Definition at line 65 of file DetectorPropertiesProtoDUNEsp.h.

Constructor & Destructor Documentation

spdp::DetectorPropertiesProtoDUNEsp::DetectorPropertiesProtoDUNEsp ( )

Definition at line 56 of file DetectorPropertiesProtoDUNEsp.cxx.

56  :
57  fLP(0), fGeo(0)
58  {
59 
60  }
spdp::DetectorPropertiesProtoDUNEsp::DetectorPropertiesProtoDUNEsp ( fhicl::ParameterSet const &  pset,
const geo::GeometryCore geo,
const detinfo::LArProperties lp,
std::set< std::string > const &  ignore_params = {} 
)

Definition at line 63 of file DetectorPropertiesProtoDUNEsp.cxx.

67  :
68  fLP(lp), fGeo(geo)
69  {
70  {
71  mf::LogInfo debug("setupProvider<DetectorPropertiesStandard>");
72 
73  debug << "Asked to ignore " << ignore_params.size() << " keys:";
74  for (auto const& key: ignore_params) debug << " '" << key << "'";
75  }
76 
77  ValidateAndConfigure(pset, ignore_params);
78 
79  }
void ValidateAndConfigure(fhicl::ParameterSet const &p, std::set< std::string > const &ignore_params={})
Configures the provider, first validating the configuration.
def key(type, name=None)
Definition: graph.py:13
spdp::DetectorPropertiesProtoDUNEsp::DetectorPropertiesProtoDUNEsp ( fhicl::ParameterSet const &  pset,
providers_type  providers,
std::set< std::string > const &  ignore_params = {} 
)

Constructs the provider and sets up the dependencies.

Parameters
psetFHiCL parameter set for provider configuration
providerspack of providers DetectorPropertiesStandard depends on
ignore_paramsunknown configuration keys in pset to be tolerated
See also
Setup()

Definition at line 82 of file DetectorPropertiesProtoDUNEsp.cxx.

85  :
87  providers.get<geo::GeometryCore>(),
88  providers.get<detinfo::LArProperties>(),
89  ignore_params
90  )
91  {}
Description of geometry of one entire detector.
spdp::DetectorPropertiesProtoDUNEsp::DetectorPropertiesProtoDUNEsp ( DetectorPropertiesProtoDUNEsp const &  )
delete
virtual spdp::DetectorPropertiesProtoDUNEsp::~DetectorPropertiesProtoDUNEsp ( )
virtualdefault

Member Function Documentation

double spdp::DetectorPropertiesProtoDUNEsp::BirksCorrection ( double  dQdX) const
overridevirtual

dQ/dX in electrons/cm, returns dE/dX in MeV/cm.

Implements detinfo::DetectorProperties.

Definition at line 482 of file DetectorPropertiesProtoDUNEsp.cxx.

483  {
484  return BirksCorrection(dQdx, Efield());
485  }
virtual double BirksCorrection(double dQdX) const override
dQ/dX in electrons/cm, returns dE/dX in MeV/cm.
virtual double Efield(unsigned int planegap=0) const override
kV/cm
double spdp::DetectorPropertiesProtoDUNEsp::BirksCorrection ( double  dQdX,
double  EField 
) const
overridevirtual

Implements detinfo::DetectorProperties.

Definition at line 486 of file DetectorPropertiesProtoDUNEsp.cxx.

487  {
488  // Correction for charge quenching using parameterization from
489  // S.Amoruso et al., NIM A 523 (2004) 275
490 
491  double A3t = util::kRecombA;
492  double K3t = util::kRecombk; // in KV/cm*(g/cm^2)/MeV
493  double rho = Density(); // LAr density in g/cm^3
494  double Wion = 1000./util::kGeVToElectrons; // 23.6 eV = 1e, Wion in MeV/e
495  K3t /= rho; // KV/MeV
496  double dEdx = dQdx/(A3t/Wion-K3t/E_field*dQdx); //MeV/cm
497 
498  return dEdx;
499  }
constexpr double kGeVToElectrons
23.6eV per ion pair, 1e9 eV/GeV
double dEdx(float dqdx, float Efield)
Definition: doAna.cpp:21
constexpr double kRecombk
constexpr double kRecombA
A constant.
double Wion
Definition: doAna.cpp:16
virtual double Density() const override
Returns argon density at the temperature from Temperature()
detinfo::DetectorPropertiesData spdp::DetectorPropertiesProtoDUNEsp::CalculateXTicksParams ( detinfo::DetectorClocksData const &  clockData) const
protected

Definition at line 533 of file DetectorPropertiesProtoDUNEsp.cxx.

534  {
536 
537  double samplingRate = sampling_rate(clockData);
538  double efield = Efield();
539  double temperature = Temperature();
540  double driftVelocity = DriftVelocity(efield, temperature);
541 
542  double const x_ticks_coefficient = 0.001 * driftVelocity * samplingRate;
543  double triggerOffset = trigger_offset(clockData);
544  std::vector<std::vector<std::vector<double>>> x_ticks_offsets(fGeo->Ncryostats());
545  std::vector<std::vector<double>> drift_direction(fGeo->Ncryostats());
546  for(size_t cstat = 0; cstat < fGeo->Ncryostats(); ++cstat){
547  x_ticks_offsets[cstat].resize(fGeo->Cryostat(cstat).NTPC());
548  drift_direction[cstat].resize(fGeo->Cryostat(cstat).NTPC());
549  for(size_t tpc = 0; tpc < fGeo->Cryostat(cstat).NTPC(); ++tpc) {
550  const geo::TPCGeo& tpcgeom = fGeo->Cryostat(cstat).TPC(tpc);
551  const double dir((tpcgeom.DriftDirection() == geo::kNegX) ? +1.0 :-1.0);
552  drift_direction[cstat][tpc] = dir;
553  int nplane = tpcgeom.Nplanes();
554  x_ticks_offsets[cstat][tpc].resize(nplane, 0.);
555 
556  for(int plane = 0; plane < nplane; ++plane) {
557  const geo::PlaneGeo& pgeom = tpcgeom.Plane(plane);
558  const double* xyz = tpcgeom.PlaneLocation(0);
559  x_ticks_offsets[cstat][tpc][plane] = -xyz[0]/(dir * x_ticks_coefficient) + triggerOffset;
560 
561  // Add view dependent offset
562  // FIXME the offset should be plane-dependent
563  geo::View_t view = pgeom.View();
564  switch (view) {
565  case geo::kU:
566  x_ticks_offsets[cstat][tpc][plane] += fTimeOffsetU;
567  break;
568  case geo::kV:
569  x_ticks_offsets[cstat][tpc][plane] += fTimeOffsetV;
570  break;
571  case geo::kZ:
572  x_ticks_offsets[cstat][tpc][plane] += fTimeOffsetZ;
573  break;
574  case geo::kY:
575  x_ticks_offsets[cstat][tpc][plane] += fTimeOffsetY;
576  break;
577  case geo::kX:
578  x_ticks_offsets[cstat][tpc][plane] += fTimeOffsetX;
579  break;
580  default:
581  throw cet::exception(__FUNCTION__) << "Bad view = " << view << "\n" ;
582  } // switch
583  }
584  }
585  }
586  return detinfo::DetectorPropertiesData{*this, x_ticks_coefficient, move(x_ticks_offsets), move(drift_direction)};
587  }
double fTimeOffsetZ
time offset to convert spacepoint coordinates to hit times on view Z
double fTimeOffsetX
time offset to convert spacepoint coordinates to hit times on view X
enum geo::_plane_proj View_t
Enumerate the possible plane projections.
Planes which measure V.
Definition: geo_types.h:130
unsigned int Nplanes() const
Number of planes in this tpc.
Definition: TPCGeo.h:165
double fTimeOffsetU
time offset to convert spacepoint coordinates to hit times on view U
Planes which measure X direction.
Definition: geo_types.h:134
Geometry information for a single TPC.
Definition: TPCGeo.h:38
Planes which measure Z direction.
Definition: geo_types.h:132
string dir
Drift towards negative X values.
Definition: geo_types.h:162
unsigned int Ncryostats() const
Returns the number of cryostats in the detector.
double fTimeOffsetY
time offset to convert spacepoint coordinates to hit times on view Y
Planes which measure Y direction.
Definition: geo_types.h:133
Planes which measure U.
Definition: geo_types.h:129
View_t View() const
Which coordinate does this plane measure.
Definition: PlaneGeo.h:184
virtual double DriftVelocity(double efield=0., double temperature=0.) const override
cm/us
def move(depos, offset)
Definition: depos.py:107
Geometry information for a single wire plane.The plane is represented in the geometry by a solid whic...
Definition: PlaneGeo.h:82
unsigned int NTPC() const
Number of TPCs in this cryostat.
Definition: CryostatGeo.h:181
CryostatGeo const & Cryostat(geo::CryostatID const &cryoid) const
Returns the specified cryostat.
DriftDirection_t DriftDirection() const
Returns an enumerator value describing the drift direction.
Definition: TPCGeo.h:144
virtual double Efield(unsigned int planegap=0) const override
kV/cm
const TPCGeo & TPC(unsigned int itpc) const
Return the itpc&#39;th TPC in the cryostat.
Definition: CryostatGeo.cxx:93
double fTimeOffsetV
time offset to convert spacepoint coordinates to hit times on view V
int trigger_offset(DetectorClocksData const &data)
virtual double Temperature() const override
In kelvin.
PlaneGeo const & Plane(geo::View_t view) const
Return the plane in the tpc with View_t view.
Definition: TPCGeo.cxx:263
double sampling_rate(DetectorClocksData const &data)
Returns the period of the TPC readout electronics clock.
const double * PlaneLocation(unsigned int p) const
Definition: TPCGeo.cxx:382
cet::coded_exception< error, detail::translate > exception
Definition: exception.h:33
void spdp::DetectorPropertiesProtoDUNEsp::CheckConfigurationAfterSetup ( ) const
protected

Checks that provider configuration is complete, using setup information.

Definition at line 633 of file DetectorPropertiesProtoDUNEsp.cxx.

633  {
634 
635  std::string errors;
636 
638 
639  if (!errors.empty()) {
640  throw cet::exception("DetectorPropertiesStandard")
641  << "Detected configuration errors: \n" << errors;
642  }
643 
644  } // DetectorPropertiesStandard::CheckConfigurationAfterSetup()
std::string CheckTimeOffsetConfigurationAfterSetup() const
Checks the configuration of time offsets.
std::string string
Definition: nybbler.cc:12
cet::coded_exception< error, detail::translate > exception
Definition: exception.h:33
void spdp::DetectorPropertiesProtoDUNEsp::CheckIfConfigured ( ) const

Verifies that the provider is in a fully configured status

Exceptions
cet::exception(category DetectorPropertiesStandard) if not ok

Definition at line 522 of file DetectorPropertiesProtoDUNEsp.cxx.

523  {
524  if (!fGeo) throw cet::exception(__FUNCTION__) << "Geometry is uninitialized!";
525  if (!fLP) throw cet::exception(__FUNCTION__) << "LArPropertiesStandard is uninitialized!";
526  }
cet::coded_exception< error, detail::translate > exception
Definition: exception.h:33
std::string spdp::DetectorPropertiesProtoDUNEsp::CheckTimeOffsetConfigurationAfterSetup ( ) const
protected

Checks the configuration of time offsets.

Definition at line 591 of file DetectorPropertiesProtoDUNEsp.cxx.

592  {
593 
594  std::ostringstream errors;
595  auto const views = fGeo->Views();
596 
597  if ((views.count(geo::kU) != 0) != fHasTimeOffsetU) {
598  if (fHasTimeOffsetU)
599  errors << "TimeOffsetU has been specified, but no U view is present.\n";
600  else
601  errors << "TimeOffsetU missing for view U.\n";
602  }
603  if ((views.count(geo::kV) != 0) != fHasTimeOffsetV) {
604  if (fHasTimeOffsetV)
605  errors << "TimeOffsetV has been specified, but no V view is present.\n";
606  else
607  errors << "TimeOffsetV missing for view Z.\n";
608  }
609  if ((views.count(geo::kZ) != 0) != fHasTimeOffsetZ) {
610  if (fHasTimeOffsetZ)
611  errors << "TimeOffsetZ has been specified, but no Z view is present.\n";
612  else
613  errors << "TimeOffsetZ missing for view Z.\n";
614  }
615  if ((views.count(geo::kY) != 0) != fHasTimeOffsetY) {
616  if (fHasTimeOffsetY)
617  errors << "TimeOffsetY has been specified, but no Y view is present.\n";
618  else
619  errors << "TimeOffsetY missing for view Y.\n";
620  }
621  if ((views.count(geo::kX) != 0) != fHasTimeOffsetX) {
622  if (fHasTimeOffsetX)
623  errors << "TimeOffsetX has been specified, but no X view is present.\n";
624  else
625  errors << "TimeOffsetX missing for view X.\n";
626  }
627 
628  return errors.str();
629 
630  } // DetectorPropertiesStandard::CheckTimeOffsetConfigurationAfterSetup()
Planes which measure V.
Definition: geo_types.h:130
double fHasTimeOffsetU
whether time offset was configured for view U
std::set< geo::View_t > const & Views() const
Returns a list of possible views in the detector.
Planes which measure X direction.
Definition: geo_types.h:134
Planes which measure Z direction.
Definition: geo_types.h:132
double fHasTimeOffsetZ
whether time offset was configured for view Z
Planes which measure Y direction.
Definition: geo_types.h:133
Planes which measure U.
Definition: geo_types.h:129
double fHasTimeOffsetX
whether time offset was configured for view X
double fHasTimeOffsetY
whether time offset was configured for view Y
double fHasTimeOffsetV
whether time offset was configured for view V
void spdp::DetectorPropertiesProtoDUNEsp::Configure ( Configuration_t const &  config)

Extracts the relevant configuration from the specified object.

Definition at line 229 of file DetectorPropertiesProtoDUNEsp.cxx.

229  {
230 
231  fEfield = config.Efield();
232  fGetHVDriftfromMetaData = config.fGetHVDriftfromMetaData();
233  fGetHVDriftfromMetaData = false; // DLA 2021-11-11 Redmine 26419
234  fGetReadOutWindowSizefromMetaData = config.fGetReadOutWindowSizefromMetaData();
235  fUseRunDependentTemperature = config.fUseRunDependentTemperature();
236  fElectronlifetime = config.Electronlifetime();
237  fTemperature = config.Temperature();
238  fElectronsToADC = config.ElectronsToADC();
239  fNumberTimeSamples = config.NumberTimeSamples();
240  fReadOutWindowSize = config.ReadOutWindowSize();
241  fHasTimeOffsetU = config.TimeOffsetU(fTimeOffsetU);
242  fHasTimeOffsetV = config.TimeOffsetV(fTimeOffsetV);
243  fHasTimeOffsetZ = config.TimeOffsetZ(fTimeOffsetZ);
244  fHasTimeOffsetY = config.TimeOffsetY(fTimeOffsetY);
245  fHasTimeOffsetX = config.TimeOffsetX(fTimeOffsetX);
246 
247  fSternheimerParameters.a = config.SternheimerA();
248  fSternheimerParameters.k = config.SternheimerK();
249  fSternheimerParameters.x0 = config.SternheimerX0();
250  fSternheimerParameters.x1 = config.SternheimerX1();
251  fSternheimerParameters.cbar = config.SternheimerCbar();
252  fSimpleBoundary = config.SimpleBoundary();
253 
254  } // DetectorPropertiesStandard::Configure()
double fTimeOffsetZ
time offset to convert spacepoint coordinates to hit times on view Z
double fTimeOffsetX
time offset to convert spacepoint coordinates to hit times on view X
double fHasTimeOffsetU
whether time offset was configured for view U
double fTimeOffsetU
time offset to convert spacepoint coordinates to hit times on view U
double fElectronsToADC
conversion factor for # of ionization electrons to 1 ADC count
double fHasTimeOffsetZ
whether time offset was configured for view Z
double fTimeOffsetY
time offset to convert spacepoint coordinates to hit times on view Y
double fHasTimeOffsetX
whether time offset was configured for view X
static Config * config
Definition: config.cpp:1054
std::vector< double > fEfield
kV/cm (per inter-plane volume)
unsigned int fNumberTimeSamples
number of clock ticks per event
unsigned int fReadOutWindowSize
number of clock ticks per readout window
double fTimeOffsetV
time offset to convert spacepoint coordinates to hit times on view V
SternheimerParameters_t fSternheimerParameters
Sternheimer parameters.
double fHasTimeOffsetY
whether time offset was configured for view Y
double fHasTimeOffsetV
whether time offset was configured for view V
detinfo::DetectorPropertiesData spdp::DetectorPropertiesProtoDUNEsp::DataFor ( const detinfo::DetectorClocksData clockData) const
override

Definition at line 223 of file DetectorPropertiesProtoDUNEsp.cxx.

224  {
225  return CalculateXTicksParams(clockData);
226  }
detinfo::DetectorPropertiesData CalculateXTicksParams(detinfo::DetectorClocksData const &clockData) const
double spdp::DetectorPropertiesProtoDUNEsp::Density ( double  temperature) const
overridevirtual

Returns argon density at a given temperature.

Parameters
temperaturethe temperature in kelvin
Returns
argon density in g/cm^3

Density is nearly a linear function of temperature. See the NIST tables for details Slope is between -6.2 and -6.1, intercept is 1928 kg/m^3. This parameterization will be good to better than 0.5%.g/cm^3

Implements detinfo::DetectorProperties.

Definition at line 304 of file DetectorPropertiesProtoDUNEsp.cxx.

305  {
306  // Default temperature use internal value.
307  if(temperature == 0.)
308  temperature = Temperature();
309 
310  double density = -0.00615*temperature + 1.928;
311 
312  return density;
313  } // DetectorPropertiesStandard::Density()
virtual double Temperature() const override
In kelvin.
virtual double spdp::DetectorPropertiesProtoDUNEsp::Density ( ) const
inlineoverridevirtual

Returns argon density at the temperature from Temperature()

Reimplemented from detinfo::DetectorProperties.

Definition at line 261 of file DetectorPropertiesProtoDUNEsp.h.

261 { return Density(Temperature()); }
virtual double Temperature() const override
In kelvin.
virtual double Density() const override
Returns argon density at the temperature from Temperature()
double spdp::DetectorPropertiesProtoDUNEsp::DriftVelocity ( double  efield = 0.,
double  temperature = 0. 
) const
overridevirtual

cm/us

Implements detinfo::DetectorProperties.

Definition at line 402 of file DetectorPropertiesProtoDUNEsp.cxx.

402  {
403  // Drift Velocity as a function of Electric Field and LAr Temperature
404  // from : W. Walkowiak, NIM A 449 (2000) 288-294
405  //
406  // Efield should have units of kV/cm
407  // Temperature should have units of Kelvin
408  // Default Efield, use internal value.
409  if(efield == 0.)
410  efield = Efield();
411  //
412  if(efield > 4.0)
413  mf::LogWarning("DetectorPropertiesStandard") << "DriftVelocity Warning! : E-field value of "
414  << efield
415  << " kV/cm is outside of range covered by drift"
416  << " velocity parameterization. Returned value"
417  << " may not be correct";
418  // Default temperature use internal value.
419  if(temperature == 0.)
420  temperature = Temperature();
421  if(temperature < 87.0 || temperature > 94.0)
422  mf::LogWarning("DetectorPropertiesStandard") << "DriftVelocity Warning! : Temperature value of "
423  << temperature
424  << " K is outside of range covered by drift velocity"
425  << " parameterization. Returned value may not be"
426  << " correct";
427  double tshift = -87.203+temperature;
428  double xFit = 0.0938163-0.0052563*tshift-0.0001470*tshift*tshift;
429  double uFit = 5.18406+0.01448*tshift-0.003497*tshift*tshift-0.000516*tshift*tshift*tshift;
430  double vd;
431  // Icarus Parameter Set, use as default
432  double P1 = -0.04640; // K^-1
433  double P2 = 0.01712; // K^-1
434  double P3 = 1.88125; // (kV/cm)^-1
435  double P4 = 0.99408; // kV/cm
436  double P5 = 0.01172; // (kV/cm)^-P6
437  double P6 = 4.20214;
438  double T0 = 105.749; // K
439  // Walkowiak Parameter Set
440  double P1W = -0.01481; // K^-1
441  double P2W = -0.0075; // K^-1
442  double P3W = 0.141; // (kV/cm)^-1
443  double P4W = 12.4; // kV/cm
444  double P5W = 1.627; // (kV/cm)^-P6
445  double P6W = 0.317;
446  double T0W = 90.371; // K
447  // From Craig Thorne . . . currently not documented
448  // smooth transition from linear at small fields to
449  // icarus fit at most fields to Walkowiak at very high fields
450  if (efield < xFit) vd=efield*uFit;
451  else if (efield<0.619) {
452  vd = ((P1*(temperature-T0)+1)
453  *(P3*efield*std::log(1+P4/efield) + P5*std::pow(efield,P6))
454  +P2*(temperature-T0));
455  }
456  else if (efield<0.699) {
457  vd = 12.5*(efield-0.619)*((P1W*(temperature-T0W)+1)
458  *(P3W*efield*std::log(1+P4W/efield) + P5W*std::pow(efield,P6W))
459  +P2W*(temperature-T0W))+
460  12.5*(0.699-efield)*((P1*(temperature-T0)+1)
461  *(P3*efield*std::log(1+P4/efield) + P5*std::pow(efield,P6))
462  +P2*(temperature-T0));
463  }
464  else {
465  vd = ((P1W*(temperature-T0W)+1)
466  *(P3W*efield*std::log(1+P4W/efield) + P5W*std::pow(efield,P6W))
467  +P2W*(temperature-T0W));
468  }
469  vd /= 10.;
470  return vd; // in cm/us
471  }
constexpr T pow(T x)
Definition: pow.h:72
virtual double Efield(unsigned int planegap=0) const override
kV/cm
MaybeLogger_< ELseverityLevel::ELsev_warning, false > LogWarning
virtual double Temperature() const override
In kelvin.
double spdp::DetectorPropertiesProtoDUNEsp::Efield ( unsigned int  planegap = 0) const
overridevirtual

kV/cm

Implements detinfo::DetectorProperties.

Definition at line 293 of file DetectorPropertiesProtoDUNEsp.cxx.

294  {
295  if(planegap >= fEfield.size())
296  throw cet::exception("DetectorPropertiesStandard") << "requesting Electric field in a plane gap that is not defined\n";
297 
298 
299  return fEfield[planegap];
300  }
std::vector< double > fEfield
kV/cm (per inter-plane volume)
cet::coded_exception< error, detail::translate > exception
Definition: exception.h:33
virtual double spdp::DetectorPropertiesProtoDUNEsp::ElectronLifetime ( ) const
inlineoverridevirtual

Returns the attenuation constant for ionization electrons.

Returns
the attenuation constant [µs]

The returned constant τ can be used to know the attenuation the ionization charge undergoes after drifting for a certain time t: $ A(t) = e^{-t/\tau} $ (t is measured in microseconds).

This is a uniform, constant value for the detector.

Implements detinfo::DetectorProperties.

Definition at line 245 of file DetectorPropertiesProtoDUNEsp.h.

245 { return fElectronlifetime; } //< microseconds
virtual double spdp::DetectorPropertiesProtoDUNEsp::ElectronsToADC ( ) const
inlineoverridevirtual

Implements detinfo::DetectorProperties.

Definition at line 291 of file DetectorPropertiesProtoDUNEsp.h.

291 { return fElectronsToADC; }
double fElectronsToADC
conversion factor for # of ionization electrons to 1 ADC count
double spdp::DetectorPropertiesProtoDUNEsp::Eloss ( double  mom,
double  mass,
double  tcut 
) const
overridevirtual

Restricted mean energy loss (dE/dx)

Parameters
mommomentum of incident particle [GeV/c]
massmass of incident particle [GeV/c^2]
tcutmaximum kinetic energy of delta rays [MeV]; 0 for unlimited
Returns
the restricted mean energy loss (dE/dx) in units of MeV/cm

Returned value is always positive. For unrestricted mean energy loss, set tcut = 0 (special case), or tcut large.

Based on Bethe-Bloch formula as contained in particle data book. Material parameters are from the configuration.

Implements detinfo::DetectorProperties.

Definition at line 333 of file DetectorPropertiesProtoDUNEsp.cxx.

334  {
335  // Some constants.
336 
337  double K = 0.307075; // 4 pi N_A r_e^2 m_e c^2 (MeV cm^2/mol).
338  double me = 0.510998918; // Electron mass (MeV/c^2).
339 
340  // Calculate kinematic quantities.
341 
342  double bg = mom / mass; // beta*gamma.
343  double gamma = sqrt(1. + bg*bg); // gamma.
344  double beta = bg / gamma; // beta (velocity).
345  double mer = 0.001 * me / mass; // electron mass / mass of incident particle.
346  double tmax = 2.*me* bg*bg / (1. + 2.*gamma*mer + mer*mer); // Maximum delta ray energy (MeV).
347 
348  // Make sure tcut does not exceed tmax.
349 
350  if(tcut == 0. || tcut > tmax)
351  tcut = tmax;
352 
353  // Calculate density effect correction (delta).
354 
355  double x = std::log10(bg);
356  double delta = 0.;
357  if(x >= fSternheimerParameters.x0) {
358  delta = 2. * std::log(10.) * x - fSternheimerParameters.cbar;
359  if(x < fSternheimerParameters.x1)
361  }
362 
363  // Calculate stopping number.
364 
365  double B = 0.5 * std::log(2.*me*bg*bg*tcut / (1.e-12 * sqr(fLP->ExcitationEnergy())))
366  - 0.5 * beta*beta * (1. + tcut / tmax) - 0.5 * delta;
367 
368  // Don't let the stopping number become negative.
369 
370  if(B < 1.)
371  B = 1.;
372 
373  // Calculate dE/dx.
374 
375  double dedx = Density() * K*fLP->AtomicNumber()*B / (fLP->AtomicMass() * beta*beta);
376 
377  // Done.
378 
379  return dedx;
380  } // DetectorPropertiesStandard::Eloss()
double beta(double KE, const simb::MCParticle *part)
constexpr T pow(T x)
Definition: pow.h:72
T sqr(T v)
virtual double ExcitationEnergy() const =0
Mean excitation energy of the liquid (eV)
virtual double AtomicMass() const =0
Atomic mass of the liquid (g/mol)
const double e
double gamma(double KE, const simb::MCParticle *part)
virtual double AtomicNumber() const =0
Atomic number of the liquid.
list x
Definition: train.py:276
SternheimerParameters_t fSternheimerParameters
Sternheimer parameters.
virtual double Density() const override
Returns argon density at the temperature from Temperature()
double spdp::DetectorPropertiesProtoDUNEsp::ElossVar ( double  mom,
double  mass 
) const
overridevirtual

Energy loss fluctuation ( $ \sigma_{E}^2 / x $)

Parameters
mommomentum of incident particle in [GeV/c]
massmass of incident particle [GeV/c^2]
Returns
energy loss fluctuation in MeV^2/cm

Based on Bichsel formula referred to but not given in PDG.

Implements detinfo::DetectorProperties.

Definition at line 383 of file DetectorPropertiesProtoDUNEsp.cxx.

384  {
385  // Some constants.
386 
387  double K = 0.307075; // 4 pi N_A r_e^2 m_e c^2 (MeV cm^2/mol).
388  double me = 0.510998918; // Electron mass (MeV/c^2).
389 
390  // Calculate kinematic quantities.
391 
392  double bg = mom / mass; // beta*gamma.
393  double gamma2 = 1. + bg*bg; // gamma^2.
394  double beta2 = bg*bg / gamma2; // beta^2.
395 
396  // Calculate final result.
397 
398  double result = gamma2 * (1. - 0.5 * beta2) * me * (fLP->AtomicNumber() / fLP->AtomicMass()) * K * Density();
399  return result;
400  } // DetectorPropertiesStandard::ElossVar()
static QCString result
virtual double AtomicMass() const =0
Atomic mass of the liquid (g/mol)
virtual double AtomicNumber() const =0
Atomic number of the liquid.
virtual double Density() const override
Returns argon density at the temperature from Temperature()
double spdp::DetectorPropertiesProtoDUNEsp::ModBoxCorrection ( double  dQdX) const
overridevirtual

Implements detinfo::DetectorProperties.

Definition at line 503 of file DetectorPropertiesProtoDUNEsp.cxx.

504  {
505  return ModBoxCorrection(dQdx, Efield());
506  }
virtual double ModBoxCorrection(double dQdX) const override
virtual double Efield(unsigned int planegap=0) const override
kV/cm
double spdp::DetectorPropertiesProtoDUNEsp::ModBoxCorrection ( double  dQdX,
double  EField 
) const
overridevirtual

Implements detinfo::DetectorProperties.

Definition at line 507 of file DetectorPropertiesProtoDUNEsp.cxx.

508  {
509  // Modified Box model correction has better behavior than the Birks
510  // correction at high values of dQ/dx.
511  double rho = Density(); // LAr density in g/cm^3
512  double Wion = 1000./util::kGeVToElectrons; // 23.6 eV = 1e, Wion in MeV/e
513  double Beta = util::kModBoxB / (rho * E_field);
514  double Alpha = util::kModBoxA;
515  double dEdx = (exp(Beta * Wion * dQdx ) - Alpha) / Beta;
516 
517  return dEdx;
518 
519  }
constexpr double kGeVToElectrons
23.6eV per ion pair, 1e9 eV/GeV
double dEdx(float dqdx, float Efield)
Definition: doAna.cpp:21
constexpr double kModBoxB
Modified Box Beta in g/(MeV cm²)*kV/cm.
constexpr double kModBoxA
Modified Box Alpha.
double Wion
Definition: doAna.cpp:16
virtual double Density() const override
Returns argon density at the temperature from Temperature()
virtual unsigned int spdp::DetectorPropertiesProtoDUNEsp::NumberTimeSamples ( ) const
inlineoverridevirtual

Implements detinfo::DetectorProperties.

Definition at line 292 of file DetectorPropertiesProtoDUNEsp.h.

292 { return fNumberTimeSamples; }
unsigned int fNumberTimeSamples
number of clock ticks per event
virtual unsigned int spdp::DetectorPropertiesProtoDUNEsp::ReadOutWindowSize ( ) const
inlineoverridevirtual

Implements detinfo::DetectorProperties.

Definition at line 293 of file DetectorPropertiesProtoDUNEsp.h.

293 { return fReadOutWindowSize; }
unsigned int fReadOutWindowSize
number of clock ticks per readout window
void spdp::DetectorPropertiesProtoDUNEsp::SetGeometry ( const geo::GeometryCore g)
inline

Definition at line 233 of file DetectorPropertiesProtoDUNEsp.h.

233 { fGeo = g; }
static constexpr double g
Definition: Units.h:144
void spdp::DetectorPropertiesProtoDUNEsp::SetLArProperties ( const detinfo::LArProperties lp)
inline

Definition at line 234 of file DetectorPropertiesProtoDUNEsp.h.

234 { fLP = lp; }
void spdp::DetectorPropertiesProtoDUNEsp::SetNumberTimeSamples ( unsigned int  nsamp)
inline

Definition at line 235 of file DetectorPropertiesProtoDUNEsp.h.

235 { fNumberTimeSamples=nsamp;}
unsigned int fNumberTimeSamples
number of clock ticks per event
void spdp::DetectorPropertiesProtoDUNEsp::Setup ( providers_type  providers)

Sets all the providers at once.

Parameters
providersthe pack of service providers we depend on

Example:

lar::DetectorPropertiesStandard::providers_type providers;
providers.set(lar::providerFrom<geo::Geometry>());
providers.set(lar::providerFrom<detinfo::LArPropertiesService>());
providers.set(lar::providerFrom<detinfo::DetectorClocksService>());
detprop->Setup(providers);

Definition at line 282 of file DetectorPropertiesProtoDUNEsp.cxx.

282  {
283 
284  SetGeometry(providers.get<geo::GeometryCore>());
285  SetLArProperties(providers.get<detinfo::LArProperties>());
286 
288 
289  } // DetectorPropertiesStandard::Setup()
void SetGeometry(const geo::GeometryCore *g)
Description of geometry of one entire detector.
void SetLArProperties(const detinfo::LArProperties *lp)
virtual bool spdp::DetectorPropertiesProtoDUNEsp::SimpleBoundary ( ) const
inlineoverridevirtual
virtual double spdp::DetectorPropertiesProtoDUNEsp::Temperature ( ) const
inlineoverridevirtual

In kelvin.

Implements detinfo::DetectorProperties.

Definition at line 264 of file DetectorPropertiesProtoDUNEsp.h.

virtual double spdp::DetectorPropertiesProtoDUNEsp::TimeOffsetU ( ) const
inlineoverridevirtual

Implements detinfo::DetectorProperties.

Definition at line 294 of file DetectorPropertiesProtoDUNEsp.h.

294 { return fTimeOffsetU; };
double fTimeOffsetU
time offset to convert spacepoint coordinates to hit times on view U
virtual double spdp::DetectorPropertiesProtoDUNEsp::TimeOffsetV ( ) const
inlineoverridevirtual

Implements detinfo::DetectorProperties.

Definition at line 295 of file DetectorPropertiesProtoDUNEsp.h.

295 { return fTimeOffsetV; };
double fTimeOffsetV
time offset to convert spacepoint coordinates to hit times on view V
virtual double spdp::DetectorPropertiesProtoDUNEsp::TimeOffsetY ( ) const
inlineoverridevirtual

Reimplemented from detinfo::DetectorProperties.

Definition at line 297 of file DetectorPropertiesProtoDUNEsp.h.

297 { return fTimeOffsetY; };
double fTimeOffsetY
time offset to convert spacepoint coordinates to hit times on view Y
virtual double spdp::DetectorPropertiesProtoDUNEsp::TimeOffsetZ ( ) const
inlineoverridevirtual

Implements detinfo::DetectorProperties.

Definition at line 296 of file DetectorPropertiesProtoDUNEsp.h.

296 { return fTimeOffsetZ; };
double fTimeOffsetZ
time offset to convert spacepoint coordinates to hit times on view Z
bool spdp::DetectorPropertiesProtoDUNEsp::UpdateHV ( std::string  filename)

Definition at line 146 of file DetectorPropertiesProtoDUNEsp.cxx.

147  {
148 
149 
150 
151  bool retVal=false;
152 
154  retVal = true;
155 
157  auto metadata=ifdh->getMetadata(filename);
158 
159  int run = 0;
160  std::string run_str="Runs: ";
161  if(metadata.find(run_str)!=std::string::npos){
162  int n1 = metadata.find(run_str);
163  n1 += run_str.length();
164  int n2 = metadata.find(".", n1);
165  run = std::stoi(metadata.substr(n1, n2-n1));
166  std::cout<<"Run number from metadata: "<<run<<std::endl;
167  }
168 
169  std::string hv_str="detector.hv_value: ";
170  if(metadata.find(hv_str)!=std::string::npos){
171  int n1 = metadata.find(hv_str);
172  n1 += hv_str.length();
173  int n2 = metadata.find("\n", n1);
174 
175  fHV_cath=std::stod(metadata.substr(n1, n2-n1));
176  std::cout<<"Using HV on cathode as: "<<fHV_cath<<"KV, Value retreived from samweb MetaData"<<std::endl;
177  }
178  else{
179  std::cout<<"HV Metadata entry not found"<<std::endl;
180  std::cout<<"Run has no nomninal HV value entered in Metadata, default to 180KV"<<std::endl;
181  fHV_cath=180;
182  }
183 
184 
185 
186  double Gplane_bias=(-0.665); //
187  double Uplane_bias=(-0.370);
188  double Vplane_bias=0;
189  double Xplane_bias=(0.820);
190 
191 
192  //double Gplane_bias=(-0.665*(fHV_cath/180)); // this is scaling, wasnt actually done.
193  //double Uplane_bias=(-0.370*(fHV_cath/180));
194  //double Vplane_bias=0;
195  //double Xplane_bias=0.820*(fHV_cath/180);
196  fEfield={fHV_cath/360,std::fabs(Gplane_bias-Uplane_bias)/0.47625,std::fabs(Uplane_bias-Vplane_bias)/0.47625,std::fabs(Vplane_bias-Xplane_bias)/0.47625};
197  //fEfield[0]=fHV_cath/360;
198  //fEfield[1]=std::fabs(Gplane_bias-Uplane_bias)/0.475;
199  //fEfield[2]=std::fabs(Uplane_bias-Vplane_bias)/0.475;
200  //fEfield[3]=std::fabs(Vplane_bias-Xplane_bias)/0.475;
201  if (std::abs(fHV_cath-180) < 1e-6){
202  // Use the corrected E field from Flavio, Francesco and Stefania
203  // Ref: https://indico.fnal.gov/event/20939/contribution/1/material/slides/0.pdf
204  if (run < 6725){ //first run in Feb 8, 2019
205  fEfield[0] = 0.4867;
206  }
207  else{
208  fEfield[0] = 0.4995;
209  }
210  }
211  std::cout<<"Calculated E field in 4 plane gaps as: "<<fEfield[0]<<","<<fEfield[1]<<","<<fEfield[2]<<","<<fEfield[3]<<std::endl;
212  }//End GetHVDriftfrom MetaData if
213 
214 
215  return retVal;
216  }
std::string string
Definition: nybbler.cc:12
string filename
Definition: train.py:213
T abs(T value)
const double e
std::vector< double > fEfield
kV/cm (per inter-plane volume)
QTextStream & endl(QTextStream &s)
bool spdp::DetectorPropertiesProtoDUNEsp::UpdateReadoutWindowSize ( detinfo::DetectorClocksData const &  clockData,
std::string  filename 
)

Definition at line 112 of file DetectorPropertiesProtoDUNEsp.cxx.

113  {
114 
115  bool retVal=false;
116 
119  auto metadata=ifdh->getMetadata(filename);
120  retVal = true;
121  std::string window_str="DUNE_data.readout_window: ";
122  if(metadata.find(window_str)!=std::string::npos){
123  int n1 = metadata.find(window_str);
124  n1 += window_str.length();
125  int n2 = metadata.find("\n", n1);
126  double window=std::stod(metadata.substr(n1, n2-n1)); //milliseconds
127  double ticks=window*1000/(clockData.TPCClock().TickPeriod()); //sampling rate 2Mhz
130  std::cout<<"Setting ReadOutWindowSize and NumberTimeSamples as : "<<fReadOutWindowSize<<" (Ticks), Value retrieved from Metadata"<<std::endl;
131  }
132  else{
133  std::cout<<"Run has no specific readout window size entry in Metadata, default to fcl configured value : "<<fReadOutWindowSize<<" (Ticks)"<<std::endl;
134  }
135  }
136 
137  return retVal;
138 
139  }
std::string string
Definition: nybbler.cc:12
string filename
Definition: train.py:213
tick ticks
Alias for common language habits.
Definition: electronics.h:78
unsigned int fNumberTimeSamples
number of clock ticks per event
unsigned int fReadOutWindowSize
number of clock ticks per readout window
QTextStream & endl(QTextStream &s)
bool spdp::DetectorPropertiesProtoDUNEsp::UpdateTemp ( int  run)

Definition at line 93 of file DetectorPropertiesProtoDUNEsp.cxx.

94  {
95 
96 
97  if(fUseRunDependentTemperature){ // updata the temperature based on run number for data
98 
99  if ((run > 5903) & (run < 6930)){ //first runs after Nov 17 2019 and March 1 2019, where tempreture average was lower
100  fTemperature = 87.36;
101  }
102  else if (run >= 6930)
103  {
104  fTemperature = 87.65;
105  }
106  }
107 
108 
109  return true;
110  }
void spdp::DetectorPropertiesProtoDUNEsp::ValidateAndConfigure ( fhicl::ParameterSet const &  p,
std::set< std::string > const &  ignore_params = {} 
)

Configures the provider, first validating the configuration.

Parameters
pconfiguration parameter set
ignore_paramsparameters to be ignored (optional)

This method will validate the parameter set (except for the parameters it's explicitly told to ignore) and extract the useful information out of it.

Definition at line 273 of file DetectorPropertiesProtoDUNEsp.cxx.

276  {
277  Configure(ValidateConfiguration(p, ignore_params));
278  } // ValidateAndConfigure()
void Configure(Configuration_t const &config)
Extracts the relevant configuration from the specified object.
p
Definition: test.py:223
Configuration_t ValidateConfiguration(fhicl::ParameterSet const &p, std::set< std::string > const &ignore_params={})
Validates the specified configuration.
DetectorPropertiesProtoDUNEsp::Configuration_t spdp::DetectorPropertiesProtoDUNEsp::ValidateConfiguration ( fhicl::ParameterSet const &  p,
std::set< std::string > const &  ignore_params = {} 
)

Validates the specified configuration.

Parameters
pconfiguration parameter set
ignore_paramsparameters to be ignored (optional)
Returns
a parsed configuration object
See also
ValidateAndConfigure(), Configure()

This method will validate the parameter set (except for the parameters it's explicitly told to ignore) and it returns an object ready to be used with Configure().

Definition at line 258 of file DetectorPropertiesProtoDUNEsp.cxx.

261  {
262  std::set<std::string> ignorable_keys = lar::IgnorableProviderConfigKeys();
263  ignorable_keys.insert(ignore_params.begin(), ignore_params.end());
264 
265  // parses and validates the parameter set:
266  fhicl::Table<Configuration_t> config_table { p, ignorable_keys };
267 
268  return std::move(config_table());
269 
270  } // DetectorPropertiesStandard::ValidateConfiguration()
def move(depos, offset)
Definition: depos.py:107
p
Definition: test.py:223
std::set< std::string > const & IgnorableProviderConfigKeys()
Returns a list of configuration keys that providers should ignore.
Definition: ProviderUtil.h:35

Member Data Documentation

std::vector<double> spdp::DetectorPropertiesProtoDUNEsp::fEfield
protected

kV/cm (per inter-plane volume)

Definition at line 332 of file DetectorPropertiesProtoDUNEsp.h.

double spdp::DetectorPropertiesProtoDUNEsp::fElectronlifetime
protected

microseconds

Definition at line 333 of file DetectorPropertiesProtoDUNEsp.h.

double spdp::DetectorPropertiesProtoDUNEsp::fElectronsToADC
protected

conversion factor for # of ionization electrons to 1 ADC count

Definition at line 336 of file DetectorPropertiesProtoDUNEsp.h.

const geo::GeometryCore* spdp::DetectorPropertiesProtoDUNEsp::fGeo
protected

Definition at line 324 of file DetectorPropertiesProtoDUNEsp.h.

bool spdp::DetectorPropertiesProtoDUNEsp::fGetHVDriftfromMetaData
protected

Definition at line 328 of file DetectorPropertiesProtoDUNEsp.h.

bool spdp::DetectorPropertiesProtoDUNEsp::fGetReadOutWindowSizefromMetaData
protected

Definition at line 329 of file DetectorPropertiesProtoDUNEsp.h.

double spdp::DetectorPropertiesProtoDUNEsp::fHasTimeOffsetU = false
protected

whether time offset was configured for view U

Definition at line 344 of file DetectorPropertiesProtoDUNEsp.h.

double spdp::DetectorPropertiesProtoDUNEsp::fHasTimeOffsetV = false
protected

whether time offset was configured for view V

Definition at line 345 of file DetectorPropertiesProtoDUNEsp.h.

double spdp::DetectorPropertiesProtoDUNEsp::fHasTimeOffsetX = false
protected

whether time offset was configured for view X

Definition at line 348 of file DetectorPropertiesProtoDUNEsp.h.

double spdp::DetectorPropertiesProtoDUNEsp::fHasTimeOffsetY = false
protected

whether time offset was configured for view Y

Definition at line 347 of file DetectorPropertiesProtoDUNEsp.h.

double spdp::DetectorPropertiesProtoDUNEsp::fHasTimeOffsetZ = false
protected

whether time offset was configured for view Z

Definition at line 346 of file DetectorPropertiesProtoDUNEsp.h.

double spdp::DetectorPropertiesProtoDUNEsp::fHV_cath
protected

Definition at line 331 of file DetectorPropertiesProtoDUNEsp.h.

const detinfo::LArProperties* spdp::DetectorPropertiesProtoDUNEsp::fLP
protected

Definition at line 323 of file DetectorPropertiesProtoDUNEsp.h.

unsigned int spdp::DetectorPropertiesProtoDUNEsp::fNumberTimeSamples
protected

number of clock ticks per event

Definition at line 337 of file DetectorPropertiesProtoDUNEsp.h.

unsigned int spdp::DetectorPropertiesProtoDUNEsp::fReadOutWindowSize
protected

number of clock ticks per readout window

Definition at line 338 of file DetectorPropertiesProtoDUNEsp.h.

double spdp::DetectorPropertiesProtoDUNEsp::fSamplingRate
protected

in ns

Definition at line 335 of file DetectorPropertiesProtoDUNEsp.h.

bool spdp::DetectorPropertiesProtoDUNEsp::fSimpleBoundary
protected

Definition at line 352 of file DetectorPropertiesProtoDUNEsp.h.

SternheimerParameters_t spdp::DetectorPropertiesProtoDUNEsp::fSternheimerParameters
protected

Sternheimer parameters.

Definition at line 350 of file DetectorPropertiesProtoDUNEsp.h.

double spdp::DetectorPropertiesProtoDUNEsp::fTemperature
protected

kelvin

Definition at line 334 of file DetectorPropertiesProtoDUNEsp.h.

double spdp::DetectorPropertiesProtoDUNEsp::fTimeOffsetU
protected

time offset to convert spacepoint coordinates to hit times on view U

Definition at line 339 of file DetectorPropertiesProtoDUNEsp.h.

double spdp::DetectorPropertiesProtoDUNEsp::fTimeOffsetV
protected

time offset to convert spacepoint coordinates to hit times on view V

Definition at line 340 of file DetectorPropertiesProtoDUNEsp.h.

double spdp::DetectorPropertiesProtoDUNEsp::fTimeOffsetX
protected

time offset to convert spacepoint coordinates to hit times on view X

Definition at line 343 of file DetectorPropertiesProtoDUNEsp.h.

double spdp::DetectorPropertiesProtoDUNEsp::fTimeOffsetY
protected

time offset to convert spacepoint coordinates to hit times on view Y

Definition at line 342 of file DetectorPropertiesProtoDUNEsp.h.

double spdp::DetectorPropertiesProtoDUNEsp::fTimeOffsetZ
protected

time offset to convert spacepoint coordinates to hit times on view Z

Definition at line 341 of file DetectorPropertiesProtoDUNEsp.h.

bool spdp::DetectorPropertiesProtoDUNEsp::fUseRunDependentTemperature
protected

Definition at line 330 of file DetectorPropertiesProtoDUNEsp.h.


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