Belle II Software  release-05-01-25
TOPGeoFrontEnd.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2016 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Marko Staric *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <top/dbobjects/TOPGeoBase.h>
14 #include <string>
15 
16 namespace Belle2 {
25  class TOPGeoFrontEnd: public TOPGeoBase {
26  public:
27 
31  TOPGeoFrontEnd(): TOPGeoBase("TOPFrontEnd")
32  {}
33 
43  void setFrontBoard(double width, double height, double thickness,
44  double gap, double y, const std::string& material)
45  {
46  m_FBWidth = width;
47  m_FBHeight = height;
48  m_FBThickness = thickness;
49  m_FBGap = gap;
50  m_FBy = y;
51  m_FBMaterial = material;
52  }
53 
54 
64  void setHVBoard(double width, double length, double thickness,
65  double gap, double y, const std::string& material)
66  {
67  m_HVWidth = width;
68  m_HVLength = length;
69  m_HVThickness = thickness;
70  m_HVGap = gap;
71  m_HVy = y;
72  m_HVMaterial = material;
73  }
74 
75 
87  void setBoardStack(double width, double height, double length,
88  double gap, double y, const std::string& material,
89  double spacerWidth, const std::string& spacerMaterial)
90  {
91  m_BSWidth = width;
92  m_BSHeight = height;
93  m_BSLength = length;
94  m_BSGap = gap;
95  m_BSy = y;
96  m_BSMaterial = material;
97  m_spacerWidth = spacerWidth;
98  m_spacerMaterial = spacerMaterial;
99  }
100 
105  double getFrontBoardWidth() const {return m_FBWidth / s_unit;}
106 
111  double getFrontBoardHeight() const {return m_FBHeight / s_unit;}
112 
117  double getFrontBoardThickness() const {return m_FBThickness / s_unit;}
118 
123  double getFrontBoardGap() const {return m_FBGap / s_unit;}
124 
129  double getFrontBoardY() const {return m_FBy / s_unit;}
130 
135  const std::string& getFrontBoardMaterial() const {return m_FBMaterial;}
136 
137 
142  double getHVBoardWidth() const {return m_HVWidth / s_unit;}
143 
148  double getHVBoardLength() const {return m_HVLength / s_unit;}
149 
154  double getHVBoardThickness() const {return m_HVThickness / s_unit;}
155 
160  double getHVBoardGap() const {return m_HVGap / s_unit;}
161 
166  double getHVBoardY() const {return m_HVy / s_unit;}
167 
172  const std::string& getHVBoardMaterial() const {return m_HVMaterial;}
173 
174 
179  double getBoardStackWidth() const {return m_BSWidth / s_unit;}
180 
185  double getBoardStackHeight() const {return m_BSHeight / s_unit;}
186 
191  double getBoardStackLength() const {return m_BSLength / s_unit;}
192 
197  double getBoardStackGap() const {return m_BSGap / s_unit;}
198 
203  double getBoardStackY() const {return m_BSy / s_unit;}
204 
209  const std::string& getBoardStackMaterial() const {return m_BSMaterial;}
210 
215  double getSpacerWidth() const {return m_spacerWidth / s_unit;}
216 
221  const std::string& getSpacerMaterial() const {return m_spacerMaterial;}
222 
227  bool isConsistent() const override;
228 
233  virtual void print(const std::string& title = "Front-end geometry parameters") const override;
234 
235  private:
236 
237  float m_FBWidth = 0;
238  float m_FBHeight = 0;
239  float m_FBThickness = 0;
240  float m_FBGap = 0;
241  float m_FBy = 0;
242  std::string m_FBMaterial;
244  float m_HVWidth = 0;
245  float m_HVLength = 0;
246  float m_HVThickness = 0;
247  float m_HVGap = 0;
248  float m_HVy = 0;
249  std::string m_HVMaterial;
251  float m_BSWidth = 0;
252  float m_BSHeight = 0;
253  float m_BSLength = 0;
254  float m_BSGap = 0;
255  float m_BSy = 0;
256  std::string m_BSMaterial;
257  float m_spacerWidth = 0;
258  std::string m_spacerMaterial;
262  };
263 
265 } // end namespace Belle2
Belle2::TOPGeoFrontEnd::m_FBMaterial
std::string m_FBMaterial
front board material
Definition: TOPGeoFrontEnd.h:250
Belle2::TOPGeoFrontEnd::getSpacerWidth
double getSpacerWidth() const
Returns board stack spacer width.
Definition: TOPGeoFrontEnd.h:223
Belle2::TOPGeoFrontEnd::m_HVThickness
float m_HVThickness
HV board thickness.
Definition: TOPGeoFrontEnd.h:254
Belle2::TOPGeoFrontEnd::getBoardStackGap
double getBoardStackGap() const
Returns gap between board stack and front board.
Definition: TOPGeoFrontEnd.h:205
Belle2::TOPGeoFrontEnd::getFrontBoardThickness
double getFrontBoardThickness() const
Returns front board thickness.
Definition: TOPGeoFrontEnd.h:125
Belle2::TOPGeoFrontEnd::TOPGeoFrontEnd
TOPGeoFrontEnd()
Default constructor.
Definition: TOPGeoFrontEnd.h:39
Belle2::TOPGeoFrontEnd::m_FBThickness
float m_FBThickness
front board thickness
Definition: TOPGeoFrontEnd.h:247
Belle2::TOPGeoFrontEnd::setHVBoard
void setHVBoard(double width, double length, double thickness, double gap, double y, const std::string &material)
Sets HV board data.
Definition: TOPGeoFrontEnd.h:72
Belle2::TOPGeoFrontEnd::getSpacerMaterial
const std::string & getSpacerMaterial() const
Returns board stack spacer material.
Definition: TOPGeoFrontEnd.h:229
Belle2::TOPGeoFrontEnd::getHVBoardMaterial
const std::string & getHVBoardMaterial() const
Returns HV board material.
Definition: TOPGeoFrontEnd.h:180
Belle2::TOPGeoFrontEnd::m_BSMaterial
std::string m_BSMaterial
board stack material
Definition: TOPGeoFrontEnd.h:264
Belle2::TOPGeoFrontEnd::m_spacerWidth
float m_spacerWidth
board stack spacer width
Definition: TOPGeoFrontEnd.h:265
Belle2::TOPGeoFrontEnd::getHVBoardThickness
double getHVBoardThickness() const
Returns HV board thickness.
Definition: TOPGeoFrontEnd.h:162
Belle2::TOPGeoFrontEnd::m_BSGap
float m_BSGap
gap between board stack and front board
Definition: TOPGeoFrontEnd.h:262
Belle2::TOPGeoFrontEnd::getFrontBoardY
double getFrontBoardY() const
Returns position of front board center in bar frame.
Definition: TOPGeoFrontEnd.h:137
Belle2::TOPGeoFrontEnd::getHVBoardWidth
double getHVBoardWidth() const
Returns HV board width.
Definition: TOPGeoFrontEnd.h:150
Belle2::TOPGeoFrontEnd::getHVBoardY
double getHVBoardY() const
Returns position of HV board center in bar frame.
Definition: TOPGeoFrontEnd.h:174
Belle2::TOPGeoFrontEnd::m_BSy
float m_BSy
position of board stack center in bar frame
Definition: TOPGeoFrontEnd.h:263
Belle2::TOPGeoFrontEnd::getFrontBoardMaterial
const std::string & getFrontBoardMaterial() const
Returns front board material.
Definition: TOPGeoFrontEnd.h:143
Belle2::TOPGeoFrontEnd::m_BSLength
float m_BSLength
board stack length
Definition: TOPGeoFrontEnd.h:261
Belle2::TOPGeoFrontEnd
Geometry parameters of board stack (front-end electronic module)
Definition: TOPGeoFrontEnd.h:33
Belle2::TOPGeoFrontEnd::m_FBGap
float m_FBGap
gap between front board and PMT array
Definition: TOPGeoFrontEnd.h:248
Belle2::TOPGeoFrontEnd::m_HVy
float m_HVy
position of HV board center in bar frame
Definition: TOPGeoFrontEnd.h:256
Belle2::TOPGeoFrontEnd::getFrontBoardGap
double getFrontBoardGap() const
Returns gap between front board and PMT array.
Definition: TOPGeoFrontEnd.h:131
Belle2::TOPGeoFrontEnd::ClassDefOverride
ClassDefOverride(TOPGeoFrontEnd, 1)
ClassDef.
Belle2::TOPGeoFrontEnd::m_HVLength
float m_HVLength
HV board length.
Definition: TOPGeoFrontEnd.h:253
Belle2::TOPGeoFrontEnd::m_spacerMaterial
std::string m_spacerMaterial
board stack spacer material
Definition: TOPGeoFrontEnd.h:266
Belle2::TOPGeoFrontEnd::m_FBy
float m_FBy
position of front board center in bar frame
Definition: TOPGeoFrontEnd.h:249
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TOPGeoFrontEnd::getHVBoardLength
double getHVBoardLength() const
Returns HV board length.
Definition: TOPGeoFrontEnd.h:156
Belle2::TOPGeoFrontEnd::m_HVGap
float m_HVGap
gap between HV board and front board
Definition: TOPGeoFrontEnd.h:255
Belle2::TOPGeoFrontEnd::getBoardStackY
double getBoardStackY() const
Returns position of board stack center in bar frame.
Definition: TOPGeoFrontEnd.h:211
Belle2::TOPGeoBase::s_unit
static double s_unit
conversion unit for length
Definition: TOPGeoBase.h:96
Belle2::TOPGeoBase::TOPGeoBase
TOPGeoBase()
Default constructor.
Definition: TOPGeoBase.h:41
Belle2::TOPGeoFrontEnd::isConsistent
bool isConsistent() const override
Check for consistency of data members.
Definition: TOPGeoFrontEnd.cc:22
Belle2::TOPGeoFrontEnd::getBoardStackMaterial
const std::string & getBoardStackMaterial() const
Returns board stack material.
Definition: TOPGeoFrontEnd.h:217
Belle2::TOPGeoFrontEnd::m_BSWidth
float m_BSWidth
board stack width
Definition: TOPGeoFrontEnd.h:259
Belle2::TOPGeoFrontEnd::m_FBWidth
float m_FBWidth
front board width
Definition: TOPGeoFrontEnd.h:245
Belle2::TOPGeoFrontEnd::m_HVWidth
float m_HVWidth
HV board width.
Definition: TOPGeoFrontEnd.h:252
Belle2::TOPGeoFrontEnd::getBoardStackLength
double getBoardStackLength() const
Returns board stack length.
Definition: TOPGeoFrontEnd.h:199
Belle2::TOPGeoFrontEnd::m_FBHeight
float m_FBHeight
front board height
Definition: TOPGeoFrontEnd.h:246
Belle2::TOPGeoFrontEnd::setFrontBoard
void setFrontBoard(double width, double height, double thickness, double gap, double y, const std::string &material)
Sets front board data.
Definition: TOPGeoFrontEnd.h:51
Belle2::TOPGeoFrontEnd::getBoardStackHeight
double getBoardStackHeight() const
Returns board stack height.
Definition: TOPGeoFrontEnd.h:193
Belle2::TOPGeoFrontEnd::getFrontBoardHeight
double getFrontBoardHeight() const
Returns front board height.
Definition: TOPGeoFrontEnd.h:119
Belle2::TOPGeoFrontEnd::print
virtual void print(const std::string &title="Front-end geometry parameters") const override
Print the content of the class.
Definition: TOPGeoFrontEnd.cc:48
Belle2::TOPGeoFrontEnd::getBoardStackWidth
double getBoardStackWidth() const
Returns board stack width.
Definition: TOPGeoFrontEnd.h:187
Belle2::TOPGeoFrontEnd::m_HVMaterial
std::string m_HVMaterial
HV board material.
Definition: TOPGeoFrontEnd.h:257
Belle2::TOPGeoFrontEnd::setBoardStack
void setBoardStack(double width, double height, double length, double gap, double y, const std::string &material, double spacerWidth, const std::string &spacerMaterial)
Sets board stack data.
Definition: TOPGeoFrontEnd.h:95
Belle2::TOPGeoFrontEnd::getHVBoardGap
double getHVBoardGap() const
Returns gap between HV board and front board.
Definition: TOPGeoFrontEnd.h:168
Belle2::TOPGeoFrontEnd::getFrontBoardWidth
double getFrontBoardWidth() const
Returns front board width.
Definition: TOPGeoFrontEnd.h:113
Belle2::TOPGeoFrontEnd::m_BSHeight
float m_BSHeight
board stack height
Definition: TOPGeoFrontEnd.h:260