Belle II Software development
ARICHGeoFEBCooling Class Reference

Geometry parameters of Cooling System - version2 (v2). More...

#include <ARICHGeoFEBCooling.h>

Inheritance diagram for ARICHGeoFEBCooling:
ARICHGeoBase

Public Member Functions

 ARICHGeoFEBCooling ()
 Default constructor.
 
void setSmallSquareSize (double value)
 Set size of the small square in mm.
 
void setSmallSquareThickness (double value)
 Set thickness of the small square in mm.
 
void setBigSquareSize (double value)
 Set size of the big square in mm.
 
void setBigSquareThickness (double value)
 Set thickness of the big square in mm.
 
void setRectangleL (double value)
 Set length of the rectangle in mm.
 
void setRectangleW (double value)
 Set width of the rectangle in mm.
 
void setRectangleThickness (double value)
 Set thickness of the rectangle in mm.
 
void setRectangleDistanceFromCenter (double value)
 Set distance from center of the rectangle in mm.
 
void setFebcoolingv2GeometryID (const std::vector< double > &febcoolingv2GeometryID)
 Set vector of feb cooling configuration/geometry ID.
 
double getSmallSquareSize () const
 Returns size of the small square in mm.
 
double getSmallSquareThickness () const
 Returns thickness of the small square in mm.
 
double getBigSquareSize () const
 Returns size of the big square in mm.
 
double getBigSquareThickness () const
 Returns thickness of the big square in mm.
 
double getRectangleL () const
 Returns length of the rectangle in mm.
 
double getRectangleW () const
 Returns width of the rectangle in mm.
 
double getRectangleThickness () const
 Returns thickness of the rectangle in mm.
 
double getRectangleDistanceFromCenter () const
 Returns distance from center of the rectangle 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.
 
void checkCoolingSystemV2DataConsistency () const
 Check data consistency of the cooling system (v2) positions In case of failure print the basf2 ERROR message using B2ASSERT.
 
void setName (const std::string &name)
 Sets object name.
 
const std::string & getName () const
 Returns object name.
 
virtual bool isConsistent () const
 Check for consistency of data members.
 
virtual void printSurface (const GeoOpticalSurface &surface) const
 Print the content of optical surface.
 
virtual void printPlacement (double x, double y, double z, double rx, double ry, double rz) const
 Print volume positioning parameters.
 

Protected Member Functions

 ClassDef (ARICHGeoBase, 2)
 ClassDef.
 

Protected Attributes

std::string m_name
 geometry object name
 

Static Protected Attributes

static double s_unit = Unit::cm
 conversion unit for length
 
static std::string s_unitName
 conversion unit name
 

Private Member Functions

 ClassDef (ARICHGeoFEBCooling, 1)
 ClassDef.
 

Private Attributes

double m_smallSquareSize = 0.0
 Size of small the square in mm.
 
double m_smallSquareThickness = 0.0
 Thickness of small the square in mm.
 
double m_bigSquareSize = 0.0
 Size of big the square in mm.
 
double m_bigSquareThickness = 0.0
 Thickness of big the square in mm.
 
double m_rectangleL = 0.0
 Length of the rectangle in mm.
 
double m_rectangleW = 0.0
 Width of the rectangle in mm.
 
double m_rectangleThickness = 0.0
 Thickness of the rectangle in mm.
 
double m_rectangleDistanceFromCenter = 0.0
 Distance from center of the rectangle.
 
std::vector< double > m_febcoolingv2GeometryID
 Feb cooling configuration/geometry ID.
 

Detailed Description

Geometry parameters of Cooling System - version2 (v2).

Upgrade of the cooling system have been done after phase 2 (in september - november 2018). This data base object contains information about : FEB cooling bodies. https://kds.kek.jp/indico/event/28886/session/2/contribution/7/material/slides/0.pdf Merger cooling bodies. Cooling pipes.

Definition at line 32 of file ARICHGeoFEBCooling.h.

Constructor & Destructor Documentation

◆ ARICHGeoFEBCooling()

ARICHGeoFEBCooling ( )
inline

Default constructor.

Definition at line 39 of file ARICHGeoFEBCooling.h.

40 {}

Member Function Documentation

◆ checkCoolingSystemV2DataConsistency()

void checkCoolingSystemV2DataConsistency ( ) const

Check data consistency of the cooling system (v2) positions In case of failure print the basf2 ERROR message using B2ASSERT.

Definition at line 43 of file ARICHGeoFEBCooling.cc.

44{
45 B2ASSERT("Data of the cooling system V2 is inconsistent : getFebcoolingv2GeometryID().size() != 420",
46 getFebcoolingv2GeometryID().size() == 420);
47}
const std::vector< double > & getFebcoolingv2GeometryID() const
Returns vector of feb cooling configuration/geometry ID.

◆ getBigSquareSize()

double getBigSquareSize ( ) const
inline

Returns size of the big square in mm.

Returns
size of big the square in mm

Definition at line 115 of file ARICHGeoFEBCooling.h.

115{ return m_bigSquareSize;}
double m_bigSquareSize
Size of big the square in mm.

◆ getBigSquareThickness()

double getBigSquareThickness ( ) const
inline

Returns thickness of the big square in mm.

Returns
thickness of big the square in mm

Definition at line 121 of file ARICHGeoFEBCooling.h.

121{ return m_bigSquareThickness;}
double m_bigSquareThickness
Thickness of big the square in mm.

◆ getFebcoolingv2GeometryID()

const std::vector< double > & getFebcoolingv2GeometryID ( ) const
inline

Returns vector of feb cooling configuration/geometry ID.

Returns
vector of feb cooling configuration/geometry ID.

Definition at line 151 of file ARICHGeoFEBCooling.h.

151{ return m_febcoolingv2GeometryID; }
std::vector< double > m_febcoolingv2GeometryID
Feb cooling configuration/geometry ID.

◆ getName()

const std::string & getName ( ) const
inlineinherited

Returns object name.

Returns
object name

Definition at line 49 of file ARICHGeoBase.h.

49{return m_name;}
std::string m_name
geometry object name
Definition: ARICHGeoBase.h:82

◆ getRectangleDistanceFromCenter()

double getRectangleDistanceFromCenter ( ) const
inline

Returns distance from center of the rectangle in mm.

Returns
distance from center of the rectangle in mm

Definition at line 145 of file ARICHGeoFEBCooling.h.

double m_rectangleDistanceFromCenter
Distance from center of the rectangle.

◆ getRectangleL()

double getRectangleL ( ) const
inline

Returns length of the rectangle in mm.

Returns
length of the rectangle in mm

Definition at line 127 of file ARICHGeoFEBCooling.h.

127{ return m_rectangleL;}
double m_rectangleL
Length of the rectangle in mm.

◆ getRectangleThickness()

double getRectangleThickness ( ) const
inline

Returns thickness of the rectangle in mm.

Returns
thickness of the rectangle in mm

Definition at line 139 of file ARICHGeoFEBCooling.h.

139{ return m_rectangleThickness;}
double m_rectangleThickness
Thickness of the rectangle in mm.

◆ getRectangleW()

double getRectangleW ( ) const
inline

Returns width of the rectangle in mm.

Returns
width of the rectangle in mm

Definition at line 133 of file ARICHGeoFEBCooling.h.

133{ return m_rectangleW;}
double m_rectangleW
Width of the rectangle in mm.

◆ getSmallSquareSize()

double getSmallSquareSize ( ) const
inline

Returns size of the small square in mm.

Returns
size of small the square in mm

Definition at line 103 of file ARICHGeoFEBCooling.h.

103{ return m_smallSquareSize;}
double m_smallSquareSize
Size of small the square in mm.

◆ getSmallSquareThickness()

double getSmallSquareThickness ( ) const
inline

Returns thickness of the small square in mm.

Returns
thickness of small the square in mm

Definition at line 109 of file ARICHGeoFEBCooling.h.

109{ return m_smallSquareThickness;}
double m_smallSquareThickness
Thickness of small the square in mm.

◆ isConsistent()

virtual bool isConsistent ( ) const
inlinevirtualinherited

Check for consistency of data members.

Returns
true if values consistent (valid)

Reimplemented in ARICHGeoAerogelPlane, ARICHGeoDetectorPlane, ARICHGeoHAPD, ARICHGeoMasterVolume, ARICHGeoMirrors, ARICHGeoSupport, and ARICHPositionElement.

Definition at line 55 of file ARICHGeoBase.h.

55{return false;}

◆ print()

void print ( const std::string &  title = "Upgraded after phase two cooling system (v2) geometry parameters") const
virtual

Print the content of the class.

Parameters
titletitle to be printed

Reimplemented from ARICHGeoBase.

Definition at line 21 of file ARICHGeoFEBCooling.cc.

22{
23
25
26 cout << " Size of the small square in mm : " << getSmallSquareSize() << endl
27 << " Thickness of the small square in mm : " << getSmallSquareThickness() << endl
28 << " Size of the big square in mm : " << getBigSquareSize() << endl
29 << " Thickness of the big square in mm : " << getBigSquareThickness() << endl;
30 cout << " Length of the rectangle in mm : " << getRectangleL() << endl
31 << " Width of the rectangle in mm : " << getRectangleW() << endl
32 << " Thickness of the rectangle in mm : " << getRectangleThickness() << endl
33 << " Distance from center of the rectangle in mm : " << getRectangleDistanceFromCenter() << endl;
34
35 cout << setw(20) << "hapdID"
36 << setw(25) << "FEB cooling GeometryID" << endl;
37 for (unsigned i = 0; i < getFebcoolingv2GeometryID().size(); i++) {
38 cout << setw(20) << i + 1
39 << setw(25) << getFebcoolingv2GeometryID().at(i) << endl;
40 }
41}
virtual void print(const std::string &title) const
Print the content of the class.
Definition: ARICHGeoBase.cc:20
double getBigSquareThickness() const
Returns thickness of the big square in mm.
double getBigSquareSize() const
Returns size of the big square in mm.
double getSmallSquareSize() const
Returns size of the small square in mm.
double getRectangleThickness() const
Returns thickness of the rectangle in mm.
double getSmallSquareThickness() const
Returns thickness of the small square in mm.
double getRectangleW() const
Returns width of the rectangle in mm.
double getRectangleL() const
Returns length of the rectangle in mm.
double getRectangleDistanceFromCenter() const
Returns distance from center of the rectangle in mm.

◆ printPlacement()

void printPlacement ( double  x,
double  y,
double  z,
double  rx,
double  ry,
double  rz 
) const
virtualinherited

Print volume positioning parameters.

Parameters
xx position
yy position
zz position
rxrotation around x-axis
ryrotation around y-axis
rzrotation around z-axis

Definition at line 25 of file ARICHGeoBase.cc.

26{
27// cout << "Volume positioning information (inside local ARICH frame)" << endl;
28 cout << " Center position; x: " << x << " " << s_unitName << ", y: " << y << " " << s_unitName << ", z: " << z << " " << s_unitName
29 << endl;
30 cout << " Rotations; x-axis: " << rx << " y-axis: " << ry << " z-axis: " << rz << " (in rad)" << endl;
31}
static std::string s_unitName
conversion unit name
Definition: ARICHGeoBase.h:84

◆ printSurface()

void printSurface ( const GeoOpticalSurface surface) const
virtualinherited

Print the content of optical surface.

Parameters
surfaceoptical surface parameters

Definition at line 32 of file ARICHGeoBase.cc.

33{
34 cout << " Optical surface: ";
35 if (surface.getName().empty() and !surface.hasProperties()) {
36 cout << "not defined" << endl;
37 return;
38 }
39 cout << surface.getName();
40 cout << ", model: " << surface.getModel();
41 cout << ", finish: " << surface.getFinish();
42 cout << ", type: " << surface.getType();
43 cout << ", value: " << surface.getValue();
44 cout << endl;
45 if (surface.hasProperties()) {
46 for (const auto& property : surface.getProperties()) {
47 cout << " - property: ";
48 cout << property.getName() << " [";
49 for (const auto& value : property.getValues()) cout << value << ", ";
50 cout << "], @[";
51 for (const auto& value : property.getEnergies()) cout << value / Unit::eV << ", ";
52 cout << "] eV" << endl;
53 }
54 } else {
55 cout << " - properties: None" << endl;
56 }
57
58}
const std::string & getName() const
get name of the optical surface
int getFinish() const
get finish of the surface
const std::vector< GeoMaterialProperty > & getProperties() const
get all properties
double getValue() const
get value for the surface condition
int getType() const
get type of the surface
bool hasProperties() const
check if the material has at least one property
int getModel() const
get model for the surface
static const double eV
[electronvolt]
Definition: Unit.h:112

◆ setBigSquareSize()

void setBigSquareSize ( double  value)
inline

Set size of the big square in mm.

Parameters
valuesize of big the square in mm

Definition at line 58 of file ARICHGeoFEBCooling.h.

58{m_bigSquareSize = value;}

◆ setBigSquareThickness()

void setBigSquareThickness ( double  value)
inline

Set thickness of the big square in mm.

Parameters
valuethickness of big the square in mm

Definition at line 64 of file ARICHGeoFEBCooling.h.

64{m_bigSquareThickness = value;}

◆ setFebcoolingv2GeometryID()

void setFebcoolingv2GeometryID ( const std::vector< double > &  febcoolingv2GeometryID)
inline

Set vector of feb cooling configuration/geometry ID.

0 -> Not installed 1 -> Default position 2 -> Rotated by 90 degree

Parameters
febcoolingv2GeometryIDvector of feb cooling configuration/geometry ID.

Definition at line 97 of file ARICHGeoFEBCooling.h.

97{ m_febcoolingv2GeometryID = febcoolingv2GeometryID; }

◆ setName()

void setName ( const std::string &  name)
inlineinherited

Sets object name.

Parameters
nameobject name

Definition at line 43 of file ARICHGeoBase.h.

43{m_name = name;}

◆ setRectangleDistanceFromCenter()

void setRectangleDistanceFromCenter ( double  value)
inline

Set distance from center of the rectangle in mm.

Parameters
valuedistance from center of the rectangle in mm

Definition at line 88 of file ARICHGeoFEBCooling.h.

◆ setRectangleL()

void setRectangleL ( double  value)
inline

Set length of the rectangle in mm.

Parameters
valuelength of the rectangle in mm

Definition at line 70 of file ARICHGeoFEBCooling.h.

70{ m_rectangleL = value; }

◆ setRectangleThickness()

void setRectangleThickness ( double  value)
inline

Set thickness of the rectangle in mm.

Parameters
valuethickness of the rectangle in mm

Definition at line 82 of file ARICHGeoFEBCooling.h.

82{ m_rectangleThickness = value; }

◆ setRectangleW()

void setRectangleW ( double  value)
inline

Set width of the rectangle in mm.

Parameters
valuewidth of the rectangle in mm

Definition at line 76 of file ARICHGeoFEBCooling.h.

76{ m_rectangleW = value; }

◆ setSmallSquareSize()

void setSmallSquareSize ( double  value)
inline

Set size of the small square in mm.

Parameters
valuesize of small the square in mm

Definition at line 46 of file ARICHGeoFEBCooling.h.

46{m_smallSquareSize = value;}

◆ setSmallSquareThickness()

void setSmallSquareThickness ( double  value)
inline

Set thickness of the small square in mm.

Parameters
valuethickness of small the square in mm

Definition at line 52 of file ARICHGeoFEBCooling.h.

Member Data Documentation

◆ m_bigSquareSize

double m_bigSquareSize = 0.0
private

Size of big the square in mm.

Definition at line 170 of file ARICHGeoFEBCooling.h.

◆ m_bigSquareThickness

double m_bigSquareThickness = 0.0
private

Thickness of big the square in mm.

Definition at line 171 of file ARICHGeoFEBCooling.h.

◆ m_febcoolingv2GeometryID

std::vector<double> m_febcoolingv2GeometryID
private

Feb cooling configuration/geometry ID.

0 -> Not installed, 1 -> Default position, 2 -> Rotated by 90 degree.

Definition at line 177 of file ARICHGeoFEBCooling.h.

◆ m_name

std::string m_name
protectedinherited

geometry object name

Definition at line 82 of file ARICHGeoBase.h.

◆ m_rectangleDistanceFromCenter

double m_rectangleDistanceFromCenter = 0.0
private

Distance from center of the rectangle.

Definition at line 175 of file ARICHGeoFEBCooling.h.

◆ m_rectangleL

double m_rectangleL = 0.0
private

Length of the rectangle in mm.

Definition at line 172 of file ARICHGeoFEBCooling.h.

◆ m_rectangleThickness

double m_rectangleThickness = 0.0
private

Thickness of the rectangle in mm.

Definition at line 174 of file ARICHGeoFEBCooling.h.

◆ m_rectangleW

double m_rectangleW = 0.0
private

Width of the rectangle in mm.

Definition at line 173 of file ARICHGeoFEBCooling.h.

◆ m_smallSquareSize

double m_smallSquareSize = 0.0
private

Size of small the square in mm.

Definition at line 168 of file ARICHGeoFEBCooling.h.

◆ m_smallSquareThickness

double m_smallSquareThickness = 0.0
private

Thickness of small the square in mm.

Definition at line 169 of file ARICHGeoFEBCooling.h.

◆ s_unit

double s_unit = Unit::cm
staticprotectedinherited

conversion unit for length

Definition at line 83 of file ARICHGeoBase.h.

◆ s_unitName

std::string s_unitName
staticprotectedinherited

conversion unit name

Definition at line 84 of file ARICHGeoBase.h.


The documentation for this class was generated from the following files: