Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
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
12#include "larcoreobj/SimpleTypesAndConstants/geo_types.h"
13
14#include <map>
15#include <vector>
16
17namespace 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
LArPandoraGeometry class.
static void LoadDetectorGaps(LArDetectorGapList &listOfGaps, const bool useActiveBoundingBox)
Load the 2D gaps that go with the chosen geometry.
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 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 void LoadGeometry(LArDriftVolumeList &outputVolumeList, LArDriftVolumeMap &outputVolumeMap, const bool useActiveBoundingBox)
Load drift volume geometry.
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 geo::View_t GetGlobalView(const unsigned int cstat, const unsigned int tpc, const geo::View_t hit_View)
Convert to global coordinate system.
static unsigned int GetTpcID(const unsigned int cstat, const unsigned int tpc)
Generate a unique identifier for each 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...
std::vector< LArDetectorGap > LArDetectorGapList
std::vector< LArDriftVolume > LArDriftVolumeList
std::map< unsigned int, LArDriftVolume > LArDriftVolumeMap