LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
LArPandoraGeometry.h
Go to the documentation of this file.
1 
7 #ifndef LAR_PANDORA_GEOMETRY_H
8 #define LAR_PANDORA_GEOMETRY_H 1
9 
11 
13 
14 #include <map>
15 #include <vector>
16 
17 namespace lar_pandora {
18 
23  public:
30  static void LoadDetectorGaps(LArDetectorGapList& listOfGaps, const bool useActiveBoundingBox);
31 
39  static void LoadGeometry(LArDriftVolumeList& outputVolumeList,
40  LArDriftVolumeMap& outputVolumeMap,
41  const bool useActiveBoundingBox);
42 
50  static unsigned int GetVolumeID(const LArDriftVolumeMap& driftVolumeMap,
51  const unsigned int cstat,
52  const unsigned int tpc);
53 
61  static unsigned int GetDaughterVolumeID(const LArDriftVolumeMap& driftVolumeMap,
62  const unsigned int cstat,
63  const unsigned int tpc);
64 
72  static geo::View_t GetGlobalView(const unsigned int cstat,
73  const unsigned int tpc,
74  const geo::View_t hit_View);
75 
76  private:
83  static unsigned int GetTpcID(const unsigned int cstat, const unsigned int tpc);
84 
91  static bool ShouldSwitchUV(const unsigned int cstat, const unsigned int tpc);
92 
98  static bool ShouldSwitchUV(const bool isPositiveDrift);
99 
107  static void LoadGeometry(LArDriftVolumeList& driftVolumeList, const bool useActiveBoundingBox);
108 
116  static void LoadGlobalDaughterGeometry(const LArDriftVolumeList& driftVolumeList,
117  LArDriftVolumeList& daughterVolumeList);
118  };
119 
120 } // namespace lar_pandora
121 
122 #endif // #ifndef LAR_PANDORA_GEOMETRY_H
static geo::View_t GetGlobalView(const unsigned int cstat, const unsigned int tpc, const geo::View_t hit_View)
Convert to global coordinate system.
static void LoadGeometry(LArDriftVolumeList &outputVolumeList, LArDriftVolumeMap &outputVolumeMap, const bool useActiveBoundingBox)
Load drift volume geometry.
enum geo::_plane_proj View_t
Enumerate the possible plane projections.
std::map< unsigned int, LArDriftVolume > LArDriftVolumeMap
std::vector< LArDriftVolume > LArDriftVolumeList
static unsigned int GetVolumeID(const LArDriftVolumeMap &driftVolumeMap, const unsigned int cstat, const unsigned int tpc)
Get drift volume ID from a specified cryostat/tpc pair.
static unsigned int GetDaughterVolumeID(const LArDriftVolumeMap &driftVolumeMap, const unsigned int cstat, const unsigned int tpc)
Get daughter volume ID from a specified cryostat/tpc pair.
static unsigned int GetTpcID(const unsigned int cstat, const unsigned int tpc)
Generate a unique identifier for each TPC.
LArPandoraGeometry class.
static bool ShouldSwitchUV(const unsigned int cstat, const unsigned int tpc)
Return whether U/V should be switched in global coordinate system for this cryostat/tpc.
static void LoadGlobalDaughterGeometry(const LArDriftVolumeList &driftVolumeList, LArDriftVolumeList &daughterVolumeList)
This method will create one or more daughter volumes (these share a common drift orientation along th...
static void LoadDetectorGaps(LArDetectorGapList &listOfGaps, const bool useActiveBoundingBox)
Load the 2D gaps that go with the chosen geometry.
Definition of data types for geometry description.
std::vector< LArDetectorGap > LArDetectorGapList