Belle II Software  release-05-01-25
ARICHGeoFEBCooling.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2019 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Leonid Burmistrov *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <arich/dbobjects/ARICHGeoBase.h>
14 #include <arich/dbobjects/tessellatedSolidStr.h>
15 #include <string>
16 
17 //root
18 #include <TVector3.h>
19 
20 namespace Belle2 {
34  class ARICHGeoFEBCooling: public ARICHGeoBase {
35 
36  public:
37 
42  {}
43 
48  void setSmallSquareSize(double value) {m_smallSquareSize = value;}
49 
54  void setSmallSquareThickness(double value) {m_smallSquareThickness = value;}
55 
60  void setBigSquareSize(double value) {m_bigSquareSize = value;}
61 
66  void setBigSquareThickness(double value) {m_bigSquareThickness = value;}
67 
72  void setRectangleL(double value) { m_rectangleL = value; }
73 
78  void setRectangleW(double value) { m_rectangleW = value; }
79 
84  void setRectangleThickness(double value) { m_rectangleThickness = value; }
85 
91 
99  void setFebcoolingv2GeometryID(const std::vector<double>& febcoolingv2GeometryID) { m_febcoolingv2GeometryID = febcoolingv2GeometryID; }
100 
105  double getSmallSquareSize() const { return m_smallSquareSize;}
106 
111  double getSmallSquareThickness() const { return m_smallSquareThickness;}
112 
117  double getBigSquareSize() const { return m_bigSquareSize;}
118 
123  double getBigSquareThickness() const { return m_bigSquareThickness;}
124 
129  double getRectangleL() const { return m_rectangleL;}
130 
135  double getRectangleW() const { return m_rectangleW;}
136 
141  double getRectangleThickness() const { return m_rectangleThickness;}
142 
148 
153  const std::vector<double>& getFebcoolingv2GeometryID() const { return m_febcoolingv2GeometryID; }
154 
159  void print(const std::string& title = "Upgraded after phase two cooling system (v2) geometry parameters") const;
160 
166 
167  private:
168 
169  //FEB cooling bodies.
170  double m_smallSquareSize = 0.0;
171  double m_smallSquareThickness = 0.0;
172  double m_bigSquareSize = 0.0;
173  double m_bigSquareThickness = 0.0;
174  double m_rectangleL = 0.0;
175  double m_rectangleW = 0.0;
176  double m_rectangleThickness = 0.0;
177  double m_rectangleDistanceFromCenter = 0.0;
179  std::vector<double> m_febcoolingv2GeometryID;
180 
183  };
184 
186 } // end namespace Belle2
Belle2::ARICHGeoFEBCooling::getRectangleW
double getRectangleW() const
Returns width of the rectangle in mm.
Definition: ARICHGeoFEBCooling.h:143
Belle2::ARICHGeoFEBCooling::getRectangleL
double getRectangleL() const
Returns length of the rectangle in mm.
Definition: ARICHGeoFEBCooling.h:137
Belle2::ARICHGeoFEBCooling::m_rectangleW
double m_rectangleW
Width of the rectangle in mm.
Definition: ARICHGeoFEBCooling.h:183
Belle2::ARICHGeoFEBCooling::getFebcoolingv2GeometryID
const std::vector< double > & getFebcoolingv2GeometryID() const
Returns vector of feb cooling configuration/geometry ID.
Definition: ARICHGeoFEBCooling.h:161
Belle2::ARICHGeoFEBCooling::print
void print(const std::string &title="Upgraded after phase two cooling system (v2) geometry parameters") const
Print the content of the class.
Definition: ARICHGeoFEBCooling.cc:26
Belle2::ARICHGeoFEBCooling::getRectangleDistanceFromCenter
double getRectangleDistanceFromCenter() const
Returns distance from center of the rectangle in mm.
Definition: ARICHGeoFEBCooling.h:155
Belle2::ARICHGeoFEBCooling::setSmallSquareSize
void setSmallSquareSize(double value)
Set size of the small square in mm.
Definition: ARICHGeoFEBCooling.h:56
Belle2::ARICHGeoFEBCooling::setRectangleThickness
void setRectangleThickness(double value)
Set thickness of the rectangle in mm.
Definition: ARICHGeoFEBCooling.h:92
Belle2::ARICHGeoFEBCooling::checkCoolingSystemV2DataConsistency
void checkCoolingSystemV2DataConsistency() const
Check data consistency of the cooling system (v2) positions In case of failure print the BASF2 ERROR ...
Definition: ARICHGeoFEBCooling.cc:48
Belle2::ARICHGeoFEBCooling::getBigSquareSize
double getBigSquareSize() const
Returns size of the big square in mm.
Definition: ARICHGeoFEBCooling.h:125
Belle2::ARICHGeoFEBCooling::m_bigSquareSize
double m_bigSquareSize
Size of big the square in mm.
Definition: ARICHGeoFEBCooling.h:180
Belle2::ARICHGeoFEBCooling::getBigSquareThickness
double getBigSquareThickness() const
Returns thickness of the big square in mm.
Definition: ARICHGeoFEBCooling.h:131
Belle2::ARICHGeoFEBCooling::m_rectangleDistanceFromCenter
double m_rectangleDistanceFromCenter
Distance from center of the rectangle.
Definition: ARICHGeoFEBCooling.h:185
Belle2::ARICHGeoFEBCooling::setSmallSquareThickness
void setSmallSquareThickness(double value)
Set thickness of the small square in mm.
Definition: ARICHGeoFEBCooling.h:62
Belle2::ARICHGeoFEBCooling::getSmallSquareThickness
double getSmallSquareThickness() const
Returns thickness of the small square in mm.
Definition: ARICHGeoFEBCooling.h:119
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::ARICHGeoFEBCooling::setBigSquareThickness
void setBigSquareThickness(double value)
Set thickness of the big square in mm.
Definition: ARICHGeoFEBCooling.h:74
Belle2::ARICHGeoFEBCooling::setFebcoolingv2GeometryID
void setFebcoolingv2GeometryID(const std::vector< double > &febcoolingv2GeometryID)
Set vector of feb cooling configuration/geometry ID.
Definition: ARICHGeoFEBCooling.h:107
Belle2::ARICHGeoFEBCooling::getRectangleThickness
double getRectangleThickness() const
Returns thickness of the rectangle in mm.
Definition: ARICHGeoFEBCooling.h:149
Belle2::ARICHGeoFEBCooling::setRectangleW
void setRectangleW(double value)
Set width of the rectangle in mm.
Definition: ARICHGeoFEBCooling.h:86
Belle2::ARICHGeoFEBCooling::setBigSquareSize
void setBigSquareSize(double value)
Set size of the big square in mm.
Definition: ARICHGeoFEBCooling.h:68
Belle2::ARICHGeoFEBCooling::getSmallSquareSize
double getSmallSquareSize() const
Returns size of the small square in mm.
Definition: ARICHGeoFEBCooling.h:113
Belle2::ARICHGeoFEBCooling::setRectangleDistanceFromCenter
void setRectangleDistanceFromCenter(double value)
Set distance from center of the rectangle in mm.
Definition: ARICHGeoFEBCooling.h:98
Belle2::ARICHGeoFEBCooling::ARICHGeoFEBCooling
ARICHGeoFEBCooling()
Default constructor.
Definition: ARICHGeoFEBCooling.h:49
Belle2::ARICHGeoFEBCooling::m_rectangleL
double m_rectangleL
Length of the rectangle in mm.
Definition: ARICHGeoFEBCooling.h:182
Belle2::ARICHGeoFEBCooling::m_rectangleThickness
double m_rectangleThickness
Thickness of the rectangle in mm.
Definition: ARICHGeoFEBCooling.h:184
Belle2::ARICHGeoFEBCooling::m_bigSquareThickness
double m_bigSquareThickness
Thickness of big the square in mm.
Definition: ARICHGeoFEBCooling.h:181
Belle2::ARICHGeoFEBCooling::m_smallSquareThickness
double m_smallSquareThickness
Thickness of small the square in mm.
Definition: ARICHGeoFEBCooling.h:179
Belle2::ARICHGeoFEBCooling::ClassDef
ClassDef(ARICHGeoFEBCooling, 1)
ClassDef.
Belle2::ARICHGeoFEBCooling::setRectangleL
void setRectangleL(double value)
Set length of the rectangle in mm.
Definition: ARICHGeoFEBCooling.h:80
Belle2::ARICHGeoFEBCooling::m_smallSquareSize
double m_smallSquareSize
Size of small the square in mm.
Definition: ARICHGeoFEBCooling.h:178
Belle2::ARICHGeoFEBCooling
Geometry parameters of Cooling System - version2 (v2).
Definition: ARICHGeoFEBCooling.h:42