LArSoft  v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
detinfo::DetectorProperties Class Referenceabstract

#include "DetectorProperties.h"

Inheritance diagram for detinfo::DetectorProperties:
detinfo::DetectorPropertiesStandard util::DetectorPropertiesServiceArgoNeuT

Public Member Functions

 DetectorProperties (const DetectorProperties &)=delete
 
 DetectorProperties (DetectorProperties &&)=delete
 
DetectorPropertiesoperator= (const DetectorProperties &)=delete
 
DetectorPropertiesoperator= (DetectorProperties &&)=delete
 
virtual ~DetectorProperties ()=default
 
virtual double Efield (unsigned int planegap=0) const =0
 Returns the nominal electric field in the specified volume. More...
 
virtual double DriftVelocity (double efield=0., double temperature=0.) const =0
 
virtual double BirksCorrection (double dQdX) const =0
 dQ/dX in electrons/cm, returns dE/dX in MeV/cm. More...
 
virtual double ModBoxCorrection (double dQdX) const =0
 
virtual double ElectronLifetime () const =0
 Returns the attenuation constant for ionization electrons. More...
 
virtual double Density (double temperature) const =0
 Returns argon density at a given temperature. More...
 
virtual double Temperature () const =0
 
virtual double Eloss (double mom, double mass, double tcut) const =0
 Restricted mean energy loss ( $ dE/dx $) More...
 
virtual double ElossVar (double mom, double mass) const =0
 Energy loss fluctuation ( $ \sigma_{E}^2 / x $) More...
 
virtual double Density () const
 Returns argon density at the temperature from Temperature() More...
 
virtual double SamplingRate () const =0
 Returns the period of the TPC readout electronics clock. More...
 
virtual double ElectronsToADC () const =0
 
virtual unsigned int NumberTimeSamples () const =0
 
virtual unsigned int ReadOutWindowSize () const =0
 
virtual int TriggerOffset () const =0
 
virtual double TimeOffsetU () const =0
 
virtual double TimeOffsetV () const =0
 
virtual double TimeOffsetZ () const =0
 
virtual double TimeOffsetY () const
 
virtual double ConvertXToTicks (double X, int p, int t, int c) const =0
 
virtual double ConvertXToTicks (double X, geo::PlaneID const &planeid) const =0
 
virtual double ConvertTicksToX (double ticks, int p, int t, int c) const =0
 
virtual double ConvertTicksToX (double ticks, geo::PlaneID const &planeid) const =0
 
virtual double GetXTicksOffset (int p, int t, int c) const =0
 
virtual double GetXTicksOffset (geo::PlaneID const &planeid) const =0
 
virtual double GetXTicksCoefficient (int t, int c) const =0
 
virtual double GetXTicksCoefficient (geo::TPCID const &tpcid) const =0
 
virtual double GetXTicksCoefficient () const =0
 
virtual double ConvertTDCToTicks (double tdc) const =0
 
virtual double ConvertTicksToTDC (double ticks) const =0
 
virtual bool SimpleBoundary () const =0
 

Protected Member Functions

 DetectorProperties ()=default
 

Detailed Description

Definition at line 21 of file DetectorProperties.h.

Constructor & Destructor Documentation

detinfo::DetectorProperties::DetectorProperties ( const DetectorProperties )
delete
detinfo::DetectorProperties::DetectorProperties ( DetectorProperties &&  )
delete
virtual detinfo::DetectorProperties::~DetectorProperties ( )
virtualdefault
detinfo::DetectorProperties::DetectorProperties ( )
protecteddefault

Referenced by TimeOffsetY().

Member Function Documentation

virtual double detinfo::DetectorProperties::BirksCorrection ( double  dQdX) const
pure virtual
virtual double detinfo::DetectorProperties::ConvertTDCToTicks ( double  tdc) const
pure virtual
virtual double detinfo::DetectorProperties::ConvertTicksToTDC ( double  ticks) const
pure virtual
virtual double detinfo::DetectorProperties::ConvertTicksToX ( double  ticks,
int  p,
int  t,
int  c 
) const
pure virtual

Implemented in detinfo::DetectorPropertiesStandard, and util::DetectorPropertiesServiceArgoNeuT.

Referenced by pma::ProjectionMatchingAlg::chkEndpointHits(), cluster::ClusterMatchTQ::ClusterMatch(), lar_cluster3d::StandardHit3DBuilder::CollectArtHits(), shower::EMShowerAlg::Construct3DPoint(), shower::HitPosition::ConvertWireTickToCm(), evd::TWQProjectionView::DrawLine(), evd::TWireProjPad::DrawLinesinView(), trkf::BezierTrackerAlgorithm::EvaluateOccupancy(), tca::FillmAllTraj(), tca::Find3DVertices(), vertex::FeatureVertexFinder::Find3dVtxFrom2dClusterVtxCand(), apa::DisambigAlg::FindChanTimeEndPts(), evd::TWQProjectionView::FindEndPoint(), cluster::ClusterCrawlerAlg::FindHammerClusters(), tca::FitTp3(), tca::FitTp3s(), vertex::FeatureVertexFinder::Get3dVertexCandidates(), trkf::SeedFinderAlgorithm::GetCenterAndDirection(), trkf::BezierTrack::GetClosestApproach(), trkf::BezierTrack::GetClosestApproaches(), lar_cluster3d::PrincipalComponentsAlg::getHit2DPocaToAxis(), trkf::SeedFinderAlgorithm::GetHitDistAndProj(), pma::ProjectionMatchingAlg::guideEndpoints(), lar_cluster3d::SpacePointHit3DBuilder::Hit3DBuilder(), shower::EMShowerAlg::HitPosition(), trkf::KHitWireLine::KHitWireLine(), trkf::KHitWireX::KHitWireX(), trkf::Track3DKalmanHitAlg::makeSeed(), tca::MakeTp3(), tca::Match3DFOM(), pma::PMAlgTracker::matchCluster(), pma::PMAlgTracker::maxCluster(), evd::SimulationDrawer::MCTruth3D(), evd::RecoBaseDrawer::OpFlashOrtho(), lar_cluster3d::PrincipalComponentsAlg::PCAAnalysis_2D(), vertex::VertexFinder2D::produce(), cosmic::CosmicPCAxisTagger::RecobToClusterHits(), evd::TWQProjectionView::SetSeeds(), trkf::TrackKalmanFitter::setupInputStates(), TimeOffsetY(), tca::UpdateMatchStructs(), tca::UpdateTp3s(), pma::ProjectionMatchingAlg::validate(), pma::ProjectionMatchingAlg::validate_on_adc_test(), cluster::ClusterCrawlerAlg::VtxMatch(), and pma::WireDriftToCm().

virtual double detinfo::DetectorProperties::ConvertTicksToX ( double  ticks,
geo::PlaneID const &  planeid 
) const
pure virtual
virtual double detinfo::DetectorProperties::ConvertXToTicks ( double  X,
int  p,
int  t,
int  c 
) const
pure virtual

Implemented in detinfo::DetectorPropertiesStandard, and util::DetectorPropertiesServiceArgoNeuT.

Referenced by trkf::SpacePointAna::analyze(), hit::GausHitFinderAna::analyze(), vertex::FeatureVertexFinderAna::analyze(), trkf::TrackAna::analyze(), tca::ChgFracBetween(), tca::ChgFracNearEnd(), pma::CmToWireDrift(), tca::CompleteIncomplete3DVertices(), tca::CompleteIncomplete3DVerticesInGaps(), evd::TWQProjectionView::DrawLine(), evd::TWireProjPad::DrawLinesinView(), evd::RecoBaseDrawer::DrawProng2D(), evd::RecoBaseDrawer::DrawTrack2D(), evd::RecoBaseDrawer::DrawTrackVertexAssns2D(), tca::Find3DVertices(), evd::TWQProjectionView::FindEndPoint(), tca::TrajClusterAlg::FindMissedVxTjs(), tca::FindXMatches(), tca::FollowTp3s(), trkf::FeatureTracker::Get3DFeaturePoints(), trkf::FeatureTracker::GetProjectedEnds(), trkf::BezierTrack::GetProjectedPointUVWT(), nnet::TrainingDataAlg::getProjection(), trkf::BezierTrackerAlgorithm::GetSeedDirProjected(), tca::MakeBareTP(), tca::MakeTp3(), evd::SimulationDrawer::MCTruthVectors2D(), shower::EMShowerAlg::OrderShowerHits(), tca::PosInPlane(), vertex::FeatureVertexFinder::produce(), shower::EMShowerAlg::Project3DPointOntoPlane(), evd::RecoBaseDrawer::Seed2D(), evd::TWQProjectionView::SetSeeds(), tca::SplitTraj(), TimeOffsetY(), pma::ProjectionMatchingAlg::validate_on_adc(), pma::ProjectionMatchingAlg::validate_on_adc_test(), evd::RecoBaseDrawer::Vertex2D(), cluster::ClusterCrawlerAlg::Vtx3ClusterMatch(), and cluster::ClusterCrawlerAlg::Vtx3ClusterSplit().

virtual double detinfo::DetectorProperties::ConvertXToTicks ( double  X,
geo::PlaneID const &  planeid 
) const
pure virtual
virtual double detinfo::DetectorProperties::Density ( double  temperature) const
pure virtual

Returns argon density at a given temperature.

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

Implemented in detinfo::DetectorPropertiesStandard, and util::DetectorPropertiesServiceArgoNeuT.

Referenced by trkf::TrackStatePropagator::apply_mcs(), calo::LinearEnergyAlg::BirksInverse(), larg4::ISCalculationSeparate::Initialize(), and calo::LinearEnergyAlg::ModBoxInverse().

virtual double detinfo::DetectorProperties::Density ( ) const
inlinevirtual

Returns argon density at the temperature from Temperature()

Reimplemented in detinfo::DetectorPropertiesStandard, and util::DetectorPropertiesServiceArgoNeuT.

Definition at line 99 of file DetectorProperties.h.

References Density(), ElectronsToADC(), NumberTimeSamples(), ReadOutWindowSize(), SamplingRate(), Temperature(), TimeOffsetU(), TimeOffsetV(), TimeOffsetZ(), and TriggerOffset().

Referenced by Density().

99 { return Density(Temperature()); }
virtual double Density() const
Returns argon density at the temperature from Temperature()
virtual double Temperature() const =0
virtual double detinfo::DetectorProperties::Efield ( unsigned int  planegap = 0) const
pure virtual

Returns the nominal electric field in the specified volume.

Parameters
planegapvolume specification (default: 0, the big drift volume)
Returns
electric field in the volume, in kV/cm

The electric field is "nominal", i.e., a completely uniform field is assumed.

The planegap argument identifies which volume to return the field value for. The relation between planegap and readout plane is not perfectly formalized yet. In general, a good rule is that planegap N describes the volume on the cathode side of wire plane N. This rule is formally valid also for ArgoNeuT/LArIAT, where three wire planes are present. But only two of them are instrumented and read, that are called "readout plane 0" and "readout plane 1", but effectively correspond to planegap 1 and 2.

Note that all TPCs are assumed to have the same electric field values.

Implemented in detinfo::DetectorPropertiesStandard, and util::DetectorPropertiesServiceArgoNeuT.

Referenced by hit::GausHitFinderAna::analyze(), vertex::FeatureVertexFinderAna::analyze(), shwf::ShowerReco::beginRun(), calo::LinearEnergyAlg::BirksInverse(), larg4::ISCalculationSeparate::CalculateIonization(), cluster::EndPointAlg::EndPoint(), hit::MagDriftAna::ensureHists(), tca::FillWireHitRange(), evd::TWQMultiTPCProjectionView::FindEndPoint(), evd::TWQMultiTPCProjectionView::FindLineLength(), evd::TWQProjectionView::FindLineLength(), cluster::SmallClusterFinderAlg::FindSmallClusters(), cluster::fuzzyClusterAlg::InitFuzzy(), cluster::DBScanAlg::InitScan(), calo::LinearEnergyAlg::ModBoxInverse(), vertex::VertexFinder2D::produce(), shwf::ShowerReco::produce(), util::GeometryUtilities::Reconfigure(), cosmic::CosmicPCAxisTagger::reconfigure(), cluster::fuzzyClusterAlg::run_fuzzy_cluster(), and cluster::ClusterCrawlerAlg::RunCrawler().

virtual double detinfo::DetectorProperties::ElectronLifetime ( ) const
pure virtual

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.

Implemented in detinfo::DetectorPropertiesStandard, and util::DetectorPropertiesServiceArgoNeuT.

Referenced by calo::LinearEnergyAlg::initialize(), calo::CalorimetryAlg::LifetimeCorrection(), and shower::ShowerEnergyAlg::ShowerEnergy().

virtual double detinfo::DetectorProperties::ElectronsToADC ( ) const
pure virtual
virtual double detinfo::DetectorProperties::Eloss ( double  mom,
double  mass,
double  tcut 
) const
pure virtual

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.

Implemented in detinfo::DetectorPropertiesStandard, and util::DetectorPropertiesServiceArgoNeuT.

Referenced by trkf::TrackStatePropagator::apply_dedx(), and trkf::TrackStatePropagator::propagateToPlane().

virtual double detinfo::DetectorProperties::ElossVar ( double  mom,
double  mass 
) const
pure virtual

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

Implemented in detinfo::DetectorPropertiesStandard, and util::DetectorPropertiesServiceArgoNeuT.

Referenced by trkf::TrackStatePropagator::apply_mcs().

virtual double detinfo::DetectorProperties::GetXTicksCoefficient ( geo::TPCID const &  tpcid) const
pure virtual
virtual double detinfo::DetectorProperties::GetXTicksCoefficient ( ) const
pure virtual
virtual double detinfo::DetectorProperties::GetXTicksOffset ( geo::PlaneID const &  planeid) const
pure virtual
virtual double detinfo::DetectorProperties::ModBoxCorrection ( double  dQdX) const
pure virtual
DetectorProperties& detinfo::DetectorProperties::operator= ( const DetectorProperties )
delete
DetectorProperties& detinfo::DetectorProperties::operator= ( DetectorProperties &&  )
delete
virtual bool detinfo::DetectorProperties::SimpleBoundary ( ) const
pure virtual
virtual double detinfo::DetectorProperties::TimeOffsetU ( ) const
pure virtual
virtual double detinfo::DetectorProperties::TimeOffsetV ( ) const
pure virtual
virtual double detinfo::DetectorProperties::TimeOffsetY ( ) const
inlinevirtual

Reimplemented in detinfo::DetectorPropertiesStandard, and util::DetectorPropertiesServiceArgoNeuT.

Definition at line 115 of file DetectorProperties.h.

References ConvertTDCToTicks(), ConvertTicksToTDC(), ConvertTicksToX(), ConvertXToTicks(), DetectorProperties(), GetXTicksCoefficient(), GetXTicksOffset(), SimpleBoundary(), and X.

116  { throw std::runtime_error("DetectorProperties::TimeOffsetY() not implemented"); }
virtual double detinfo::DetectorProperties::TimeOffsetZ ( ) const
pure virtual

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