Belle II Software  release-08-01-10
TOPGeoFrontEnd.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 
9 #pragma once
10 
11 #include <top/dbobjects/TOPGeoBase.h>
12 #include <string>
13 
14 namespace Belle2 {
23  class TOPGeoFrontEnd: public TOPGeoBase {
24  public:
25 
29  TOPGeoFrontEnd(): TOPGeoBase("TOPFrontEnd")
30  {}
31 
41  void setFrontBoard(double width, double height, double thickness,
42  double gap, double y, const std::string& material)
43  {
44  m_FBWidth = width;
45  m_FBHeight = height;
46  m_FBThickness = thickness;
47  m_FBGap = gap;
48  m_FBy = y;
49  m_FBMaterial = material;
50  }
51 
52 
62  void setHVBoard(double width, double length, double thickness,
63  double gap, double y, const std::string& material)
64  {
65  m_HVWidth = width;
66  m_HVLength = length;
67  m_HVThickness = thickness;
68  m_HVGap = gap;
69  m_HVy = y;
70  m_HVMaterial = material;
71  }
72 
73 
85  void setBoardStack(double width, double height, double length,
86  double gap, double y, const std::string& material,
87  double spacerWidth, const std::string& spacerMaterial)
88  {
89  m_BSWidth = width;
90  m_BSHeight = height;
91  m_BSLength = length;
92  m_BSGap = gap;
93  m_BSy = y;
94  m_BSMaterial = material;
95  m_spacerWidth = spacerWidth;
96  m_spacerMaterial = spacerMaterial;
97  }
98 
103  double getFrontBoardWidth() const {return m_FBWidth / s_unit;}
104 
109  double getFrontBoardHeight() const {return m_FBHeight / s_unit;}
110 
115  double getFrontBoardThickness() const {return m_FBThickness / s_unit;}
116 
121  double getFrontBoardGap() const {return m_FBGap / s_unit;}
122 
127  double getFrontBoardY() const {return m_FBy / s_unit;}
128 
133  const std::string& getFrontBoardMaterial() const {return m_FBMaterial;}
134 
135 
140  double getHVBoardWidth() const {return m_HVWidth / s_unit;}
141 
146  double getHVBoardLength() const {return m_HVLength / s_unit;}
147 
152  double getHVBoardThickness() const {return m_HVThickness / s_unit;}
153 
158  double getHVBoardGap() const {return m_HVGap / s_unit;}
159 
164  double getHVBoardY() const {return m_HVy / s_unit;}
165 
170  const std::string& getHVBoardMaterial() const {return m_HVMaterial;}
171 
172 
177  double getBoardStackWidth() const {return m_BSWidth / s_unit;}
178 
183  double getBoardStackHeight() const {return m_BSHeight / s_unit;}
184 
189  double getBoardStackLength() const {return m_BSLength / s_unit;}
190 
195  double getBoardStackGap() const {return m_BSGap / s_unit;}
196 
201  double getBoardStackY() const {return m_BSy / s_unit;}
202 
207  const std::string& getBoardStackMaterial() const {return m_BSMaterial;}
208 
213  double getSpacerWidth() const {return m_spacerWidth / s_unit;}
214 
219  const std::string& getSpacerMaterial() const {return m_spacerMaterial;}
220 
225  bool isConsistent() const override;
226 
231  virtual void print(const std::string& title = "Front-end geometry parameters") const override;
232 
233  private:
234 
235  float m_FBWidth = 0;
236  float m_FBHeight = 0;
237  float m_FBThickness = 0;
238  float m_FBGap = 0;
239  float m_FBy = 0;
240  std::string m_FBMaterial;
242  float m_HVWidth = 0;
243  float m_HVLength = 0;
244  float m_HVThickness = 0;
245  float m_HVGap = 0;
246  float m_HVy = 0;
247  std::string m_HVMaterial;
249  float m_BSWidth = 0;
250  float m_BSHeight = 0;
251  float m_BSLength = 0;
252  float m_BSGap = 0;
253  float m_BSy = 0;
254  std::string m_BSMaterial;
255  float m_spacerWidth = 0;
256  std::string m_spacerMaterial;
260  };
261 
263 } // end namespace Belle2
Base class for geometry parameters.
Definition: TOPGeoBase.h:25
Geometry parameters of board stack (front-end electronic module)
float m_HVGap
gap between HV board and front board
double getHVBoardGap() const
Returns gap between HV board and front board.
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.
float m_FBGap
gap between front board and PMT array
float m_HVWidth
HV board width.
float m_BSHeight
board stack height
float m_HVLength
HV board length.
std::string m_BSMaterial
board stack material
double getFrontBoardGap() const
Returns gap between front board and PMT array.
float m_BSy
position of board stack center in bar frame
double getHVBoardThickness() const
Returns HV board thickness.
ClassDefOverride(TOPGeoFrontEnd, 1)
ClassDef.
double getFrontBoardThickness() const
Returns front board thickness.
double getHVBoardLength() const
Returns HV board length.
const std::string & getBoardStackMaterial() const
Returns board stack material.
double getBoardStackLength() const
Returns board stack length.
float m_BSWidth
board stack width
float m_BSLength
board stack length
double getBoardStackY() const
Returns position of board stack center in bar frame.
double getBoardStackWidth() const
Returns board stack width.
double getFrontBoardWidth() const
Returns front board width.
double getBoardStackHeight() const
Returns board stack height.
float m_spacerWidth
board stack spacer width
float m_FBThickness
front board thickness
std::string m_FBMaterial
front board material
const std::string & getFrontBoardMaterial() const
Returns front board material.
double getBoardStackGap() const
Returns gap between board stack and front board.
std::string m_HVMaterial
HV board material.
float m_FBHeight
front board height
const std::string & getSpacerMaterial() const
Returns board stack spacer material.
double getHVBoardY() const
Returns position of HV board center in bar frame.
void setHVBoard(double width, double length, double thickness, double gap, double y, const std::string &material)
Sets HV board data.
double getHVBoardWidth() const
Returns HV board width.
double getFrontBoardY() const
Returns position of front board center in bar frame.
float m_BSGap
gap between board stack and front board
double getFrontBoardHeight() const
Returns front board height.
void setFrontBoard(double width, double height, double thickness, double gap, double y, const std::string &material)
Sets front board data.
std::string m_spacerMaterial
board stack spacer material
float m_HVy
position of HV board center in bar frame
double getSpacerWidth() const
Returns board stack spacer width.
float m_HVThickness
HV board thickness.
TOPGeoFrontEnd()
Default constructor.
float m_FBWidth
front board width
float m_FBy
position of front board center in bar frame
const std::string & getHVBoardMaterial() const
Returns HV board material.
bool isConsistent() const override
Check for consistency of data members.
static double s_unit
conversion unit for length
Definition: TOPGeoBase.h:86
virtual void print(const std::string &title="Front-end geometry parameters") const override
Print the content of the class.
Abstract base class for different kinds of events.