7 #ifndef LAR_PANDORA_GEOMETRY_H 8 #define LAR_PANDORA_GEOMETRY_H 1 106 const unsigned int tpc,
117 unsigned int GetCryostat()
const;
122 unsigned int GetTpc()
const;
127 float GetCenterX()
const;
132 float GetCenterY()
const;
137 float GetCenterZ()
const;
142 float GetWidthX()
const;
147 float GetWidthY()
const;
152 float GetWidthZ()
const;
198 const bool isPositiveDrift,
199 const float wirePitchU,
200 const float wirePitchV,
201 const float wirePitchW,
202 const float wireAngleU,
203 const float wireAngleV,
204 const float wireAngleW,
211 const float sigmaUVZ,
212 const LArDaughterDriftVolumeList& tpcVolumeList);
217 unsigned int GetVolumeID()
const;
222 bool IsPositiveDrift()
const;
227 float GetWirePitchU()
const;
232 float GetWirePitchV()
const;
237 float GetWirePitchW()
const;
242 float GetWireAngleU()
const;
247 float GetWireAngleV()
const;
252 float GetWireAngleW()
const;
257 float GetCenterX()
const;
262 float GetCenterY()
const;
267 float GetCenterZ()
const;
272 float GetWidthX()
const;
277 float GetWidthY()
const;
282 float GetWidthZ()
const;
287 float GetSigmaUVZ()
const;
292 const LArDaughterDriftVolumeList& GetTpcVolumeList()
const;
331 static void LoadDetectorGaps(LArDetectorGapList& listOfGaps,
const bool useActiveBoundingBox);
340 static void LoadGeometry(LArDriftVolumeList& outputVolumeList,
341 LArDriftVolumeMap& outputVolumeMap,
342 const bool useActiveBoundingBox);
351 static unsigned int GetVolumeID(
const LArDriftVolumeMap& driftVolumeMap,
352 const unsigned int cstat,
353 const unsigned int tpc);
362 static unsigned int GetDaughterVolumeID(
const LArDriftVolumeMap& driftVolumeMap,
363 const unsigned int cstat,
364 const unsigned int tpc);
373 static geo::View_t GetGlobalView(
const unsigned int cstat,
374 const unsigned int tpc,
384 static unsigned int GetTpcID(
const unsigned int cstat,
const unsigned int tpc);
392 static bool ShouldSwitchUV(
const unsigned int cstat,
const unsigned int tpc);
399 static bool ShouldSwitchUV(
const bool isPositiveDrift);
408 static void LoadGeometry(LArDriftVolumeList& driftVolumeList,
const bool useActiveBoundingBox);
417 static void LoadGlobalDaughterGeometry(
const LArDriftVolumeList& driftVolumeList,
418 LArDriftVolumeList& daughterVolumeList);
493 const unsigned int tpc,
500 : m_cryostat(cryostat)
588 return m_isPositiveDrift;
697 inline const LArDaughterDriftVolumeList&
700 return m_tpcVolumeList;
705 #endif // #ifndef LAR_PANDORA_GEOMETRY_H float GetCenterZ() const
Return Z position at centre of tpc volume.
float GetWidthZ() const
Return Z span of drift volume.
float GetWidthY() const
Return Y span of tpc volume.
daughter drift volume class to hold properties of daughter drift volumes
float GetWidthZ() const
Return Z span of tpc volume.
float GetWidthX() const
Return X span of tpc volume.
enum geo::_plane_proj View_t
Enumerate the possible plane projections.
std::map< unsigned int, LArDriftVolume > LArDriftVolumeMap
LArDetectorGap(const float x1, const float y1, const float z1, const float x2, const float y2, const float z2)
Constructor.
unsigned int GetCryostat() const
Return cryostat ID.
LArDaughterDriftVolumeList m_tpcVolumeList
std::vector< LArDriftVolume > LArDriftVolumeList
float GetZ1() const
Get lower Z coordinate.
LArDaughterDriftVolume(const unsigned int cryostat, const unsigned int tpc, const float centerX, const float centerY, const float centerZ, const float widthX, const float widthY, const float widthZ)
Constructor.
float GetWireAngleW() const
Return wire angle in W view (Pandora convention)
float GetCenterZ() const
Return Z position at centre of drift volume.
float GetWirePitchW() const
Return wire pitch in W view.
const LArDaughterDriftVolumeList & GetTpcVolumeList() const
Return list of daughter drift volumes associated with this drift volume.
LArPandoraGeometry class.
float GetCenterX() const
Return X position at centre of drift volume.
unsigned int GetVolumeID() const
Return unique ID.
float GetCenterX() const
Return X position at centre of tpc volume.
bool IsPositiveDrift() const
Return drift direction (true if positive)
float GetCenterY() const
Return Y position at centre of tpc volume.
Definition of data types for geometry description.
float GetX1() const
Get lower X coordinate.
float GetWireAngleV() const
Return wire angle in V view (Pandora convention)
std::vector< LArDaughterDriftVolume > LArDaughterDriftVolumeList
static float GetMaxGapSize() noexcept
Get maximum gap size.
std::vector< LArDetectorGap > LArDetectorGapList
float GetWidthY() const
Return Y span of drift volume.
float GetCenterY() const
Return Y position at centre of drift volume.
float GetWirePitchU() const
Return wire pitch in U view.
float GetSigmaUVZ() const
Return sigmaUVZ parameter (used for matching views)
drift volume class to hold properties of drift volume
float GetWirePitchV() const
Return wire pictch in V view.
float GetWidthX() const
Return X span of drift volume.
float GetY1() const
Get lower y coordinate.
float GetY2() const
Get upper Y coordinate.
drift volume class to hold properties of drift volume
float GetX2() const
Get upper X coordinate.
float GetZ2() const
Get upper Z coordinate.
float GetWireAngleU() const
Return wire angle in U view (Pandora convention)
unsigned int GetTpc() const
Return tpc ID.