LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
detinfo::DetectorPropertiesData Class Reference

#include "DetectorPropertiesData.h"

Public Member Functions

 DetectorPropertiesData (DetectorProperties const &properties, double x_ticks_coefficient, std::vector< std::vector< std::vector< double >>> &&x_ticks_offsets, std::vector< std::vector< double >> &&drift_direction)
 
double Efield (unsigned int planegap=0) const
 kV/cm More...
 
double DriftVelocity (double efield=0., double temperature=0.) const
 cm/us More...
 
double BirksCorrection (double dQdX) const
 dQ/dX in electrons/cm, returns dE/dX in MeV/cm. More...
 
double BirksCorrection (double dQdX, double EField) const
 
double ModBoxCorrection (double dQdX) const
 
double ModBoxCorrection (double dQdX, double EField) const
 
double ElectronLifetime () const
 
double Density (double temperature=0.) const
 Returns argon density at a given temperature. More...
 
double Temperature () const
 In kelvin. More...
 
double Eloss (double mom, double mass, double tcut) const
 Restricted mean energy loss (dE/dx) More...
 
double ElossVar (double mom, double mass) const
 Energy loss fluctuation ( $ \sigma_{E}^2 / x $) More...
 
double ElectronsToADC () const
 
unsigned int NumberTimeSamples () const
 
unsigned int ReadOutWindowSize () const
 
double TimeOffsetU () const
 
double TimeOffsetV () const
 
double TimeOffsetZ () const
 
double TimeOffsetY () const
 
double ConvertXToTicks (double X, int p, int t, int c) const
 
double ConvertXToTicks (double X, geo::PlaneID const &planeid) const
 
double ConvertTicksToX (double ticks, int p, int t, int c) const
 
double ConvertTicksToX (double ticks, geo::PlaneID const &planeid) const
 
double GetXTicksOffset (int p, int t, int c) const
 
double GetXTicksOffset (geo::PlaneID const &planeid) const
 
double GetXTicksCoefficient (int t, int c) const
 
double GetXTicksCoefficient (geo::TPCID const &tpcid) const
 
double GetXTicksCoefficient () const
 
bool SimpleBoundary () const
 

Private Attributes

detinfo::DetectorProperties const & fProperties
 
double const fXTicksCoefficient
 
std::vector< std::vector< std::vector< double > > > const fXTicksOffsets
 
std::vector< std::vector< double > > const fDriftDirection
 

Detailed Description

Definition at line 11 of file DetectorPropertiesData.h.

Constructor & Destructor Documentation

detinfo::DetectorPropertiesData::DetectorPropertiesData ( DetectorProperties const &  properties,
double  x_ticks_coefficient,
std::vector< std::vector< std::vector< double >>> &&  x_ticks_offsets,
std::vector< std::vector< double >> &&  drift_direction 
)
explicit

Definition at line 4 of file DetectorPropertiesData.cc.

References fDriftDirection, fXTicksCoefficient, and fXTicksOffsets.

10  : fProperties{properties}
11  , fXTicksCoefficient{x_ticks_coefficient}
12  , fXTicksOffsets{move(x_ticks_offsets)}
13  , fDriftDirection{move(drift_direction)}
14 {}
std::vector< std::vector< std::vector< double > > > const fXTicksOffsets
detinfo::DetectorProperties const & fProperties
std::vector< std::vector< double > > const fDriftDirection

Member Function Documentation

double detinfo::DetectorPropertiesData::BirksCorrection ( double  dQdX) const

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

Definition at line 27 of file DetectorPropertiesData.cc.

References detinfo::DetectorProperties::BirksCorrection(), Efield(), and fProperties.

Referenced by lar_pandora::LArPandoraInput::GetMips(), and evd::RecoBaseDrawer::Hit2D().

28 {
29  return fProperties.BirksCorrection(dQdX, Efield());
30 }
virtual double BirksCorrection(double dQdX) const =0
dQ/dX in electrons/cm, returns dE/dX in MeV/cm.
double Efield(unsigned int planegap=0) const
kV/cm
detinfo::DetectorProperties const & fProperties
double detinfo::DetectorPropertiesData::BirksCorrection ( double  dQdX,
double  EField 
) const

Definition at line 31 of file DetectorPropertiesData.cc.

References detinfo::DetectorProperties::BirksCorrection(), and fProperties.

33 {
34  return fProperties.BirksCorrection(dQdX, EField);
35 }
virtual double BirksCorrection(double dQdX) const =0
dQ/dX in electrons/cm, returns dE/dX in MeV/cm.
detinfo::DetectorProperties const & fProperties
double detinfo::DetectorPropertiesData::ConvertTicksToX ( double  ticks,
int  p,
int  t,
int  c 
) const

Definition at line 104 of file DetectorPropertiesData.cc.

References fDriftDirection, fXTicksCoefficient, and fXTicksOffsets.

Referenced by pma::ProjectionMatchingAlg::chkEndpointHits_(), shower::EMShowerAlg::Construct3DPoint_(), ConvertTicksToX(), tca::CreateTP3D(), reco3d::TripletFinder::FillHitMap(), tca::FillmAllTraj(), tca::Find3DVertices(), vertex::FeatureVertexFinder::Find3dVtxFrom2dClusterVtxCand(), apa::DisambigAlg::FindChanTimeEndPts(), cluster::ClusterCrawlerAlg::FindHammerClusters(), trkf::CCTrackMaker::FitVertices(), vertex::FeatureVertexFinder::Get3dVertexCandidates(), trkf::SeedFinderAlgorithm::GetCenterAndDirection(), trkf::SeedFinderAlgorithm::GetHitDistAndProj(), calo::Calorimetry::GetPitch(), quad::GetPts2D(), pma::ProjectionMatchingAlg::guideEndpoints(), ems::Hit2D::Hit2D(), shower::LArPandoraShowerAlg::HitCoordinates(), shower::EMShowerAlg::HitPosition_(), pma::Track3D::InitFromHits(), trkf::KHitWireLine::KHitWireLine(), trkf::KHitWireX::KHitWireX(), ems::EMShower3D::Link(), trkf::Track3DKalmanHitAlg::makeSeed(), tca::MakeTP3D(), tca::Match3DFOM(), pma::PMAlgTracker::matchCluster(), cluster::ClusterMatchTQ::MatchedClusters(), pma::PMAlgTracker::maxCluster(), pma::Node3D::Node3D(), evd::RecoBaseDrawer::OpFlashOrtho(), lar_cluster3d::PrincipalComponentsAlg::PCAAnalysis_2D(), trkf::TrackKalmanFitter::setupInputStates(), trkf::CCTrackMaker::StoreTrack(), trkf::CosmicTrackerAlg::Track3D(), trkf::CosmicTrackerAlg::TrackTrajectory(), pma::ProjectionMatchingAlg::validate(), pma::ProjectionMatchingAlg::validate_on_adc_test(), cluster::ClusterCrawlerAlg::VtxMatch(), and pma::WireDriftToCm().

108 {
109  return (ticks - fXTicksOffsets.at(c).at(t).at(p)) * fXTicksCoefficient *
110  fDriftDirection.at(c).at(t);
111 }
std::vector< std::vector< std::vector< double > > > const fXTicksOffsets
tick ticks
Alias for common language habits.
Definition: electronics.h:76
std::vector< std::vector< double > > const fDriftDirection
double detinfo::DetectorPropertiesData::ConvertTicksToX ( double  ticks,
geo::PlaneID const &  planeid 
) const

Definition at line 113 of file DetectorPropertiesData.cc.

References ConvertTicksToX(), geo::CryostatID::Cryostat, geo::PlaneID::Plane, and geo::TPCID::TPC.

115 {
116  return ConvertTicksToX(ticks, planeid.Plane, planeid.TPC, planeid.Cryostat);
117 }
tick ticks
Alias for common language habits.
Definition: electronics.h:76
double ConvertTicksToX(double ticks, int p, int t, int c) const
double detinfo::DetectorPropertiesData::ConvertXToTicks ( double  X,
int  p,
int  t,
int  c 
) const

Definition at line 89 of file DetectorPropertiesData.cc.

References fDriftDirection, fXTicksCoefficient, and fXTicksOffsets.

Referenced by trkf::TrackAna::analyze(), tca::ChgFracBetween(), tca::ChgFracNearEnd(), pma::CmToWireDrift(), tca::CompleteIncomplete3DVertices(), tca::CompleteIncomplete3DVerticesInGaps(), ems::EMShower3D::ConvertFrom(), ems::EMShower3D::ConvertFrom2(), ConvertXToTicks(), evd::RecoBaseDrawer::DrawProng2D(), evd::RecoBaseDrawer::DrawTrack2D(), evd::RecoBaseDrawer::DrawTrackVertexAssns2D(), calo::TrackCalorimetryAlg::ExtractCalorimetry(), trkf::CCTrackMaker::FillChgNear(), trkf::CCTrackMaker::FillEndMatch(), tca::Find3DVertices(), trkf::FeatureTracker::Get3DFeaturePoints(), trkf::FeatureTracker::GetProjectedEnds(), nnet::TrainingDataAlg::getProjection(), shower::TCShowerElectronLikelihood::getShowerProfile(), tca::MakeBareTP(), shower::TCShowerAlg::makeShowers(), tca::MakeTP3D(), shower::EMShowerAlg::OrderShowerHits_(), tca::PosInPlane(), trkf::CCTrackMaker::PrintClusters(), shower::EMShowerAlg::Project3DPointOntoPlane_(), evd::RecoBaseDrawer::Prong2D(), evd::RecoBaseDrawer::Seed2D(), shower::TCShowerTemplateMaker::showerProfile(), shower::TCShowerTemplateMaker::showerProfileTrue(), evd::RecoBaseDrawer::Slice2D(), tca::SplitTraj(), trkf::CosmicTrackerAlg::TrackTrajectory(), pma::ProjectionMatchingAlg::validate_on_adc(), pma::ProjectionMatchingAlg::validate_on_adc_test(), evd::RecoBaseDrawer::Vertex2D(), cluster::ClusterCrawlerAlg::Vtx3ClusterMatch(), and cluster::ClusterCrawlerAlg::Vtx3ClusterSplit().

93 {
94  return (X / (fXTicksCoefficient * fDriftDirection.at(c).at(t)) +
95  fXTicksOffsets.at(c).at(t).at(p));
96 }
std::vector< std::vector< std::vector< double > > > const fXTicksOffsets
std::vector< std::vector< double > > const fDriftDirection
Float_t X
Definition: plot.C:37
double detinfo::DetectorPropertiesData::ConvertXToTicks ( double  X,
geo::PlaneID const &  planeid 
) const

Definition at line 98 of file DetectorPropertiesData.cc.

References ConvertXToTicks(), geo::CryostatID::Cryostat, geo::PlaneID::Plane, and geo::TPCID::TPC.

100 {
101  return ConvertXToTicks(X, planeid.Plane, planeid.TPC, planeid.Cryostat);
102 }
double ConvertXToTicks(double X, int p, int t, int c) const
Float_t X
Definition: plot.C:37
double detinfo::DetectorPropertiesData::Density ( double  temperature = 0.) const

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

Definition at line 67 of file DetectorPropertiesData.cc.

References detinfo::DetectorProperties::Density(), and fProperties.

Referenced by trkf::TrackStatePropagator::apply_mcs(), larg4::ISCalcSeparate::CalcIon(), larg4::ISCalcNESTLAr::CalcIonAndScint(), calo::CalorimetryAlg::dEdx_from_dQdx_e(), larg4::ISCalculationCorrelated::ISCalculationCorrelated(), and trkf::InteractPlane::noise().

68 {
69  return fProperties.Density(temperature);
70 }
detinfo::DetectorProperties const & fProperties
virtual double Density(double temperature) const =0
Returns argon density at a given temperature.
double detinfo::DetectorPropertiesData::Efield ( unsigned int  planegap = 0) const

kV/cm

Definition at line 16 of file DetectorPropertiesData.cc.

References detinfo::DetectorProperties::Efield(), and fProperties.

Referenced by BirksCorrection(), larg4::ISCalcSeparate::CalcIon(), larg4::ISCalcNESTLAr::CalcIonAndScint(), larg4::ISCalcCorrelated::CalcIonAndScint(), detsim::ISCalculationSeparate::CalculateIonization(), calo::CalorimetryAlg::dEdx_AMP(), calo::CalorimetryAlg::dEdx_AREA(), calo::CalorimetryAlg::dEdx_from_dQdx_e(), cluster::HoughBaseAlg::FastTransform(), tca::FillWireHitRange(), evd::TWQMultiTPCProjectionView::FindLineLength(), evd::TWQProjectionView::FindLineLength(), cluster::SmallClusterFinderAlg::FindSmallClusters(), util::GeometryUtilities::GeometryUtilities(), calo::GnocchiCalorimetry::GetEfield(), larg4::MaterialPropertyLoader::GetPropertiesFromServices(), shower::TCShowerElectronLikelihood::getShowerProfile(), shower::TCShowerAlg::goodHit(), cluster::HoughBaseAlg::HoughBaseAlg(), larg4::LArVoxelReadout::Initialize(), cluster::DBScanAlg::InitScan(), larg4::ISCalculationCorrelated::ISCalculationCorrelated(), trkf::CosmicTrackerAlg::MakeSPT(), ModBoxCorrection(), cluster::ClusterCrawlerAlg::RunCrawler(), shower::TCShowerTemplateMaker::showerProfile(), shower::TCShowerTemplateMaker::showerProfileTrue(), and trkf::CosmicTrackerAlg::Track3D().

17 {
18  return fProperties.Efield(planegap);
19 }
detinfo::DetectorProperties const & fProperties
virtual double Efield(unsigned int planegap=0) const =0
Returns the nominal electric field in the specified volume.
double detinfo::DetectorPropertiesData::ElectronsToADC ( ) const

Definition at line 47 of file DetectorPropertiesData.cc.

References detinfo::DetectorProperties::ElectronsToADC(), and fProperties.

Referenced by lar_pandora::LArPandoraInput::GetMips(), and evd::RecoBaseDrawer::Hit2D().

48 {
49  return fProperties.ElectronsToADC();
50 }
detinfo::DetectorProperties const & fProperties
virtual double ElectronsToADC() const =0
double detinfo::DetectorPropertiesData::Eloss ( double  mom,
double  mass,
double  tcut 
) const

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.

Definition at line 77 of file DetectorPropertiesData.cc.

References detinfo::DetectorProperties::Eloss(), and fProperties.

Referenced by trkf::TrackStatePropagator::apply_dedx(), trkf::Propagator::dedx_prop(), trkf::InteractPlane::noise(), trkf::TrackStatePropagator::propagateToPlane(), and trkf::Propagator::vec_prop().

80 {
81  return fProperties.Eloss(mom, mass, tcut);
82 }
virtual double Eloss(double mom, double mass, double tcut) const =0
Restricted mean energy loss ( )
detinfo::DetectorProperties const & fProperties
double detinfo::DetectorPropertiesData::ElossVar ( double  mom,
double  mass 
) const

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.

Definition at line 84 of file DetectorPropertiesData.cc.

References detinfo::DetectorProperties::ElossVar(), and fProperties.

Referenced by trkf::TrackStatePropagator::apply_mcs(), and trkf::InteractPlane::noise().

85 {
86  return fProperties.ElossVar(mom, mass);
87 }
virtual double ElossVar(double mom, double mass) const =0
Energy loss fluctuation ( )
detinfo::DetectorProperties const & fProperties
double detinfo::DetectorPropertiesData::GetXTicksCoefficient ( geo::TPCID const &  tpcid) const
double detinfo::DetectorPropertiesData::GetXTicksCoefficient ( ) const

Definition at line 147 of file DetectorPropertiesData.cc.

References fXTicksCoefficient.

148 {
149  return fXTicksCoefficient;
150 }
double detinfo::DetectorPropertiesData::GetXTicksOffset ( geo::PlaneID const &  planeid) const

Definition at line 137 of file DetectorPropertiesData.cc.

References geo::CryostatID::Cryostat, GetXTicksOffset(), geo::PlaneID::Plane, and geo::TPCID::TPC.

138 {
139  return GetXTicksOffset(planeid.Plane, planeid.TPC, planeid.Cryostat);
140 }
double GetXTicksOffset(int p, int t, int c) const
double detinfo::DetectorPropertiesData::ModBoxCorrection ( double  dQdX) const

Definition at line 37 of file DetectorPropertiesData.cc.

References Efield(), fProperties, and detinfo::DetectorProperties::ModBoxCorrection().

38 {
39  return fProperties.ModBoxCorrection(dQdX, Efield());
40 }
virtual double ModBoxCorrection(double dQdX) const =0
double Efield(unsigned int planegap=0) const
kV/cm
detinfo::DetectorProperties const & fProperties
double detinfo::DetectorPropertiesData::ModBoxCorrection ( double  dQdX,
double  EField 
) const

Definition at line 41 of file DetectorPropertiesData.cc.

References fProperties, and detinfo::DetectorProperties::ModBoxCorrection().

43 {
44  return fProperties.ModBoxCorrection(dQdX, EField);
45 }
virtual double ModBoxCorrection(double dQdX) const =0
detinfo::DetectorProperties const & fProperties
unsigned int detinfo::DetectorPropertiesData::ReadOutWindowSize ( ) const
bool detinfo::DetectorPropertiesData::SimpleBoundary ( ) const
double detinfo::DetectorPropertiesData::TimeOffsetU ( ) const

Definition at line 119 of file DetectorPropertiesData.cc.

References fProperties, and detinfo::DetectorProperties::TimeOffsetU().

Referenced by apa::DisambigAlg::HitsOverlapInTime().

120 {
121  return fProperties.TimeOffsetU();
122 }
detinfo::DetectorProperties const & fProperties
virtual double TimeOffsetU() const =0
double detinfo::DetectorPropertiesData::TimeOffsetV ( ) const

Definition at line 123 of file DetectorPropertiesData.cc.

References fProperties, and detinfo::DetectorProperties::TimeOffsetV().

Referenced by apa::DisambigAlg::HitsOverlapInTime().

124 {
125  return fProperties.TimeOffsetV();
126 }
virtual double TimeOffsetV() const =0
detinfo::DetectorProperties const & fProperties
double detinfo::DetectorPropertiesData::TimeOffsetY ( ) const
double detinfo::DetectorPropertiesData::TimeOffsetZ ( ) const

Definition at line 127 of file DetectorPropertiesData.cc.

References fProperties, and detinfo::DetectorProperties::TimeOffsetZ().

Referenced by apa::DisambigAlg::HitsOverlapInTime().

128 {
129  return fProperties.TimeOffsetZ();
130 }
virtual double TimeOffsetZ() const =0
detinfo::DetectorProperties const & fProperties

Member Data Documentation

std::vector<std::vector<double> > const detinfo::DetectorPropertiesData::fDriftDirection
private
double const detinfo::DetectorPropertiesData::fXTicksCoefficient
private
std::vector<std::vector<std::vector<double> > > const detinfo::DetectorPropertiesData::fXTicksOffsets
private

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