LArSoft  v10_04_05
Liquid Argon Software toolkit - https://larsoft.org/
geo::details::ReadoutIterationPolicy Class Reference

#include "ReadoutIterationPolicy.h"

Inheritance diagram for geo::details::ReadoutIterationPolicy:
geo::details::GeometryIterationPolicy

Public Member Functions

 ReadoutIterationPolicy ()=default
 
 ReadoutIterationPolicy (GeometryCore const *geom, WireReadoutGeom const *wireReadoutGeom)
 
unsigned int NSiblings (PlaneID const &id) const
 
unsigned int NSiblings (WireID const &id) const
 
unsigned int NSiblings (readout::TPCsetID const &id) const
 
unsigned int NSiblings (readout::ROPID const &id) const
 
template<typename GeoID >
GeoID GetEndID () const
 
template<typename GeoID , typename ContextID >
GeoID GetEndID (ContextID const &id) const
 
template<>
PlaneID GetEndID () const
 
template<>
PlaneID GetEndID (CryostatID const &id) const
 
template<>
PlaneID GetEndID (TPCID const &id) const
 
template<>
WireID GetEndID () const
 
template<>
WireID GetEndID (CryostatID const &id) const
 
template<>
WireID GetEndID (TPCID const &id) const
 
template<>
WireID GetEndID (PlaneID const &id) const
 
unsigned int NSiblings (CryostatID const &id) const
 
unsigned int NSiblings (TPCID const &id) const
 

Protected Member Functions

CryostatID EndCryostatID () const
 
TPCID EndTPCID () const
 
TPCID EndTPCID (CryostatID const &id) const
 

Private Member Functions

PlaneID EndPlaneID () const
 
PlaneID EndPlaneID (CryostatID const &id) const
 
PlaneID EndPlaneID (TPCID const &id) const
 
WireID EndWireID () const
 
WireID EndWireID (CryostatID const &id) const
 
WireID EndWireID (TPCID const &id) const
 
WireID EndWireID (PlaneID const &id) const
 
readout::TPCsetID EndTPCsetID () const
 
readout::TPCsetID EndTPCsetID (CryostatID const &id) const
 
readout::ROPID EndROPID () const
 
readout::ROPID EndROPID (CryostatID const &id) const
 
readout::ROPID EndROPID (readout::TPCsetID const &id) const
 

Private Attributes

GeometryCore const * fGeom {nullptr}
 
WireReadoutGeom const * fWireReadoutGeom {nullptr}
 

Detailed Description

Definition at line 10 of file ReadoutIterationPolicy.h.

Constructor & Destructor Documentation

geo::details::ReadoutIterationPolicy::ReadoutIterationPolicy ( )
default
geo::details::ReadoutIterationPolicy::ReadoutIterationPolicy ( GeometryCore const *  geom,
WireReadoutGeom const *  wireReadoutGeom 
)

Definition at line 7 of file ReadoutIterationPolicy.cxx.

References fGeom, and fWireReadoutGeom.

9  : GeometryIterationPolicy{geom}, fGeom{geom}, fWireReadoutGeom{wireReadoutGeom}
10  {}

Member Function Documentation

CryostatID geo::details::GeometryIterationPolicy::EndCryostatID ( ) const
protectedinherited

Definition at line 19 of file GeometryIterationPolicy.cxx.

References geo::details::GeometryIterationPolicy::fGeom, and geo::GeometryCore::Ncryostats().

Referenced by EndTPCsetID(), and geo::details::GeometryIterationPolicy::GetEndID().

20  {
21  return CryostatID{fGeom->Ncryostats()};
22  }
IDparameter< geo::CryostatID > CryostatID
Member type of validated geo::CryostatID parameter.
unsigned int Ncryostats() const
Returns the number of cryostats in the detector.
Definition: GeometryCore.h:303
PlaneID geo::details::ReadoutIterationPolicy::EndPlaneID ( ) const
private

Definition at line 33 of file ReadoutIterationPolicy.cxx.

References fGeom, geo::PlaneID::first(), fWireReadoutGeom, geo::WireReadoutGeom::MaxPlanes(), and geo::GeometryCore::Ncryostats().

Referenced by EndWireID(), and GetEndID().

34  {
35  auto id = PlaneID::first();
36  if (fWireReadoutGeom->MaxPlanes() != 0) { id.Cryostat = fGeom->Ncryostats(); }
37  return id;
38  }
unsigned int Ncryostats() const
Returns the number of cryostats in the detector.
Definition: GeometryCore.h:303
unsigned int MaxPlanes() const
Returns the largest number of planes among all TPCs in this detector.
static constexpr auto first()
Definition: geo_types.h:384
PlaneID geo::details::ReadoutIterationPolicy::EndPlaneID ( CryostatID const &  id) const
private

Definition at line 40 of file ReadoutIterationPolicy.cxx.

References geo::details::GeometryIterationPolicy::EndTPCID().

41  {
42  return {EndTPCID(id), 0};
43  }
PlaneID geo::details::ReadoutIterationPolicy::EndPlaneID ( TPCID const &  id) const
private

Definition at line 45 of file ReadoutIterationPolicy.cxx.

References geo::details::GetNextID().

46  {
47  return {GetNextID(id, *this), 0};
48  }
GeoID GetNextID(GeoID const &id, IterationPolicy const &policy)
Returns the ID next to the specified one.
Definition: id_iterators.h:285
readout::ROPID geo::details::ReadoutIterationPolicy::EndROPID ( CryostatID const &  id) const
private

Definition at line 90 of file ReadoutIterationPolicy.cxx.

References EndTPCsetID().

91  {
92  return {EndTPCsetID(id), 0};
93  }
readout::ROPID geo::details::ReadoutIterationPolicy::EndROPID ( readout::TPCsetID const &  id) const
private

Definition at line 95 of file ReadoutIterationPolicy.cxx.

References geo::details::GetNextID().

96  {
97  return {GetNextID(id, *this), 0};
98  }
GeoID GetNextID(GeoID const &id, IterationPolicy const &policy)
Returns the ID next to the specified one.
Definition: id_iterators.h:285
TPCID geo::details::GeometryIterationPolicy::EndTPCID ( ) const
protectedinherited

Definition at line 25 of file GeometryIterationPolicy.cxx.

References geo::details::GeometryIterationPolicy::fGeom, geo::TPCID::first(), geo::GeometryCore::MaxTPCs(), and geo::GeometryCore::Ncryostats().

Referenced by EndPlaneID(), and geo::details::GeometryIterationPolicy::GetEndID().

26  {
27  auto id = TPCID::first();
28  if (fGeom->MaxTPCs() != 0) { id.Cryostat = fGeom->Ncryostats(); }
29  return id;
30  }
unsigned int Ncryostats() const
Returns the number of cryostats in the detector.
Definition: GeometryCore.h:303
static constexpr auto first()
Definition: geo_types.h:328
unsigned int MaxTPCs() const
Returns the largest number of TPCs a cryostat in the detector has.
TPCID geo::details::GeometryIterationPolicy::EndTPCID ( CryostatID const &  id) const
protectedinherited

Definition at line 32 of file GeometryIterationPolicy.cxx.

References geo::details::GetNextID().

33  {
34  return {GetNextID(id, *this), 0};
35  }
GeoID GetNextID(GeoID const &id, IterationPolicy const &policy)
Returns the ID next to the specified one.
Definition: id_iterators.h:285
readout::TPCsetID geo::details::ReadoutIterationPolicy::EndTPCsetID ( CryostatID const &  id) const
private

Definition at line 79 of file ReadoutIterationPolicy.cxx.

References geo::details::GetNextID().

80  {
81  return {GetNextID(id, *this), 0};
82  }
GeoID GetNextID(GeoID const &id, IterationPolicy const &policy)
Returns the ID next to the specified one.
Definition: id_iterators.h:285
WireID geo::details::ReadoutIterationPolicy::EndWireID ( ) const
private

Definition at line 51 of file ReadoutIterationPolicy.cxx.

References fGeom, geo::WireID::first(), fWireReadoutGeom, geo::WireReadoutGeom::MaxWires(), and geo::GeometryCore::Ncryostats().

Referenced by GetEndID().

52  {
53  auto id = WireID::first();
54  if (fWireReadoutGeom->MaxWires() != 0) { id.Cryostat = fGeom->Ncryostats(); }
55  return id;
56  }
unsigned int Ncryostats() const
Returns the number of cryostats in the detector.
Definition: GeometryCore.h:303
static constexpr auto first()
Definition: geo_types.h:442
unsigned int MaxWires() const
Returns the total number of wires in the specified plane.
WireID geo::details::ReadoutIterationPolicy::EndWireID ( CryostatID const &  id) const
private

Definition at line 58 of file ReadoutIterationPolicy.cxx.

References EndPlaneID().

59  {
60  return {EndPlaneID(id), 0};
61  }
WireID geo::details::ReadoutIterationPolicy::EndWireID ( TPCID const &  id) const
private

Definition at line 63 of file ReadoutIterationPolicy.cxx.

References EndPlaneID().

64  {
65  return {EndPlaneID(id), 0};
66  }
WireID geo::details::ReadoutIterationPolicy::EndWireID ( PlaneID const &  id) const
private

Definition at line 68 of file ReadoutIterationPolicy.cxx.

References geo::details::GetNextID().

69  {
70  return {GetNextID(id, *this), 0};
71  }
GeoID GetNextID(GeoID const &id, IterationPolicy const &policy)
Returns the ID next to the specified one.
Definition: id_iterators.h:285
template<typename GeoID >
GeoID geo::details::ReadoutIterationPolicy::GetEndID ( ) const
template<typename GeoID , typename ContextID >
GeoID geo::details::ReadoutIterationPolicy::GetEndID ( ContextID const &  id) const
template<>
PlaneID geo::details::ReadoutIterationPolicy::GetEndID ( ) const
inline

Definition at line 50 of file ReadoutIterationPolicy.h.

References EndPlaneID().

51  {
52  return EndPlaneID();
53  }
template<>
PlaneID geo::details::ReadoutIterationPolicy::GetEndID ( CryostatID const &  id) const
inline

Definition at line 56 of file ReadoutIterationPolicy.h.

References EndPlaneID().

57  {
58  return EndPlaneID(id);
59  }
template<>
PlaneID geo::details::ReadoutIterationPolicy::GetEndID ( TPCID const &  id) const
inline

Definition at line 62 of file ReadoutIterationPolicy.h.

References EndPlaneID().

63  {
64  return EndPlaneID(id);
65  }
template<>
WireID geo::details::ReadoutIterationPolicy::GetEndID ( ) const
inline

Definition at line 69 of file ReadoutIterationPolicy.h.

References EndWireID().

70  {
71  return EndWireID();
72  }
template<>
WireID geo::details::ReadoutIterationPolicy::GetEndID ( CryostatID const &  id) const
inline

Definition at line 75 of file ReadoutIterationPolicy.h.

References EndWireID().

76  {
77  return EndWireID(id);
78  }
template<>
WireID geo::details::ReadoutIterationPolicy::GetEndID ( TPCID const &  id) const
inline

Definition at line 81 of file ReadoutIterationPolicy.h.

References EndWireID().

82  {
83  return EndWireID(id);
84  }
template<>
WireID geo::details::ReadoutIterationPolicy::GetEndID ( PlaneID const &  id) const
inline

Definition at line 87 of file ReadoutIterationPolicy.h.

References EndWireID().

88  {
89  return EndWireID(id);
90  }
unsigned int geo::details::GeometryIterationPolicy::NSiblings ( CryostatID const &  id) const
inherited

Definition at line 8 of file GeometryIterationPolicy.cxx.

References geo::details::GeometryIterationPolicy::fGeom, and geo::GeometryCore::NSiblingElements().

9  {
10  return fGeom->NSiblingElements(id);
11  }
unsigned int NSiblingElements(CryostatID const &) const
Returns the number of cryostats in the detector.
Definition: GeometryCore.h:305
unsigned int geo::details::GeometryIterationPolicy::NSiblings ( TPCID const &  id) const
inherited

Definition at line 13 of file GeometryIterationPolicy.cxx.

References geo::details::GeometryIterationPolicy::fGeom, and geo::GeometryCore::NSiblingElements().

14  {
15  return fGeom->NSiblingElements(id);
16  }
unsigned int NSiblingElements(CryostatID const &) const
Returns the number of cryostats in the detector.
Definition: GeometryCore.h:305
unsigned int geo::details::ReadoutIterationPolicy::NSiblings ( PlaneID const &  id) const

Definition at line 12 of file ReadoutIterationPolicy.cxx.

References fWireReadoutGeom, and geo::WireReadoutGeom::NSiblingElements().

13  {
15  }
unsigned int NSiblingElements(PlaneID const &planeid) const
Returns the total number of planes in the specified TPC.
unsigned int geo::details::ReadoutIterationPolicy::NSiblings ( WireID const &  id) const

Definition at line 17 of file ReadoutIterationPolicy.cxx.

References fWireReadoutGeom, and geo::WireReadoutGeom::NSiblingElements().

18  {
20  }
unsigned int NSiblingElements(PlaneID const &planeid) const
Returns the total number of planes in the specified TPC.
unsigned int geo::details::ReadoutIterationPolicy::NSiblings ( readout::TPCsetID const &  id) const

Definition at line 22 of file ReadoutIterationPolicy.cxx.

References fWireReadoutGeom, and geo::WireReadoutGeom::NTPCsets().

23  {
24  return fWireReadoutGeom->NTPCsets(id);
25  }
virtual unsigned int NTPCsets(readout::CryostatID const &cryoid) const =0
Returns the total number of TPC sets in the specified cryostat.
unsigned int geo::details::ReadoutIterationPolicy::NSiblings ( readout::ROPID const &  id) const

Definition at line 27 of file ReadoutIterationPolicy.cxx.

References fWireReadoutGeom, and geo::WireReadoutGeom::NROPs().

28  {
29  return fWireReadoutGeom->NROPs(id);
30  }
virtual unsigned int NROPs(readout::TPCsetID const &tpcsetid) const =0
Returns the total number of ROP in the specified TPC set.

Member Data Documentation

GeometryCore const* geo::details::ReadoutIterationPolicy::fGeom {nullptr}
private

Definition at line 44 of file ReadoutIterationPolicy.h.

Referenced by EndPlaneID(), EndWireID(), and ReadoutIterationPolicy().

WireReadoutGeom const* geo::details::ReadoutIterationPolicy::fWireReadoutGeom {nullptr}
private

Definition at line 45 of file ReadoutIterationPolicy.h.

Referenced by EndPlaneID(), EndWireID(), NSiblings(), and ReadoutIterationPolicy().


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