Belle II Software  release-08-01-10
VXDPolyConePar.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 
11 #include <TObject.h>
12 #include <string>
13 
14 
15 namespace Belle2 {
25  class VXDPolyConePlanePar: public TObject {
26  public:
28  VXDPolyConePlanePar(double posZ = 0, double innerRadius = 0, double outerRadius = 0):
29  m_posZ(posZ), m_innerRadius(innerRadius), m_outerRadius(outerRadius)
30  {}
31 
33  double getPosZ(void) const { return m_posZ; }
35  double getInnerRadius(void) const { return m_innerRadius; }
37  double getOuterRadius(void) const { return m_outerRadius; }
38 
39  private:
41  double m_posZ;
43  double m_innerRadius;
45  double m_outerRadius;
46 
48  };
49 
50 
55  class VXDPolyConePar: public TObject {
56  public:
58  VXDPolyConePar(const std::string& name = "", const std::string& material = "", double minPhi = 0, double maxPhi = 0,
59  bool doCutOut = false, double cutOutWidth1 = 0, double cutOutWidth2 = 0, double cutOutHeight = 0, double cutOutDepth = 0):
60  m_name(name), m_material(material), m_minPhi(minPhi), m_maxPhi(maxPhi), m_doCutOut(doCutOut), m_cutOutWidth1(cutOutWidth1),
61  m_cutOutWidth2(cutOutWidth2),
62  m_cutOutHeight(cutOutHeight), m_cutOutDepth(cutOutDepth)
63  {}
64 
66  std::string getName(void) const { return m_name; }
68  std::string getMaterial(void) const { return m_material; }
70  double getMinPhi(void) const { return m_minPhi; }
72  double getMaxPhi(void) const { return m_maxPhi; }
74  bool getDoCutOut(void) const { return m_doCutOut; }
76  //double getCutOutWidth(void) const { return m_cutOutWidth; }
78  double getCutOutWidth1(void) const { return m_cutOutWidth1; }
80  double getCutOutWidth2(void) const { return m_cutOutWidth2; }
82  double getCutOutHeight(void) const { return m_cutOutHeight; }
84  double getCutOutDepth(void) const { return m_cutOutDepth; }
86  std::vector<VXDPolyConePlanePar>& getPlanes(void) { return m_planes; }
88  const std::vector<VXDPolyConePlanePar>& getPlanes(void) const { return m_planes; }
89 
90  private:
92  std::string m_name;
94  std::string m_material;
96  double m_minPhi;
98  double m_maxPhi;
102  //double m_cutOutWidth;
112  std::vector<VXDPolyConePlanePar> m_planes;
113 
115  };
116 
117 
119 } // end of namespace Belle2
120 
The Class for VXD PolyCone, possibly with coutouts.
std::vector< VXDPolyConePlanePar > m_planes
Planes.
std::string getMaterial(void) const
Get material name.
double m_cutOutDepth
CutOut Depth in mm.
VXDPolyConePar(const std::string &name="", const std::string &material="", double minPhi=0, double maxPhi=0, bool doCutOut=false, double cutOutWidth1=0, double cutOutWidth2=0, double cutOutHeight=0, double cutOutDepth=0)
Constructor.
std::string m_material
Material name.
std::vector< VXDPolyConePlanePar > & getPlanes(void)
Get planes.
bool m_doCutOut
doCutOut flag
double m_minPhi
minPhi in rad
const std::vector< VXDPolyConePlanePar > & getPlanes(void) const
Get planes.
double m_cutOutWidth2
CutOut Width2 in mm.
double getMinPhi(void) const
Get MinPhi in rad.
std::string getName(void) const
Get name.
ClassDef(VXDPolyConePar, 6)
ClassDef, must be the last term before the closing {}.
double getCutOutWidth2(void) const
Get CutOut Width2 in mm.
double m_cutOutWidth1
CutOut Width in mm.
double getMaxPhi(void) const
Get MaxPhi in rad.
double getCutOutHeight(void) const
Get CutOut Height in mm.
double m_cutOutHeight
CutOut Height in mm.
bool getDoCutOut(void) const
Get doCutOut flag.
double getCutOutWidth1(void) const
Get CutOut Width in mm.
std::string m_name
Name.
double getCutOutDepth(void) const
Get CutOut Depth in mm.
double m_maxPhi
maxPhi in rad
The Class for VXD Polycone Plane.
double m_innerRadius
InnerRadius in mm.
double m_posZ
PosZ in mm.
ClassDef(VXDPolyConePlanePar, 5)
ClassDef, must be the last term before the closing {}.
double getOuterRadius(void) const
Get OuterRadius in mm.
double getInnerRadius(void) const
Get InnerRadius in mm.
double getPosZ(void) const
Get PosZ in mm.
VXDPolyConePlanePar(double posZ=0, double innerRadius=0, double outerRadius=0)
Constructor.
double m_outerRadius
OuterRadius in mm.
Abstract base class for different kinds of events.