Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
GeometryManager.h
Go to the documentation of this file.
1
8#ifndef PANDORA_GEOMETRY_MANAGER_H
9#define PANDORA_GEOMETRY_MANAGER_H 1
10
13
14namespace pandora
15{
16
21{
22public:
28 GeometryManager(const Pandora *const pPandora);
29
34
42 const SubDetector &GetSubDetector(const std::string &subDetectorName) const;
43
52 const SubDetector &GetSubDetector(const SubDetectorType subDetectorType) const;
53
59 const SubDetectorMap &GetSubDetectorMap() const;
60
66 const LArTPC &GetLArTPC() const;
67
73 const LArTPCMap &GetLArTPCMap() const;
74
81
89 Granularity GetHitTypeGranularity(const HitType hitType) const;
90
91private:
100
109
116 template <typename PARAMETERS, typename OBJECT>
117 StatusCode CreateGap(const PARAMETERS &parameters, const ObjectFactory<PARAMETERS, OBJECT> &factory);
118
123
124 typedef std::map<HitType, Granularity> HitTypeToGranularityMap;
125
132
139 StatusCode SetHitTypeGranularity(const HitType hitType, const Granularity granularity);
140
141 typedef std::multimap<SubDetectorType, const SubDetector*> SubDetectorTypeMap;
142
148
149 const Pandora *const m_pPandora;
150
151 friend class PandoraApiImpl;
152};
153
154//------------------------------------------------------------------------------------------------------------------------------------------
155
157{
158 return m_subDetectorMap;
159}
160
161//------------------------------------------------------------------------------------------------------------------------------------------
162
164{
165 return m_larTPCMap;
166}
167
168//------------------------------------------------------------------------------------------------------------------------------------------
169
174
175} // namespace pandora
176
177#endif // #ifndef PANDORA_GEOMETRY_MANAGER_H
Header file for pandora object creation classes.
Header file for pandora enumerated types.
GeometryManager class.
SubDetectorMap m_subDetectorMap
Map from sub detector name to sub detector.
const SubDetectorMap & GetSubDetectorMap() const
Get the map from name to sub detector parameters.
HitTypeToGranularityMap m_hitTypeToGranularityMap
The hit type to granularity map.
StatusCode SetHitTypeGranularity(const HitType hitType, const Granularity granularity)
Set the granularity level to be associated with a specified hit type.
LArTPCMap m_larTPCMap
Map from lar tpc volume id to lar tpc.
const DetectorGapList & GetDetectorGapList() const
Get the list of gaps in the active detector volume.
DetectorGapList m_detectorGapList
List of gaps in the active detector volume.
const SubDetector & GetSubDetector(const std::string &subDetectorName) const
Get the sub detector corresponding to a specified name.
const LArTPCMap & GetLArTPCMap() const
Get the map from name to lar tpc parameters.
StatusCode CreateSubDetector(const object_creation::Geometry::SubDetector::Parameters &parameters, const ObjectFactory< object_creation::Geometry::SubDetector::Parameters, object_creation::Geometry::SubDetector::Object > &factory)
Create sub detector.
HitTypeToGranularityMap GetDefaultHitTypeToGranularityMap() const
Get the default hit type to granularity map.
std::map< HitType, Granularity > HitTypeToGranularityMap
std::multimap< SubDetectorType, const SubDetector * > SubDetectorTypeMap
StatusCode EraseAllContent()
Erase all geometry manager content.
SubDetectorTypeMap m_subDetectorTypeMap
Map from sub detector type to sub detector.
Granularity GetHitTypeGranularity(const HitType hitType) const
Get the granularity level specified for a given calorimeter hit type.
StatusCode CreateGap(const PARAMETERS &parameters, const ObjectFactory< PARAMETERS, OBJECT > &factory)
Create gap.
StatusCode CreateLArTPC(const object_creation::Geometry::LArTPC::Parameters &parameters, const ObjectFactory< object_creation::Geometry::LArTPC::Parameters, object_creation::Geometry::LArTPC::Object > &factory)
Create lar tpc.
const Pandora *const m_pPandora
The associated pandora object.
const LArTPC & GetLArTPC() const
If there is exactly one registered lar tpc instance, return it; else raise an exception.
LArTPC class.
Definition LArTPC.h:26
ObjectFactory class responsible for extended pandora object creation.
PandoraApiImpl class.
Pandora class.
Definition Pandora.h:40
SubDetector class.
Definition SubDetector.h:26
HitType
Calorimeter hit type enum.
Granularity
Granularity enum.
std::map< unsigned int, const LArTPC * > LArTPCMap
std::map< std::string, const SubDetector * > SubDetectorMap
MANAGED_CONTAINER< const DetectorGap * > DetectorGapList
StatusCode
The StatusCode enum.
SubDetectorType
Subdetector type enum.