Belle II Software  release-08-01-10
SVDEndringsPar.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 <TObject.h>
11 #include <string>
12 
13 
14 namespace Belle2 {
25  class SVDEndringsTypePar: public TObject {
26 
27  public:
29  SVDEndringsTypePar(const std::string& name, double z, double baseRadius, double innerRadius, double outerRadius,
30  double horizontalBarWidth, double verticalBarWidth):
31  m_name(name), m_z(z), m_baseRadius(baseRadius), m_innerRadius(innerRadius), m_outerRadius(outerRadius),
32  m_horizontalBarWidth(horizontalBarWidth), m_verticalBarWidth(verticalBarWidth)
33  {}
38  {}
39 
41  const std::string& getName() const { return m_name; }
43  double getZ() const { return m_z; }
45  double getBaseRadius() const { return m_baseRadius; }
47  double getInnerRadius() const { return m_innerRadius; }
49  double getOuterRadius() const { return m_outerRadius; }
51  double getHorizontalBarWidth() const { return m_horizontalBarWidth; }
53  double getVerticalBarWidth() const { return m_verticalBarWidth; }
54 
55  private:
56 
57  std::string m_name;
58  double m_z;
59  double m_baseRadius;
60  double m_innerRadius;
61  double m_outerRadius;
66  };
67 
72  class SVDEndringsPar: public TObject {
73 
74  public:
76  SVDEndringsPar(const std::string& material, double length, double gapWidth, double baseThickness):
77  m_material(material), m_length(length), m_gapWidth(gapWidth), m_baseThickness(baseThickness)
78  {}
82  {}
83 
85  const std::string& getMaterial() const { return m_material; }
87  double getLength() const { return m_length; }
89  double getGapWidth() const { return m_gapWidth; }
91  double getBaseThickness() const { return m_baseThickness; }
93  const std::vector<SVDEndringsTypePar>& getTypes() const { return m_types; }
95  std::vector<SVDEndringsTypePar>& getTypes() { return m_types; }
96 
97  private:
98 
99  std::string m_material;
100  double m_length;
101  double m_gapWidth;
104  std::vector<SVDEndringsTypePar> m_types;
107  };
108 
109 
111 } // end of namespace Belle2
112 
The Class for SVD Endring.
SVDEndringsPar()
Constructor.
std::string m_material
material name
const std::vector< SVDEndringsTypePar > & getTypes() const
get types (forward/backward)
SVDEndringsPar(const std::string &material, double length, double gapWidth, double baseThickness)
Constructor.
std::vector< SVDEndringsTypePar > m_types
vector of types
double m_baseThickness
base thickness
double getGapWidth() const
get gap width
double getBaseThickness() const
get base thickness
const std::string & getMaterial() const
get material
double m_gapWidth
gap width
ClassDef(SVDEndringsPar, 5)
ClassDef, must be the last term before the closing {}.
std::vector< SVDEndringsTypePar > & getTypes()
get types (forward/backward)
double getLength() const
get length
The Class for SVD Endring Type.
double m_innerRadius
inner radius
double getBaseRadius() const
get base radius
double getHorizontalBarWidth() const
get horizontal bar width
ClassDef(SVDEndringsTypePar, 5)
ClassDef, must be the last term before the closing {}.
SVDEndringsTypePar(const std::string &name, double z, double baseRadius, double innerRadius, double outerRadius, double horizontalBarWidth, double verticalBarWidth)
Constructor.
double getOuterRadius() const
get outer radius
const std::string & getName() const
get name
double getInnerRadius() const
get inner radius
double m_horizontalBarWidth
horizontal bar width
double getZ() const
get z
double m_baseRadius
base radius
double getVerticalBarWidth() const
get vertical bar width
SVDEndringsTypePar()
Constructor.
double m_outerRadius
outer radius
double m_verticalBarWidth
vertical bar width
Abstract base class for different kinds of events.