LArSoft
v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
|
#include "DetectorProperties.h"
Public Member Functions | |
DetectorProperties (const DetectorProperties &)=delete | |
DetectorProperties (DetectorProperties &&)=delete | |
DetectorProperties & | operator= (const DetectorProperties &)=delete |
DetectorProperties & | operator= (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 ( ) More... | |
virtual double | ElossVar (double mom, double mass) const =0 |
Energy loss fluctuation ( ) 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 | |
Definition at line 21 of file DetectorProperties.h.
|
delete |
|
delete |
|
virtualdefault |
|
protecteddefault |
Referenced by TimeOffsetY().
|
pure virtual |
dQ/dX in electrons/cm, returns dE/dX in MeV/cm.
Implemented in detinfo::DetectorPropertiesStandard, and util::DetectorPropertiesServiceArgoNeuT.
Referenced by evd::details::ADCCorrectorClass::Correct(), calo::CalorimetryAlg::dEdx_from_dQdx_e(), and evd::RecoBaseDrawer::Hit2D().
|
pure virtual |
Implemented in detinfo::DetectorPropertiesStandard, and util::DetectorPropertiesServiceArgoNeuT.
Referenced by TimeOffsetY().
|
pure virtual |
Implemented in detinfo::DetectorPropertiesStandard, and util::DetectorPropertiesServiceArgoNeuT.
Referenced by TimeOffsetY().
|
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(), reco3d::TripletFinder::FillHitMap(), 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().
|
pure virtual |
Implemented in detinfo::DetectorPropertiesStandard, and util::DetectorPropertiesServiceArgoNeuT.
|
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(), evd::RecoBaseDrawer::Slice2D(), tca::SplitTraj(), TimeOffsetY(), pma::ProjectionMatchingAlg::validate_on_adc(), pma::ProjectionMatchingAlg::validate_on_adc_test(), evd::RecoBaseDrawer::Vertex2D(), cluster::ClusterCrawlerAlg::Vtx3ClusterMatch(), and cluster::ClusterCrawlerAlg::Vtx3ClusterSplit().
|
pure virtual |
Implemented in detinfo::DetectorPropertiesStandard, and util::DetectorPropertiesServiceArgoNeuT.
|
pure virtual |
Returns argon density at a given temperature.
temperature | the temperature in kelvin |
Implemented in detinfo::DetectorPropertiesStandard, and util::DetectorPropertiesServiceArgoNeuT.
Referenced by trkf::TrackStatePropagator::apply_mcs(), calo::LinearEnergyAlg::BirksInverse(), larg4::ISCalculationSeparate::Initialize(), larg4::ISCalcSeparate::Initialize(), and calo::LinearEnergyAlg::ModBoxInverse().
|
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().
|
pure virtual |
Implemented in detinfo::DetectorPropertiesStandard, and util::DetectorPropertiesServiceArgoNeuT.
Referenced by hit::GausHitFinderAna::analyze(), vertex::FeatureVertexFinderAna::analyze(), trkf::SeedAna::analyze(), trkf::TrackAna::analyze(), trkf::TrackAna::anaStitch(), shwf::ShowerReco::beginRun(), evd::RecoBaseDrawer::Cluster2D(), cluster::DBCluster3D::DBCluster3D(), evd::RecoBaseDrawer::DrawTrack2D(), 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(), trkf::SpacePts::produce(), trkf::Track3Dreco::produce(), vertex::VertexFinder2D::produce(), shwf::ShowerReco::produce(), util::GeometryUtilities::Reconfigure(), cosmic::CosmicPCAxisTagger::reconfigure(), cluster::fuzzyClusterAlg::run_fuzzy_cluster(), cluster::ClusterCrawlerAlg::RunCrawler(), and detsim::SimWire::SetFieldResponse().
|
pure virtual |
Returns the nominal electric field in the specified volume.
planegap | volume specification (default: 0, the big drift volume) |
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::ISCalcSeparate::CalculateIonization(), cluster::DBCluster3D::DBCluster3D(), 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().
|
pure virtual |
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.
Implemented in detinfo::DetectorPropertiesStandard, and util::DetectorPropertiesServiceArgoNeuT.
Referenced by calo::LinearEnergyAlg::initialize(), calo::CalorimetryAlg::LifetimeCorrection(), and shower::ShowerEnergyAlg::ShowerEnergy().
|
pure virtual |
Implemented in detinfo::DetectorPropertiesStandard, and util::DetectorPropertiesServiceArgoNeuT.
Referenced by Density(), evd::RecoBaseDrawer::Hit2D(), and evd::details::ADCCorrectorClass::update().
|
pure virtual |
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.
Implemented in detinfo::DetectorPropertiesStandard, and util::DetectorPropertiesServiceArgoNeuT.
Referenced by trkf::TrackStatePropagator::apply_dedx(), and trkf::TrackStatePropagator::propagateToPlane().
|
pure virtual |
Energy loss fluctuation ( )
mom | momentum of incident particle in [GeV/c] |
mass | mass of incident particle [GeV/c^2] |
Implemented in detinfo::DetectorPropertiesStandard, and util::DetectorPropertiesServiceArgoNeuT.
Referenced by trkf::TrackStatePropagator::apply_mcs().
|
pure virtual |
Implemented in detinfo::DetectorPropertiesStandard, and util::DetectorPropertiesServiceArgoNeuT.
Referenced by lar_cluster3d::Cluster3D::ConvertToArtOutput(), trkf::SpacePointAlg::fillComplexSpacePoint(), trkf::SpacePointAlg::fillSpacePoint(), pma::ProjectionMatchingAlg::GetCloseHits(), trkf::KHitWireLine::KHitWireLine(), trkf::KHitWireX::KHitWireX(), sppt::SpacePointAlg_TimeSort::setTimeOffsets(), and trkf::TrackKalmanFitter::setupInputStates().
|
pure virtual |
Implemented in detinfo::DetectorPropertiesStandard, and util::DetectorPropertiesServiceArgoNeuT.
|
pure virtual |
Implemented in detinfo::DetectorPropertiesStandard, and util::DetectorPropertiesServiceArgoNeuT.
Referenced by TimeOffsetY().
|
pure virtual |
Implemented in detinfo::DetectorPropertiesStandard, and util::DetectorPropertiesServiceArgoNeuT.
Referenced by vertex::FeatureVertexFinderAna::analyze(), trkf::BezierTrackerAlgorithm::CalculateGeometricalElements(), cluster::ClusterMatchTQ::ClusterMatch(), lar_cluster3d::StandardHit3DBuilder::CollectArtHits(), trkf::SpacePointAlg::compatible(), trkf::SpacePointAlg::correctedTime(), trkf::SpacePointAlg::fillComplexSpacePoint(), trkf::SpacePointAlg::fillSpacePoint(), lar_cluster3d::SpacePointHit3DBuilder::Hit3DBuilder(), trkf::SpacePointAlg::makeSpacePoints(), evd::RecoBaseDrawer::OpFlash2D(), evd::RecoBaseDrawer::OpFlashOrtho(), cluster::ClusterMatchAlg::PrepareDetParams(), cosmic::CosmicPCAxisTagger::RecobToClusterHits(), sppt::SpacePointAlg_TimeSort::setTimeOffsets(), TimeOffsetY(), cmtool::CFAlgoTimeProf::TProfCompare(), and trkf::SpacePointAlg::update().
|
pure virtual |
Implemented in detinfo::DetectorPropertiesStandard, and util::DetectorPropertiesServiceArgoNeuT.
|
pure virtual |
Implemented in detinfo::DetectorPropertiesStandard, and util::DetectorPropertiesServiceArgoNeuT.
Referenced by calo::CalorimetryAlg::dEdx_from_dQdx_e().
|
pure virtual |
Implemented in detinfo::DetectorPropertiesStandard, and util::DetectorPropertiesServiceArgoNeuT.
Referenced by cluster::ClusterMatchTQ::ClusterMatch(), Density(), larg::LArSimChannelAna::ensureHists(), tca::FillWireHitRange(), vertex::FeatureVertexFinder::Find2dClusterVertexCandidates(), evd::SimulationDrawer::MCTruth3D(), cluster::ClusterCrawlerAlg::RunCrawler(), util::GeometryUtilities::SelectPolygonHitList(), img::DataProviderAlg::setWireDriftData(), cmtool::CFAlgoTimeProf::TProfCompare(), and cmtool::CFAlgoChargeDistrib::TProfConvol().
|
delete |
|
delete |
|
pure virtual |
Implemented in detinfo::DetectorPropertiesStandard, and util::DetectorPropertiesServiceArgoNeuT.
Referenced by cluster::BlurredClusteringAlg::ConvertRecobHitsToVector(), Density(), cluster::EndPointAlg::EndPoint(), cluster::fuzzyClusterAlg::run_fuzzy_cluster(), and cluster::HoughBaseAlg::Transform().
|
pure virtual |
Returns the period of the TPC readout electronics clock.
Implemented in detinfo::DetectorPropertiesStandard, and util::DetectorPropertiesServiceArgoNeuT.
Referenced by hit::GausHitFinderAna::analyze(), vertex::FeatureVertexFinderAna::analyze(), detsim::WienerFilterAna::beginJob(), shwf::ShowerReco::beginJob(), shwf::ShowerReco::beginRun(), evd::RecoBaseDrawer::Cluster2D(), cluster::DBCluster3D::DBCluster3D(), Density(), evd::RecoBaseDrawer::DrawTrack2D(), cluster::EndPointAlg::EndPoint(), tca::FillWireHitRange(), evd::TWQMultiTPCProjectionView::FindEndPoint(), evd::TWQMultiTPCProjectionView::FindLineLength(), evd::TWQProjectionView::FindLineLength(), cluster::SmallClusterFinderAlg::FindSmallClusters(), sim::SimListUtils::GetLArVoxelList(), cluster::fuzzyClusterAlg::InitFuzzy(), cluster::DBScanAlg::InitScan(), calo::CalorimetryAlg::LifetimeCorrection(), evd::RecoBaseDrawer::OpFlash2D(), evd::RecoBaseDrawer::OpFlashOrtho(), vertex::VertexFinder2D::produce(), shwf::ShowerReco::produce(), util::GeometryUtilities::Reconfigure(), cosmic::CosmicPCAxisTagger::reconfigure(), cluster::fuzzyClusterAlg::run_fuzzy_cluster(), cluster::ClusterCrawlerAlg::RunCrawler(), and shower::ShowerEnergyAlg::ShowerEnergy().
|
pure virtual |
Implemented in detinfo::DetectorPropertiesStandard, and util::DetectorPropertiesServiceArgoNeuT.
Referenced by TimeOffsetY().
|
pure virtual |
Implemented in detinfo::DetectorPropertiesStandard, and util::DetectorPropertiesServiceArgoNeuT.
Referenced by hit::GausHitFinderAna::analyze(), vertex::FeatureVertexFinderAna::analyze(), shwf::ShowerReco::beginRun(), cluster::DBCluster3D::DBCluster3D(), Density(), cluster::EndPointAlg::EndPoint(), hit::MagDriftAna::ensureHists(), tca::FillWireHitRange(), evd::TWQMultiTPCProjectionView::FindEndPoint(), evd::TWQMultiTPCProjectionView::FindLineLength(), evd::TWQProjectionView::FindLineLength(), cluster::SmallClusterFinderAlg::FindSmallClusters(), cluster::fuzzyClusterAlg::InitFuzzy(), larg4::ISCalcSeparate::Initialize(), cluster::DBScanAlg::InitScan(), vertex::VertexFinder2D::produce(), shwf::ShowerReco::produce(), util::GeometryUtilities::Reconfigure(), cosmic::CosmicPCAxisTagger::reconfigure(), cluster::fuzzyClusterAlg::run_fuzzy_cluster(), and cluster::ClusterCrawlerAlg::RunCrawler().
|
pure virtual |
Implemented in detinfo::DetectorPropertiesStandard, and util::DetectorPropertiesServiceArgoNeuT.
Referenced by Density(), and apa::DisambigAlg::HitsOverlapInTime().
|
pure virtual |
Implemented in detinfo::DetectorPropertiesStandard, and util::DetectorPropertiesServiceArgoNeuT.
Referenced by Density(), and apa::DisambigAlg::HitsOverlapInTime().
|
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.
|
pure virtual |
Implemented in detinfo::DetectorPropertiesStandard, and util::DetectorPropertiesServiceArgoNeuT.
Referenced by Density(), and apa::DisambigAlg::HitsOverlapInTime().
|
pure virtual |
Implemented in detinfo::DetectorPropertiesStandard, and util::DetectorPropertiesServiceArgoNeuT.
Referenced by lar_cluster3d::StandardHit3DBuilder::CollectArtHits(), Density(), evd::TWQMultiTPCProjectionView::FindEndPoint(), evd::TWQMultiTPCProjectionView::FindLineLength(), evd::TWQProjectionView::FindLineLength(), util::GeometryUtilities::Get2DPointProjection(), sim::SimListUtils::GetLArVoxelList(), util::GeometryUtilities::GetProjectedPoint(), util::GeometryUtilities::GetTimeTicks(), util::GeometryUtilities::GetXYZ(), lar_cluster3d::SpacePointHit3DBuilder::Hit3DBuilder(), calo::CalorimetryAlg::LifetimeCorrection(), vertex::VertexFinder2D::produce(), shwf::ShowerReco::produce(), cosmic::CosmicPCAxisTagger::RecobToClusterHits(), and DUNE::NeutrinoTrackingEff::truthLength().