Belle II Software development
PXDGeometryPar.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8#pragma once
9
10#include <pxd/dbobjects/PXDSensorInfoPar.h>
11#include <vxd/dbobjects/VXDGeometryPar.h>
12#include <vxd/dbobjects/VXDPolyConePar.h>
13
14namespace Belle2 {
26 public:
31 {
32 for (PXDSensorInfoPar* pxdSensor : geo.getSensorInfos()) {
33 m_SensorInfo.push_back(new PXDSensorInfoPar(*pxdSensor));
34 }
36 m_nCutouts = geo.getNCutOuts();
43 m_nTubes = geo.getNTubes();
52 }
55 {
56 VXDGeometryPar::operator=(geo);
57 for (PXDSensorInfoPar* pxdSensor : geo.getSensorInfos()) {
58 m_SensorInfo.push_back(new PXDSensorInfoPar(*pxdSensor));
59 }
61 m_nCutouts = geo.getNCutOuts();
68 m_nTubes = geo.getNTubes();
77 return *this;
78 }
81 {
82 for (PXDSensorInfoPar* pxdSensor : m_SensorInfo) {
83 delete pxdSensor;
84 }
85 m_SensorInfo.clear();
86 }
88 bool getBuildSupport() const { return (m_nCutouts > 0); }
90 int getNCutOuts() const { return m_nCutouts; }
92 void setNCutOuts(int nCutouts) { m_nCutouts = nCutouts; }
94 double getCutOutWidth() const { return m_cutOutWidth; }
96 void setCutOutWidth(double width) { m_cutOutWidth = width; }
98 double getCutOutHeight() const { return m_cutOutHeight; }
100 void setCutOutHeight(double height) { m_cutOutHeight = height; }
102 double getCutOutShift() const { return m_cutOutShift; }
104 void setCutOutShift(double shift) { m_cutOutShift = shift; }
106 double getCutOutRPhi() const { return m_cutOutRphi; }
108 void setCutOutRPhi(double rphi) { m_cutOutRphi = rphi; }
110 double getCutOutStartPhi() const { return m_cutOutStartPhi; }
112 void setCutOutStartPhi(double start) { m_cutOutStartPhi = start; }
114 double getCutOutDeltaPhi() const { return m_cutOutDeltaPhi; }
116 void setCutOutDeltaPhi(double delta) { m_cutOutDeltaPhi = delta; }
118 int getNTubes() const { return m_nTubes; }
120 void setNTubes(int nTubes) { m_nTubes = nTubes; }
122 double getTubesMinZ() const { return m_tubesMinZ; }
124 void setTubesMinZ(double minZ) { m_tubesMinZ = minZ; }
126 double getTubesMaxZ() const { return m_tubesMaxZ; }
128 void setTubesMaxZ(double maxZ) { m_tubesMaxZ = maxZ; }
130 double getTubesMinR() const { return m_tubesMinR; }
132 void setTubesMinR(double minR) { m_tubesMinR = minR; }
134 double getTubesMaxR() const { return m_tubesMaxR; }
136 void setTubesMaxR(double maxR) { m_tubesMaxR = maxR; }
138 double getTubesRPhi() const { return m_tubesRPhi; }
140 void setTubesRPhi(double rphi) { m_tubesRPhi = rphi; }
142 double getTubesStartPhi() const { return m_tubesStartPhi; }
144 void setTubesStartPhi(double start) { m_tubesStartPhi = start; }
146 double getTubesDeltaPhi() const { return m_tubesDeltaPhi; }
148 void setTubesDeltaPhi(double delta) { m_tubesDeltaPhi = delta; }
150 const std::string& getTubesMaterial() const { return m_tubesMaterial; }
152 void setTubesMaterial(const std::string& material) { m_tubesMaterial = material; }
154 const std::vector<VXDPolyConePar>& getEndflanges() const {return m_endflanges;}
156 std::vector<VXDPolyConePar>& getEndflanges() {return m_endflanges;}
158 std::vector<PXDSensorInfoPar*>& getSensorInfos() {return m_SensorInfo;}
159
160 private:
161
163 std::vector<PXDSensorInfoPar*> m_SensorInfo;
164
166 std::vector<VXDPolyConePar> m_endflanges;
167
169 int m_nCutouts {0};
171 double m_cutOutWidth {0};
173 double m_cutOutHeight {0};
175 double m_cutOutShift {0};
177 double m_cutOutRphi {0};
183 int m_nTubes {0};
185 double m_tubesMinZ {0};
187 double m_tubesMaxZ {0};
189 double m_tubesMinR {0};
191 double m_tubesMaxR {0};
193 double m_tubesRPhi {0};
195 double m_tubesStartPhi {0};
197 double m_tubesDeltaPhi {0};
199 std::string m_tubesMaterial {"Carbon"};
200
202 };
204} // end of namespace Belle2
205
The Class for VXD geometry.
void setNTubes(int nTubes)
set number of tubes
double getTubesMaxZ() const
get tubes maxZ
double getCutOutShift() const
get shift of cutouts
PXDGeometryPar(PXDGeometryPar &geo)
Copy constructor.
double m_cutOutStartPhi
Start Rphi of PXD endflange coutOuts.
PXDGeometryPar()
Default constructor.
void setTubesRPhi(double rphi)
set tubes tubes RPhi
double getTubesMinZ() const
get tubes minZ
void setTubesMaxR(double maxR)
set tubes maxR
ClassDef(PXDGeometryPar, 5)
ClassDef, must be the last term before the closing {}.
const std::vector< VXDPolyConePar > & getEndflanges() const
get Endflanges
double getTubesStartPhi() const
get tubes tubes StartPhi
void setNCutOuts(int nCutouts)
set number of cutouts
double m_cutOutWidth
Width of PXD endflange coutOuts.
double m_tubesMaxR
MaxZ of PXD carbon tubes.
~PXDGeometryPar()
Destructor.
double getCutOutDeltaPhi() const
get deltaphi of cutouts
PXDGeometryPar & operator=(PXDGeometryPar &geo)
Assignemnt operator.
void setCutOutShift(double shift)
set shift of cutouts
int m_nCutouts
Number of PXD endflange coutOuts.
double getTubesMaxR() const
get tubes maxR
std::vector< VXDPolyConePar > m_endflanges
PXD Endflanges.
int m_nTubes
Number of PXD carbon tubes.
double getTubesRPhi() const
get tubes tubes RPhi
double getCutOutWidth() const
get width of cutouts
double m_cutOutRphi
Rphi of PXD endflange coutOuts.
std::vector< PXDSensorInfoPar * > & getSensorInfos()
get sensorInfos
double getCutOutRPhi() const
get rphi of cutouts
void setCutOutWidth(double width)
set width of cutouts
void setTubesMinZ(double minZ)
set tubes minZ
double m_tubesStartPhi
Start Rphi of PXD carbon tubes.
std::vector< VXDPolyConePar > & getEndflanges()
get Endflanges
double getCutOutStartPhi() const
get start phi of cutouts
void setCutOutHeight(double height)
set height of cutouts
double m_tubesMinZ
MinZ of PXD carbon tubes.
const std::string & getTubesMaterial() const
get tubes tubes material
double m_cutOutDeltaPhi
Delta Rphi of PXD endflange coutOuts.
double m_tubesMaxZ
MaxZ of PXD carbon tubes.
void setCutOutDeltaPhi(double delta)
set deltaphi of cutouts
double getTubesDeltaPhi() const
get tubes tubes DeltaPhi
void setTubesDeltaPhi(double delta)
set tubes tubes DeltaPhi
double m_tubesDeltaPhi
Delta Phi of PXD carbon tubes.
double m_cutOutShift
Shift of PXD endflange coutOuts.
std::string m_tubesMaterial
Material of PXD carbon tubes.
double m_tubesMinR
MinR of PXD carbon tubes.
void setTubesMaxZ(double maxZ)
set tubes maxZ
bool getBuildSupport() const
build support
std::vector< PXDSensorInfoPar * > m_SensorInfo
Vector of points to SensorInfo objects.
int getNTubes() const
get number of tubes
double m_cutOutHeight
Height of PXD endflange coutOuts.
void setTubesMinR(double minR)
set tubes minR
void setCutOutStartPhi(double start)
set start phi of cutouts
void setCutOutRPhi(double rphi)
set rphi of cutouts
void setTubesStartPhi(double start)
set tubes tubes StartPhi
double m_tubesRPhi
Rphi of PXD carbon tubes.
int getNCutOuts() const
get number of cutouts
double getTubesMinR() const
get tubes minR
void setTubesMaterial(const std::string &material)
set tubes tubes material
double getCutOutHeight() const
get height of cutouts
The Class for VXD geometry.
The Class for VXD geometry.
Abstract base class for different kinds of events.