Belle II Software development
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
14namespace 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
const std::string & getHVBoardMaterial() const
Returns HV board 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.
const std::string & getFrontBoardMaterial() const
Returns front board material.
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
double getBoardStackGap() const
Returns gap between board stack and front board.
std::string m_HVMaterial
HV board material.
float m_FBHeight
front board height
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.
const std::string & getSpacerMaterial() const
Returns board stack spacer material.
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
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.