Belle II Software  release-08-01-10
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 
18 namespace 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 
121  double getBigSquareThickness() const { return m_bigSquareThickness;}
122 
127  double getRectangleL() const { return m_rectangleL;}
128 
133  double getRectangleW() const { return m_rectangleW;}
134 
139  double getRectangleThickness() const { return m_rectangleThickness;}
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;
169  double m_smallSquareThickness = 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.
const std::vector< double > & getFebcoolingv2GeometryID() const
Returns vector of feb cooling configuration/geometry ID.
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.
void setRectangleThickness(double value)
Set thickness of the rectangle in mm.
double m_rectangleThickness
Thickness of the rectangle in mm.
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.