LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
The data type to uniquely identify a TPC. More...
#include "geo_types.h"
Public Types | |
using | TPCID_t = unsigned int |
Type for the ID number. More... | |
using | ThisID_t = TPCID |
Type of this ID. More... | |
using | ParentID_t = CryostatID |
Type of the parent ID. More... | |
template<std::size_t L> | |
using | ID_t = details::AbsIDtype< L, ThisID_t > |
Type of the ID with the specified level L . More... | |
template<std::size_t A> | |
using | UpperID_t = details::RelIDtype< A, ThisID_t > |
Type of the ID A levels above this one. More... | |
using | CryostatID_t = unsigned int |
Type for the ID number. More... | |
Public Member Functions | |
constexpr | TPCID ()=default |
Default constructor: an invalid TPC ID. More... | |
constexpr | TPCID (CryostatID const &cryoid, TPCID_t t) |
Constructor: TPC with index t in the cryostat identified by cryoid. More... | |
constexpr | TPCID (CryostatID_t c, TPCID_t t) |
Constructor: TPC with index t in the cryostat index c. More... | |
constexpr auto const & | deepestIndex () const |
Returns the value of the deepest ID available (TPC's). More... | |
auto & | deepestIndex () |
Returns the deepest ID available (TPC's). More... | |
constexpr ParentID_t const & | parentID () const |
Return the parent ID of this one (a cryostat ID). More... | |
ParentID_t & | parentID () |
Return the parent ID of this one (a cryostat ID). More... | |
template<std::size_t Index = 0U> | |
constexpr auto | getIndex () const |
Returns the index level Index of this type. More... | |
template<std::size_t Index = 0U> | |
auto & | writeIndex () |
Returns the index level Index of this type. More... | |
template<std::size_t Above> | |
constexpr auto | getRelIndex () const |
Returns the index Above levels higher than Level . More... | |
constexpr TPCID const & | asTPCID () const |
Conversion to TPCID (for convenience of notation). More... | |
TPCID & | asTPCID () |
Conversion to TPCID (for convenience of notation). More... | |
constexpr TPCID const & | asConstTPCID () |
Conversion to TPCID (for convenience of notation). More... | |
constexpr int | cmp (TPCID const &other) const |
Returns < 0 if this is smaller than other, 0 if equal, > 0 if larger. More... | |
constexpr int | cmp (CryostatID const &other) const |
Returns < 0 if this is smaller than other, 0 if equal, > 0 if larger. More... | |
constexpr CryostatID const & | asCryostatID () const |
Conversion to CryostatID (for convenience of notation). More... | |
CryostatID & | asCryostatID () |
Conversion to CryostatID (for convenience of notation). More... | |
constexpr CryostatID const & | asConstCryostatID () |
Conversion to CryostatID (for convenience of notation). More... | |
std::string | toString () const |
Human-readable representation of the TPC ID. More... | |
operator std::string () const | |
Human-readable representation of the TPC ID. More... | |
ID validity | |
constexpr | operator bool () const |
Returns true if the ID is valid. More... | |
constexpr bool | operator! () const |
Returns true if the ID is not valid. More... | |
void | setValidity (bool valid) |
Sets the validity of the ID. More... | |
void | markValid () |
Sets the ID as valid. More... | |
void | markInvalid () |
Sets the ID as invalid. More... | |
Static Public Member Functions | |
static constexpr TPCID_t | getInvalidID () |
Return the value of the invalid TPC ID as a r-value. More... | |
template<typename T > | |
static constexpr int | ThreeWayComparison (T a, T b) |
Returns < 0 if a < b, 0 if a == b, > 0 if a > b. More... | |
Public Attributes | |
TPCID_t | TPC = InvalidID |
Index of the TPC within its cryostat. More... | |
bool | isValid = false |
Whether this ID points to a valid element. More... | |
CryostatID_t | Cryostat = InvalidID |
Index of cryostat. More... | |
Static Public Attributes | |
static constexpr TPCID_t | InvalidID = std::numeric_limits<TPCID_t>::max() |
Special code for an invalid ID. More... | |
static constexpr auto | Level = geo::ElementLevel::TPC |
Level of this element. More... | |
The data type to uniquely identify a TPC.
Definition at line 381 of file geo_types.h.
|
inherited |
Type for the ID number.
Definition at line 193 of file geo_types.h.
using geo::TPCID::ID_t = details::AbsIDtype<L, ThisID_t> |
Type of the ID with the specified level L
.
Definition at line 389 of file geo_types.h.
using geo::TPCID::ParentID_t = CryostatID |
Type of the parent ID.
Definition at line 385 of file geo_types.h.
using geo::TPCID::ThisID_t = TPCID |
Type of this ID.
Definition at line 384 of file geo_types.h.
using geo::TPCID::TPCID_t = unsigned int |
Type for the ID number.
Definition at line 382 of file geo_types.h.
using geo::TPCID::UpperID_t = details::RelIDtype<A, ThisID_t> |
Type of the ID A
levels above this one.
Definition at line 393 of file geo_types.h.
|
default |
Default constructor: an invalid TPC ID.
Referenced by tca::MakePFParticles(), and tca::PFPVertexCheck().
|
inline |
Constructor: TPC with index t in the cryostat identified by cryoid.
Definition at line 405 of file geo_types.h.
|
inline |
Constructor: TPC with index t in the cryostat index c.
Definition at line 408 of file geo_types.h.
References geo::details::writeToString().
|
inlineinherited |
Conversion to CryostatID (for convenience of notation).
Definition at line 279 of file geo_types.h.
|
inline |
Conversion to TPCID (for convenience of notation).
Definition at line 442 of file geo_types.h.
|
inlineinherited |
Conversion to CryostatID (for convenience of notation).
Definition at line 275 of file geo_types.h.
Referenced by readout::operator!=(), geo::operator!=(), readout::operator<(), geo::operator<(), readout::operator<<(), geo::operator<<(), readout::operator==(), and geo::operator==().
|
inlineinherited |
Conversion to CryostatID (for convenience of notation).
Definition at line 277 of file geo_types.h.
|
inline |
Conversion to TPCID (for convenience of notation).
Definition at line 438 of file geo_types.h.
Referenced by ShowerRecoTools::ShowerUnidirectiondEdx::CalculateElement(), ShowerRecoTools::ShowerTrajPointdEdx::CalculateElement(), cluster::HoughBaseAlg::FastTransform(), cluster::HoughBaseAlg::HoughBaseAlg(), geo::GeometryCore::PlanePitch(), sce::SCECorrection::produce(), evd::GraphCluster::produce(), and geo::GeometryCore::WireIDIntersectionCheck().
|
inline |
Conversion to TPCID (for convenience of notation).
Definition at line 440 of file geo_types.h.
|
inlineinherited |
Returns < 0 if this is smaller than other, 0 if equal, > 0 if larger.
Definition at line 269 of file geo_types.h.
References geo::CryostatID::deepestIndex().
Referenced by readout::TPCsetID::cmp(), geo::OpDetID::cmp(), cmp(), readout::operator<(), and geo::operator<().
|
inline |
Returns < 0 if this is smaller than other, 0 if equal, > 0 if larger.
Definition at line 445 of file geo_types.h.
References geo::CryostatID::cmp(), and deepestIndex().
Referenced by geo::PlaneID::cmp().
|
inline |
Returns the value of the deepest ID available (TPC's).
Definition at line 420 of file geo_types.h.
Referenced by cmp().
|
inline |
constexpr auto geo::TPCID::getIndex | ( | ) | const |
|
inlinestatic |
Return the value of the invalid TPC ID as a r-value.
Definition at line 458 of file geo_types.h.
References InvalidID.
Referenced by detsim::SimDriftElectrons::produce().
constexpr auto geo::TPCID::getRelIndex | ( | ) | const |
Returns the index Above
levels higher than Level
.
Definition at line 917 of file geo_types.h.
|
inlineinherited |
Sets the ID as invalid.
Definition at line 238 of file geo_types.h.
References geo::details::writeToString().
Referenced by geo::PlaneGeo::ClosestWireID(), geo::GeometryCore::FindTPCAtPosition(), geo::GeometryCore::GetEndPlaneID(), geo::GeometryCore::GetEndTPCID(), and geo::GeometryCore::GetEndWireID().
|
inlineinherited |
Sets the ID as valid.
Definition at line 235 of file geo_types.h.
|
inlineexplicitinherited |
Returns true if the ID is valid.
Definition at line 226 of file geo_types.h.
|
inlineexplicit |
Human-readable representation of the TPC ID.
Definition at line 415 of file geo_types.h.
|
inlineinherited |
Returns true if the ID is not valid.
Definition at line 229 of file geo_types.h.
|
inline |
Return the parent ID of this one (a cryostat ID).
Definition at line 424 of file geo_types.h.
|
inline |
Return the parent ID of this one (a cryostat ID).
Definition at line 426 of file geo_types.h.
|
inlineinherited |
Sets the validity of the ID.
Definition at line 232 of file geo_types.h.
|
inlinestaticinherited |
Returns < 0 if a < b, 0 if a == b, > 0 if a > b.
Definition at line 289 of file geo_types.h.
|
inline |
Human-readable representation of the TPC ID.
Definition at line 414 of file geo_types.h.
auto & geo::TPCID::writeIndex | ( | ) |
|
inherited |
Index of cryostat.
Definition at line 211 of file geo_types.h.
Referenced by detsim::WienerFilterAna::analyze(), trkf::SpacePointAna::analyze(), pma::ProjectionMatchingAlg::buildShowerSeg(), mvapid::MVAAlg::CalcSegmentdEdxDist(), tca::ChgFracBetween(), tca::ChgFracNearEnd(), lar_cluster3d::StandardHit3DBuilder::CollectArtHits(), lar_cluster3d::SnippetHit3DBuilder::CollectArtHits(), trkf::SpacePointAlg::compatible(), tca::CompleteIncomplete3DVerticesInGaps(), ems::MultiEMShowers::convCluster(), geo::ChannelMapStandardAlg::ConvertROPtoWirePlane(), detinfo::DetectorPropertiesData::ConvertTicksToX(), geo::ChannelMapStandardAlg::ConvertTPCsetToTPC(), geo::ChannelMapStandardAlg::ConvertTPCtoTPCset(), geo::ChannelMapStandardAlg::ConvertWirePlaneToROP(), detinfo::DetectorPropertiesData::ConvertXToTicks(), geo::GeometryCore::Cryostat(), geo::GeometryCore::CryostatPtr(), cluster::ClusterCrawlerAlg::EncodeCTP(), tca::EncodeCTP(), ems::EndPoint::EndPoint(), trkf::SpacePointAlg::fillComplexSpacePoint(), tca::FillmAllTraj(), lar_pandora::PFParticleHitDumper::FillRecoWires(), trkf::SpacePointAlg::fillSpacePoint(), tca::FillWireHitRange(), tca::FillWireIntersections(), tca::Find3DVertices(), apa::DisambigAlg::FindChanTimeEndPts(), hit::HitCheater::FindHitsOnChannel(), larg4::LArVoxelReadoutGeometry::FindNestedVolume(), tca::FindParent(), tca::FindShowers3D(), geo::GeometryCore::FindTPCAtPosition(), tca::FitTP3Ds(), ems::EMShower3D::GetCloseHits(), geo::GeometryCore::GetClosestOpDet(), geo::GeometryCore::GetEndTPCID(), geo::GeometryCore::GetEndTPCsetID(), nnet::TrainingDataAlg::getProjection(), pma::Track3D::GetUnconstrainedProj3D(), detinfo::DetectorPropertiesData::GetXTicksOffset(), cluster::MergeClusterAlg::GlobalWire(), cluster::BlurredClusteringAlg::GlobalWire(), shower::EMShowerAlg::GlobalWire_(), geo::GeometryCore::HasCryostat(), tss::Hit2D::Hit2D(), ems::Hit2D::Hit2D(), pma::Hit3D::Hit3D(), lar_cluster3d::SpacePointHit3DBuilder::Hit3DBuilder(), hit::DisambigCheater::InitHitToWids(), trkf::KHitWireLine::KHitWireLine(), trkf::KHitWireX::KHitWireX(), lar_cluster3d::StandardHit3DBuilder::makeDeadChannelPair(), lar_cluster3d::SnippetHit3DBuilder::makeDeadChannelPair(), lar_cluster3d::StandardHit3DBuilder::makeHitPair(), lar_cluster3d::SnippetHit3DBuilder::makeHitPair(), lar_cluster3d::StandardHit3DBuilder::makeHitTriplet(), lar_cluster3d::SnippetHit3DBuilder::makeHitTriplet(), tca::MakePFPTjs(), trkf::SpacePointAlg::makeSpacePoints(), trkf::CosmicTrackerAlg::MakeSPT(), tca::Match2Planes(), evd::SimulationDrawer::MCTruthOrtho(), geo::ChannelMapStandardAlg::NTPCsets(), geo::operator!=(), geo::operator<(), anab::operator<<(), recob::operator<<(), geo::operator<<(), geo::operator==(), lar_cluster3d::PrincipalComponentsAlg::PCAAnalysis_2D(), tca::Print3S(), tca::Print3V(), tca::PrintAllTraj(), tca::PrintTP3Ds(), cluster::LineCluster::produce(), cluster::TrajCluster::produce(), hit::DPRawHitFinder::produce(), calo::Calorimetry::produce(), detsim::SimDriftElectrons::produce(), calo::GnocchiCalorimetry::produce(), trkf::SpacePointAlg::separation(), tca::SignalAtTp(), cheat::BackTracker::SpacePointHitsToWeightedXYZ(), apa::DisambigAlg::TrivialDisambig(), tca::ValidTwoPlaneMatch(), trkf::VertexFitAlg::VertexFit(), cluster::ClusterCrawlerAlg::Vtx3ClusterMatch(), cluster::ClusterCrawlerAlg::Vtx3ClusterSplit(), cluster::ClusterCrawlerAlg::VtxMatch(), tca::WireHitRangeOK(), and lar_cluster3d::SnippetHit3DBuilder::WireIDsIntersect().
Special code for an invalid ID.
Definition at line 397 of file geo_types.h.
Referenced by geo::GeometryCore::ChannelsIntersect(), and getInvalidID().
|
inherited |
Whether this ID points to a valid element.
Definition at line 210 of file geo_types.h.
Referenced by trkf::TrajectoryMCSFitter::breakTrajInSegments(), geo::ChannelMapStandardAlg::ConvertROPtoWirePlane(), geo::ChannelMapStandardAlg::ConvertTPCsetToTPC(), geo::ChannelMapStandardAlg::ConvertTPCtoTPCset(), geo::ChannelMapStandardAlg::ConvertWirePlaneToROP(), hit::HitCheater::FindHitsOnChannel(), shower::EMShowerAlg::FindInitialTrackHits(), geo::ChannelMapStandardAlg::FirstChannelInROP(), opdet::GetHitGeometryInfo(), nnet::TrainingDataAlg::getProjection(), lar_pandora::LArPandoraInput::GetTrueStartAndEndPoints(), geo::InvalidWireError::hasPlane(), recob::Cluster::hasPlane(), hit::DisambigCheater::InitHitToWids(), trkf::TrajectoryMCSFitter::linearRegression(), hit::DisambigCheater::MakeDisambigHit(), apa::DisambigAlg::MakeDisambigHit(), evd::SimulationDrawer::MCTruthOrtho(), geo::ChannelMapStandardAlg::NTPCsets(), shower::EMShowerAlg::OrderShowerHits_(), calo::ShowerCalorimetry::produce(), calo::Calorimetry::produce(), calo::GnocchiCalorimetry::produce(), shower::EMShowerAlg::Project3DPointOntoPlane_(), geo::ChannelMapStandardAlg::ROPtoTPCs(), geo::ChannelMapStandardAlg::ROPtoWirePlanes(), filt::LArG4ParticleFilter::StartInTPCCheck(), filt::LArG4ParticleFilter::StopInTPCCheck(), geo::ChannelMapStandardAlg::TPCsetToTPCs(), and filt::LArG4ParticleFilter::TPCTrajLengthCheck().
|
static |
Level of this element.
Definition at line 455 of file geo_types.h.
Index of the TPC within its cryostat.
Definition at line 399 of file geo_types.h.
Referenced by ClusteringValidation::ClusterAnalyser::Analyse(), detsim::WienerFilterAna::analyze(), trkf::SpacePointAna::analyze(), trkf::TrajectoryMCSFitter::breakTrajInSegments(), pma::ProjectionMatchingAlg::buildShowerSeg(), mvapid::MVAAlg::CalcSegmentdEdxDist(), ShowerRecoTools::ShowerTrajPointdEdx::CalculateElement(), geo::GeometryCore::ChannelsIntersect(), tca::ChgFracBetween(), tca::ChgFracNearEnd(), lar_cluster3d::StandardHit3DBuilder::CollectArtHits(), lar_cluster3d::SnippetHit3DBuilder::CollectArtHits(), trkf::SpacePointAlg::compatible(), tca::CompleteIncomplete3DVerticesInGaps(), ems::MultiEMShowers::convCluster(), detinfo::DetectorPropertiesData::ConvertTicksToX(), geo::ChannelMapStandardAlg::ConvertTPCtoTPCset(), geo::ChannelMapStandardAlg::ConvertWirePlaneToROP(), detinfo::DetectorPropertiesData::ConvertXToTicks(), cluster::ClusterCrawlerAlg::EncodeCTP(), tca::EncodeCTP(), ems::EndPoint::EndPoint(), trkf::SpacePointAlg::fillComplexSpacePoint(), tca::FillmAllTraj(), lar_pandora::PFParticleHitDumper::FillRecoWires(), trkf::SpacePointAlg::fillSpacePoint(), tca::FillWireHitRange(), tca::FillWireIntersections(), tca::Find3DVertices(), apa::DisambigAlg::FindChanTimeEndPts(), hit::HitCheater::FindHitsOnChannel(), shower::EMShowerAlg::FindInitialTrackHits(), larg4::LArVoxelReadoutGeometry::FindNestedVolume(), tca::FindParent(), tca::FindShowers3D(), tca::FitTP3Ds(), ems::EMShower3D::GetCloseHits(), cluster::TrajCluster::GetHits(), calo::Calorimetry::GetPitch(), nnet::TrainingDataAlg::getProjection(), pma::Track3D::GetUnconstrainedProj3D(), detinfo::DetectorPropertiesData::GetXTicksOffset(), cluster::MergeClusterAlg::GlobalWire(), cluster::BlurredClusteringAlg::GlobalWire(), shower::EMShowerAlg::GlobalWire_(), geo::CryostatGeo::HasTPC(), tss::Hit2D::Hit2D(), pma::Hit3D::Hit3D(), lar_cluster3d::SpacePointHit3DBuilder::Hit3DBuilder(), apa::APAGeometryAlg::Init(), hit::DisambigCheater::InitHitToWids(), trkf::KHitWireLine::KHitWireLine(), trkf::KHitWireX::KHitWireX(), trkf::TrajectoryMCSFitter::linearRegression(), apa::DisambigAlg::MakeCloseHits(), lar_cluster3d::StandardHit3DBuilder::makeDeadChannelPair(), lar_cluster3d::SnippetHit3DBuilder::makeDeadChannelPair(), lar_cluster3d::StandardHit3DBuilder::makeHitPair(), lar_cluster3d::SnippetHit3DBuilder::makeHitPair(), lar_cluster3d::StandardHit3DBuilder::makeHitTriplet(), lar_cluster3d::SnippetHit3DBuilder::makeHitTriplet(), tca::MakePFPTjs(), trkf::SpacePointAlg::makeSpacePoints(), trkf::CosmicTrackerAlg::MakeSPT(), tca::Match2Planes(), tca::Match3PlanesSpt(), evd::SimulationDrawer::MCTruthOrtho(), tca::NearbySrcHit(), geo::operator!=(), geo::operator<(), anab::operator<<(), recob::operator<<(), geo::operator<<(), geo::operator==(), shower::EMShowerAlg::OrderShowerHits_(), lar_cluster3d::PrincipalComponentsAlg::PCAAnalysis_2D(), tca::Print3S(), tca::Print3V(), tca::PrintAllTraj(), tca::PrintTP3Ds(), cluster::LineCluster::produce(), sce::SCECorrection::produce(), cluster::TrajCluster::produce(), hit::DPRawHitFinder::produce(), calo::Calorimetry::produce(), detsim::SimDriftElectrons::produce(), calo::GnocchiCalorimetry::produce(), shower::EMShowerAlg::Project3DPointOntoPlane_(), trkf::SpacePointAlg::separation(), tca::SignalAtTp(), cheat::BackTracker::SpacePointHitsToWeightedXYZ(), geo::CryostatGeo::TPC(), geo::CryostatGeo::TPCPtr(), apa::DisambigAlg::TrivialDisambig(), tca::ValidTwoPlaneMatch(), trkf::VertexFitAlg::VertexFit(), cluster::ClusterCrawlerAlg::Vtx3ClusterMatch(), cluster::ClusterCrawlerAlg::Vtx3ClusterSplit(), cluster::ClusterCrawlerAlg::VtxMatch(), tca::WireHitRangeOK(), lar_cluster3d::SnippetHit3DBuilder::WireIDsIntersect(), and calo::GnocchiCalorimetry::WireToTrajectoryPosition().