Belle II Software  release-05-02-19
SVDSupportRibsPar.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Benjamin Schwenker *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 
12 
13 #include <TObject.h>
14 #include <string>
15 #include <vector>
16 
17 
18 namespace Belle2 {
28  class SVDSupportBoxPar: public TObject {
29 
30  public:
31 
33  SVDSupportBoxPar(double theta, double zpos, double rpos, double length):
34  m_theta(theta), m_zpos(zpos), m_rpos(rpos), m_length(length)
35  {}
38  m_theta(0.), m_zpos(0.), m_rpos(0.), m_length(0.)
39  {}
40 
42  double getTheta() const { return m_theta; }
44  double getZ() const { return m_zpos; }
46  double getR() const { return m_rpos; }
48  double getLength() const { return m_length; }
49 
50  private:
51  double m_theta;
52  double m_zpos;
53  double m_rpos;
54  double m_length;
57  };
58 
63  class SVDSupportTabPar: public TObject {
64 
65  public:
66 
68  SVDSupportTabPar(double theta, double zpos, double rpos):
69  m_theta(theta), m_zpos(zpos), m_rpos(rpos)
70  {}
73  m_theta(0.), m_zpos(0.), m_rpos(0.)
74  {}
75 
77  double getTheta() const { return m_theta; }
79  double getZ() const { return m_zpos; }
81  double getR() const { return m_rpos; }
82 
83  private:
84  double m_theta;
85  double m_zpos;
86  double m_rpos;
89  };
90 
95  class SVDEndmountPar: public TObject {
96 
97  public:
99  SVDEndmountPar(const std::string& name, double height, double width, double length, double zpos, double rpos):
100  m_name(name), m_height(height), m_width(width), m_length(length), m_zpos(zpos), m_rpos(rpos)
101  {}
104  m_name(""), m_height(0.), m_width(0.), m_length(0.), m_zpos(0.), m_rpos(0.)
105  {}
106 
108  const std::string& getName() const { return m_name; }
110  double getHeight() const { return m_height; }
112  double getWidth() const { return m_width; }
114  double getLength() const { return m_length; }
116  double getZ() const { return m_zpos; }
118  double getR() const { return m_rpos; }
119 
120  private:
121 
122  std::string m_name;
123  double m_height;
124  double m_width;
125  double m_length;
126  double m_zpos;
127  double m_rpos;
130  };
131 
132 
133 
138  class SVDSupportRibsPar: public TObject {
139 
140  public:
142  SVDSupportRibsPar(double spacing, double height, double innerWidth, double outerWidth, double tabLength,
143  const std::string& outerMaterial, const std::string& innerMaterial, const std::string& outerColor, const std::string& innerColor,
144  const std::string& endmountMaterial):
145  m_spacing(spacing), m_height(height), m_innerWidth(innerWidth), m_outerWidth(outerWidth), m_tabLength(tabLength),
146  m_outerMaterial(outerMaterial), m_innerMaterial(innerMaterial), m_outerColor(outerColor), m_innerColor(innerColor),
147  m_endmountMaterial(endmountMaterial)
148  {}
151  m_spacing(0.), m_height(0.), m_innerWidth(0.), m_outerWidth(0.), m_tabLength(0.),
153  {}
154 
155 
157  double getSpacing() const { return m_spacing; }
159  void setSpacing(double spacing) { m_spacing = spacing; }
161  double getHeight() const { return m_height; }
163  void setHeight(double height) { m_height = height; }
165  double getInnerWidth() const { return m_innerWidth; }
167  double getOuterWidth() const { return m_outerWidth; }
169  double getTabLength() const { return m_tabLength; }
171  const std::string& getOuterMaterial() const { return m_outerMaterial; }
173  const std::string& getInnerMaterial() const { return m_innerMaterial; }
175  const std::string& getInnerColor() const { return m_innerColor; }
177  const std::string& getOuterColor() const { return m_outerColor; }
179  const std::string& getEndmountMaterial() const { return m_endmountMaterial; }
181  const std::vector<SVDSupportTabPar>& getTabs() const { return m_tabs; }
183  const std::vector<SVDSupportBoxPar>& getBoxes() const { return m_boxes; }
185  const std::vector<SVDEndmountPar>& getEndmounts() const { return m_endmounts; }
187  std::vector<SVDSupportTabPar>& getTabs() { return m_tabs; }
189  std::vector<SVDSupportBoxPar>& getBoxes() { return m_boxes; }
191  std::vector<SVDEndmountPar>& getEndmounts() { return m_endmounts; }
192 
193  private:
194 
195  // Get the common values for all layers
196  double m_spacing;
197  double m_height;
198  double m_innerWidth;
199  double m_outerWidth;
200  double m_tabLength;
202  std::string m_outerMaterial;
203  std::string m_innerMaterial;
204  std::string m_outerColor;
205  std::string m_innerColor;
206  std::string m_endmountMaterial;
208  std::vector<SVDSupportTabPar> m_tabs;
209  std::vector<SVDSupportBoxPar> m_boxes;
210  std::vector<SVDEndmountPar> m_endmounts;
213  };
214 
216 } // end of namespace Belle2
217 
Belle2::SVDSupportBoxPar::getR
double getR() const
get r position
Definition: SVDSupportRibsPar.h:54
Belle2::SVDSupportRibsPar::m_outerMaterial
std::string m_outerMaterial
outer material name
Definition: SVDSupportRibsPar.h:210
Belle2::SVDSupportRibsPar::m_boxes
std::vector< SVDSupportBoxPar > m_boxes
vector of svd support boxes
Definition: SVDSupportRibsPar.h:217
Belle2::SVDEndmountPar::SVDEndmountPar
SVDEndmountPar()
Constructor.
Definition: SVDSupportRibsPar.h:111
Belle2::SVDEndmountPar::getWidth
double getWidth() const
get width
Definition: SVDSupportRibsPar.h:120
Belle2::SVDEndmountPar::getName
const std::string & getName() const
get name
Definition: SVDSupportRibsPar.h:116
Belle2::SVDEndmountPar::m_height
double m_height
height
Definition: SVDSupportRibsPar.h:131
Belle2::SVDEndmountPar::getZ
double getZ() const
get z position
Definition: SVDSupportRibsPar.h:124
Belle2::SVDEndmountPar::getR
double getR() const
get r position
Definition: SVDSupportRibsPar.h:126
Belle2::SVDSupportBoxPar::getTheta
double getTheta() const
get theta
Definition: SVDSupportRibsPar.h:50
Belle2::SVDEndmountPar::m_length
double m_length
length
Definition: SVDSupportRibsPar.h:133
Belle2::SVDEndmountPar::m_rpos
double m_rpos
r position
Definition: SVDSupportRibsPar.h:135
Belle2::SVDSupportBoxPar::SVDSupportBoxPar
SVDSupportBoxPar()
Constructor.
Definition: SVDSupportRibsPar.h:45
Belle2::SVDSupportRibsPar::m_innerMaterial
std::string m_innerMaterial
inner material name
Definition: SVDSupportRibsPar.h:211
Belle2::SVDSupportRibsPar::getInnerWidth
double getInnerWidth() const
get inner width
Definition: SVDSupportRibsPar.h:173
Belle2::SVDSupportRibsPar::getEndmounts
const std::vector< SVDEndmountPar > & getEndmounts() const
get endmounts
Definition: SVDSupportRibsPar.h:193
Belle2::SVDSupportRibsPar::m_innerWidth
double m_innerWidth
inner width
Definition: SVDSupportRibsPar.h:206
Belle2::SVDSupportRibsPar::getBoxes
const std::vector< SVDSupportBoxPar > & getBoxes() const
get boxes
Definition: SVDSupportRibsPar.h:191
Belle2::SVDSupportBoxPar::m_rpos
double m_rpos
position in r
Definition: SVDSupportRibsPar.h:61
Belle2::SVDSupportRibsPar::ClassDef
ClassDef(SVDSupportRibsPar, 5)
ClassDef, must be the last term before the closing {}.
Belle2::SVDSupportTabPar::m_zpos
double m_zpos
z position
Definition: SVDSupportRibsPar.h:93
Belle2::SVDEndmountPar::getLength
double getLength() const
get length
Definition: SVDSupportRibsPar.h:122
Belle2::SVDEndmountPar::m_width
double m_width
width
Definition: SVDSupportRibsPar.h:132
Belle2::SVDSupportRibsPar::getTabs
const std::vector< SVDSupportTabPar > & getTabs() const
get tabs
Definition: SVDSupportRibsPar.h:189
Belle2::SVDSupportRibsPar::m_endmounts
std::vector< SVDEndmountPar > m_endmounts
vector of svd endmounts
Definition: SVDSupportRibsPar.h:218
Belle2::SVDSupportRibsPar::m_innerColor
std::string m_innerColor
inner material color
Definition: SVDSupportRibsPar.h:213
Belle2::SVDSupportTabPar::getR
double getR() const
get r position
Definition: SVDSupportRibsPar.h:89
Belle2::SVDSupportTabPar::SVDSupportTabPar
SVDSupportTabPar()
Constructor.
Definition: SVDSupportRibsPar.h:80
Belle2::SVDSupportRibsPar::setHeight
void setHeight(double height)
set height
Definition: SVDSupportRibsPar.h:171
Belle2::SVDSupportTabPar::ClassDef
ClassDef(SVDSupportTabPar, 5)
ClassDef, must be the last term before the closing {}.
Belle2::SVDEndmountPar::getHeight
double getHeight() const
get height
Definition: SVDSupportRibsPar.h:118
Belle2::SVDSupportRibsPar::getInnerMaterial
const std::string & getInnerMaterial() const
get the name of inner material
Definition: SVDSupportRibsPar.h:181
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::SVDSupportTabPar::getZ
double getZ() const
get z position
Definition: SVDSupportRibsPar.h:87
Belle2::SVDSupportBoxPar::getLength
double getLength() const
get length
Definition: SVDSupportRibsPar.h:56
Belle2::SVDSupportRibsPar::m_spacing
double m_spacing
spacing
Definition: SVDSupportRibsPar.h:204
Belle2::SVDSupportRibsPar::getOuterMaterial
const std::string & getOuterMaterial() const
get the name of outer material
Definition: SVDSupportRibsPar.h:179
Belle2::SVDSupportBoxPar::m_length
double m_length
length
Definition: SVDSupportRibsPar.h:62
Belle2::SVDSupportTabPar
The Class for SVD Support Rib Tab.
Definition: SVDSupportRibsPar.h:71
Belle2::SVDSupportRibsPar::m_height
double m_height
height
Definition: SVDSupportRibsPar.h:205
Belle2::SVDSupportRibsPar::getEndmountMaterial
const std::string & getEndmountMaterial() const
get the name of endmount material
Definition: SVDSupportRibsPar.h:187
Belle2::SVDSupportRibsPar::SVDSupportRibsPar
SVDSupportRibsPar(double spacing, double height, double innerWidth, double outerWidth, double tabLength, const std::string &outerMaterial, const std::string &innerMaterial, const std::string &outerColor, const std::string &innerColor, const std::string &endmountMaterial)
Constructor.
Definition: SVDSupportRibsPar.h:150
Belle2::SVDEndmountPar::m_zpos
double m_zpos
z position
Definition: SVDSupportRibsPar.h:134
Belle2::SVDSupportTabPar::m_rpos
double m_rpos
r position
Definition: SVDSupportRibsPar.h:94
Belle2::SVDSupportRibsPar::SVDSupportRibsPar
SVDSupportRibsPar()
Constructor.
Definition: SVDSupportRibsPar.h:158
Belle2::SVDSupportRibsPar::getSpacing
double getSpacing() const
get spacing
Definition: SVDSupportRibsPar.h:165
Belle2::SVDSupportRibsPar::getInnerColor
const std::string & getInnerColor() const
get the name of inner color
Definition: SVDSupportRibsPar.h:183
Belle2::SVDSupportBoxPar::m_zpos
double m_zpos
position in z
Definition: SVDSupportRibsPar.h:60
Belle2::SVDEndmountPar::m_name
std::string m_name
name
Definition: SVDSupportRibsPar.h:130
Belle2::SVDSupportTabPar::getTheta
double getTheta() const
get theta
Definition: SVDSupportRibsPar.h:85
Belle2::SVDSupportRibsPar::getHeight
double getHeight() const
get height
Definition: SVDSupportRibsPar.h:169
Belle2::SVDSupportRibsPar
The Class for SVD Support Ribs (one layer)
Definition: SVDSupportRibsPar.h:146
Belle2::SVDSupportBoxPar
The Class for SVD Support Box.
Definition: SVDSupportRibsPar.h:36
Belle2::SVDSupportBoxPar::getZ
double getZ() const
get z position
Definition: SVDSupportRibsPar.h:52
Belle2::SVDSupportBoxPar::ClassDef
ClassDef(SVDSupportBoxPar, 5)
ClassDef, must be the last term before the closing {}.
Belle2::SVDSupportRibsPar::m_tabs
std::vector< SVDSupportTabPar > m_tabs
vector of svd supper tabs
Definition: SVDSupportRibsPar.h:216
Belle2::SVDSupportBoxPar::m_theta
double m_theta
theta angle
Definition: SVDSupportRibsPar.h:59
Belle2::SVDSupportRibsPar::getOuterWidth
double getOuterWidth() const
get outer width
Definition: SVDSupportRibsPar.h:175
Belle2::SVDSupportTabPar::m_theta
double m_theta
theta
Definition: SVDSupportRibsPar.h:92
Belle2::SVDSupportRibsPar::m_tabLength
double m_tabLength
tab length
Definition: SVDSupportRibsPar.h:208
Belle2::SVDSupportRibsPar::getTabLength
double getTabLength() const
get tabLength
Definition: SVDSupportRibsPar.h:177
Belle2::SVDSupportRibsPar::m_endmountMaterial
std::string m_endmountMaterial
endmount material
Definition: SVDSupportRibsPar.h:214
Belle2::SVDSupportRibsPar::m_outerWidth
double m_outerWidth
outer width
Definition: SVDSupportRibsPar.h:207
Belle2::SVDSupportRibsPar::m_outerColor
std::string m_outerColor
outer material color
Definition: SVDSupportRibsPar.h:212
Belle2::SVDEndmountPar::ClassDef
ClassDef(SVDEndmountPar, 5)
ClassDef, must be the last term before the closing {}.
Belle2::SVDEndmountPar
The Class for SVD Support Rib Endmounts.
Definition: SVDSupportRibsPar.h:103
Belle2::SVDSupportRibsPar::getOuterColor
const std::string & getOuterColor() const
get the name of outer color
Definition: SVDSupportRibsPar.h:185
Belle2::SVDSupportRibsPar::setSpacing
void setSpacing(double spacing)
set spacing
Definition: SVDSupportRibsPar.h:167