Belle II Software development
ARICHGeoFEBCooling.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 <arich/dbobjects/ARICHGeoBase.h>
12#include <arich/dbobjects/tessellatedSolidStr.h>
13#include <string>
14
15//root
16#include <TVector3.h>
17
18namespace Belle2 {
33
34 public:
35
40 {}
41
46 void setSmallSquareSize(double value) {m_smallSquareSize = value;}
47
52 void setSmallSquareThickness(double value) {m_smallSquareThickness = value;}
53
58 void setBigSquareSize(double value) {m_bigSquareSize = value;}
59
64 void setBigSquareThickness(double value) {m_bigSquareThickness = value;}
65
70 void setRectangleL(double value) { m_rectangleL = value; }
71
76 void setRectangleW(double value) { m_rectangleW = value; }
77
82 void setRectangleThickness(double value) { m_rectangleThickness = value; }
83
89
97 void setFebcoolingv2GeometryID(const std::vector<double>& febcoolingv2GeometryID) { m_febcoolingv2GeometryID = febcoolingv2GeometryID; }
98
103 double getSmallSquareSize() const { return m_smallSquareSize;}
104
110
115 double getBigSquareSize() const { return m_bigSquareSize;}
116
122
127 double getRectangleL() const { return m_rectangleL;}
128
133 double getRectangleW() const { return m_rectangleW;}
134
140
146
151 const std::vector<double>& getFebcoolingv2GeometryID() const { return m_febcoolingv2GeometryID; }
152
157 void print(const std::string& title = "Upgraded after phase two cooling system (v2) geometry parameters") const;
158
164
165 private:
166
167 //FEB cooling bodies.
168 double m_smallSquareSize = 0.0;
170 double m_bigSquareSize = 0.0;
171 double m_bigSquareThickness = 0.0;
172 double m_rectangleL = 0.0;
173 double m_rectangleW = 0.0;
174 double m_rectangleThickness = 0.0;
177 std::vector<double> m_febcoolingv2GeometryID;
178
181 };
182
184} // end namespace Belle2
Base class for geometry parameters.
Definition: ARICHGeoBase.h:24
Geometry parameters of Cooling System - version2 (v2).
void setFebcoolingv2GeometryID(const std::vector< double > &febcoolingv2GeometryID)
Set vector of feb cooling configuration/geometry ID.
double m_rectangleDistanceFromCenter
Distance from center of the rectangle.
void setRectangleW(double value)
Set width of the rectangle in mm.
ARICHGeoFEBCooling()
Default constructor.
double getBigSquareThickness() const
Returns thickness of the big square in mm.
double getBigSquareSize() const
Returns size of the big square in mm.
void setRectangleL(double value)
Set length of the rectangle in mm.
double getSmallSquareSize() const
Returns size of the small square in mm.
void setSmallSquareSize(double value)
Set size of the small square in mm.
double getRectangleThickness() const
Returns thickness of the rectangle in mm.
void setRectangleDistanceFromCenter(double value)
Set distance from center of the rectangle in mm.
void setSmallSquareThickness(double value)
Set thickness of the small square in mm.
void print(const std::string &title="Upgraded after phase two cooling system (v2) geometry parameters") const
Print the content of the class.
double getSmallSquareThickness() const
Returns thickness of the small square in mm.
std::vector< double > m_febcoolingv2GeometryID
Feb cooling configuration/geometry ID.
void setRectangleThickness(double value)
Set thickness of the rectangle in mm.
double m_rectangleThickness
Thickness of the rectangle in mm.
const std::vector< double > & getFebcoolingv2GeometryID() const
Returns vector of feb cooling configuration/geometry ID.
double m_bigSquareThickness
Thickness of big the square in mm.
void setBigSquareSize(double value)
Set size of the big square in mm.
double m_bigSquareSize
Size of big the square in mm.
void checkCoolingSystemV2DataConsistency() const
Check data consistency of the cooling system (v2) positions In case of failure print the basf2 ERROR ...
double getRectangleW() const
Returns width of the rectangle in mm.
double m_smallSquareThickness
Thickness of small the square in mm.
void setBigSquareThickness(double value)
Set thickness of the big square in mm.
double m_smallSquareSize
Size of small the square in mm.
double m_rectangleL
Length of the rectangle in mm.
double getRectangleL() const
Returns length of the rectangle in mm.
ClassDef(ARICHGeoFEBCooling, 1)
ClassDef.
double m_rectangleW
Width of the rectangle in mm.
double getRectangleDistanceFromCenter() const
Returns distance from center of the rectangle in mm.
Abstract base class for different kinds of events.