MarlinPandora  03.00.00
 All Classes Functions Variables
GeometryCreator.h
1 
9 #ifndef GEOMETRY_CREATOR_H
10 #define GEOMETRY_CREATOR_H 1
11 
12 #include "Api/PandoraApi.h"
13 
14 namespace gear { class CalorimeterParameters; }
15 
16 //------------------------------------------------------------------------------------------------------------------------------------------
17 
22 {
23 public:
27  class Settings
28  {
29  public:
33  Settings();
34 
41 
46 
51 
56  };
57 
64  GeometryCreator(const Settings &settings, const pandora::Pandora *const pPandora);
65 
70 
74  pandora::StatusCode CreateGeometry() const;
75 
76 private:
77  typedef std::map<pandora::SubDetectorType, PandoraApi::Geometry::SubDetector::Parameters> SubDetectorTypeMap;
78  typedef std::map<std::string, PandoraApi::Geometry::SubDetector::Parameters> SubDetectorNameMap;
79 
85  void SetMandatorySubDetectorParameters(SubDetectorTypeMap &subDetectorTypeMap) const;
86 
92  void SetAdditionalSubDetectorParameters(SubDetectorNameMap &subDetectorNameMap) const;
93 
102  void SetDefaultSubDetectorParameters(const gear::CalorimeterParameters &inputParameters, const std::string &subDetectorName,
103  const pandora::SubDetectorType subDetectorType, PandoraApi::Geometry::SubDetector::Parameters &parameters) const;
104 
111  pandora::StatusCode SetILDSpecificGeometry(SubDetectorTypeMap &subDetectorTypeMap, SubDetectorNameMap &subDetectorNameMap) const;
112 
118  pandora::StatusCode SetILD_SDHCALSpecificGeometry(SubDetectorTypeMap &subDetectorTypeMap) const;
119 
123  pandora::StatusCode CreateHCalBarrelBoxGaps() const;
124 
128  pandora::StatusCode CreateHCalEndCapBoxGaps() const;
129 
133  pandora::StatusCode CreateHCalBarrelConcentricGaps() const;
134 
147  pandora::StatusCode CreateRegularBoxGaps(unsigned int symmetryOrder, float phi0, float innerRadius, float outerRadius, float minZ,
148  float maxZ, float gapWidth, pandora::CartesianVector vertexOffset = pandora::CartesianVector(0, 0, 0)) const;
149 
150  const Settings m_settings;
151  const pandora::Pandora *m_pPandora;
152 };
153 
154 #endif // #ifndef GEOMETRY_CREATOR_H
float m_hCalEndCapOuterPhiCoordinate
HCal end cap outer phi coordinate (missing from ILD gear files)
Definition: GeometryCreator.h:50
float m_hCalRingOuterPhiCoordinate
HCal ring outer phi coordinate (missing from ILD gear files)
Definition: GeometryCreator.h:55
int m_hCalEndCapOuterSymmetryOrder
HCal end cap outer symmetry order (missing from ILD gear files)
Definition: GeometryCreator.h:49
float m_eCalEndCapOuterPhiCoordinate
ECal end cap outer phi coordinate (missing from ILD gear files)
Definition: GeometryCreator.h:45
float m_absorberRadLengthECal
The absorber radiation length in the ECal.
Definition: GeometryCreator.h:35
int m_hCalRingInnerSymmetryOrder
HCal ring inner symmetry order (missing from ILD gear files)
Definition: GeometryCreator.h:52
float m_absorberIntLengthOther
The absorber interaction length in other detector regions.
Definition: GeometryCreator.h:40
GeometryCreator class.
Definition: GeometryCreator.h:21
float m_hCalRingInnerPhiCoordinate
HCal ring inner phi coordinate (missing from ILD gear files)
Definition: GeometryCreator.h:53
float m_absorberIntLengthHCal
The absorber interaction length in the HCal.
Definition: GeometryCreator.h:38
float m_hCalEndCapInnerPhiCoordinate
HCal end cap inner phi coordinate (missing from ILD gear files)
Definition: GeometryCreator.h:48
float m_absorberRadLengthOther
The absorber radiation length in other detector regions.
Definition: GeometryCreator.h:39
int m_hCalEndCapInnerSymmetryOrder
HCal end cap inner symmetry order (missing from ILD gear files)
Definition: GeometryCreator.h:47
float m_absorberRadLengthHCal
The absorber radiation length in the HCal.
Definition: GeometryCreator.h:37
float m_eCalEndCapInnerPhiCoordinate
ECal end cap inner phi coordinate (missing from ILD gear files)
Definition: GeometryCreator.h:43
int m_eCalEndCapOuterSymmetryOrder
ECal end cap outer symmetry order (missing from ILD gear files)
Definition: GeometryCreator.h:44
pandora::StatusCode CreateGeometry() const
Create geometry.
Definition: GeometryCreator.cc:37
Settings()
Default constructor.
Definition: GeometryCreator.cc:392
int m_hCalRingOuterSymmetryOrder
HCal ring outer symmetry order (missing from ILD gear files)
Definition: GeometryCreator.h:54
GeometryCreator(const Settings &settings, const pandora::Pandora *const pPandora)
Constructor.
Definition: GeometryCreator.cc:23
~GeometryCreator()
Destructor.
Definition: GeometryCreator.cc:31
int m_eCalEndCapInnerSymmetryOrder
ECal end cap inner symmetry order (missing from ILD gear files)
Definition: GeometryCreator.h:42
float m_absorberIntLengthECal
The absorber interaction length in the ECal.
Definition: GeometryCreator.h:36
Settings class.
Definition: GeometryCreator.h:27