Belle II Software development
ARICHGeoMergerCooling Class Reference

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

#include <ARICHGeoMergerCooling.h>

Inheritance diagram for ARICHGeoMergerCooling:
ARICHGeoBase

Public Member Functions

 ARICHGeoMergerCooling ()
 Default constructor.
 
void setMergerCoolingBodiesMaterialName (const std::string &materialName)
 Set material name of merger cooling bodies.
 
void addMergerCoolingBodiesInfo (tessellatedSolidStr mergerCoolingBodiesStr)
 Set vector of structures which holds apexes of the tessellation volumes for (merger cooling bodyes).
 
void setMergerCoolingPositionID (const std::vector< double > &mergerCoolingPositionID)
 Set vector of merger cooling body shape id (positionID) for each merger PCB.
 
const std::string & getMergerCoolingBodiesMaterialName () const
 Returns material name of merger cooling bodies.
 
const tessellatedSolidStr getMergerCoolingBodiesInfo (unsigned int iSlot) const
 Returns structur which holds apexes of the tessellation volumes for (merger cooling bodyes).
 
const tessellatedSolidStr getMergerCoolingBodiesInfo_globalMergerID (unsigned int iMergerSlot) const
 Returns structur which holds apexes of the tessellation volumes for (merger cooling bodyes).
 
const std::vector< double > & getMergerCoolingPositionID () const
 Returns vector of merger cooling body shape id (positionID) for each merger PCB.
 
void print (const std::string &title="Upgraded after phase two cooling system (v2) geometry parameters") const
 Print the content of the class.
 
void checkMergerCoolingSystemDataConsistency () 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 (ARICHGeoMergerCooling, 1)
 ClassDef.
 

Private Attributes

std::string m_mergerCoolingBodiesMaterialName
 Name of the merger cooling bodies material.
 
std::vector< double > m_mergerCoolingPositionID
 Merger cooling body shape id (positionID) for each merger PCB.
 
std::vector< tessellatedSolidStrm_mergerCoolingBodiesInfo
 Vector of structures which holds apexes of the tessellation volumes for (merger cooling bodyes).
 

Detailed Description

Geometry parameters of Merger 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 : Merger cooling bodies. Cooling pipes.

Definition at line 28 of file ARICHGeoMergerCooling.h.

Constructor & Destructor Documentation

◆ ARICHGeoMergerCooling()

Default constructor.

Definition at line 35 of file ARICHGeoMergerCooling.h.

36 {}

Member Function Documentation

◆ addMergerCoolingBodiesInfo()

void addMergerCoolingBodiesInfo ( tessellatedSolidStr  mergerCoolingBodiesStr)
inline

Set vector of structures which holds apexes of the tessellation volumes for (merger cooling bodyes).

Parameters
mergerCoolingBodiesStrvector of structures which holds apexes of the tessellation volumes for (merger cooling bodyes).

Definition at line 48 of file ARICHGeoMergerCooling.h.

48{m_mergerCoolingBodiesInfo.push_back(mergerCoolingBodiesStr);}
std::vector< tessellatedSolidStr > m_mergerCoolingBodiesInfo
Vector of structures which holds apexes of the tessellation volumes for (merger cooling bodyes).

◆ checkMergerCoolingSystemDataConsistency()

void checkMergerCoolingSystemDataConsistency ( ) const

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

Definition at line 44 of file ARICHGeoMergerCooling.cc.

45{
46
47 B2ASSERT("Data of the cooling system V2 is inconsisten : getMergerCoolingPositionID().size() != 72",
48 getMergerCoolingPositionID().size() == 72);
49 for (unsigned i = 0; i < m_mergerCoolingBodiesInfo.size(); i++) {
50 tessellatedSolidStr mergerCoolingBodiesStr = getMergerCoolingBodiesInfo(i + 1);
51 }
52}
const std::vector< double > & getMergerCoolingPositionID() const
Returns vector of merger cooling body shape id (positionID) for each merger PCB.
const tessellatedSolidStr getMergerCoolingBodiesInfo(unsigned int iSlot) const
Returns structur which holds apexes of the tessellation volumes for (merger cooling bodyes).
Structure which holds apexes of the tessellation volumes.

◆ getMergerCoolingBodiesInfo()

const tessellatedSolidStr getMergerCoolingBodiesInfo ( unsigned int  iSlot) const
inline

Returns structur which holds apexes of the tessellation volumes for (merger cooling bodyes).

Returns
structur which holds apexes of the tessellation volumes for (merger cooling bodyes).

Definition at line 66 of file ARICHGeoMergerCooling.h.

66{ if (iSlot > 12 || iSlot == 0) B2ERROR("ARICHGeoCoolingv2: invalid merger cooling bodies iSlot number! "); return m_mergerCoolingBodiesInfo[iSlot - 1];}

◆ getMergerCoolingBodiesInfo_globalMergerID()

const tessellatedSolidStr getMergerCoolingBodiesInfo_globalMergerID ( unsigned int  iMergerSlot) const

Returns structur which holds apexes of the tessellation volumes for (merger cooling bodyes).

Returns
structur which holds apexes of the tessellation volumes for (merger cooling bodyes).

Definition at line 54 of file ARICHGeoMergerCooling.cc.

55{
56 B2ASSERT("iMergerSlot <=0 ", iMergerSlot > 0);
57 B2ASSERT("iMergerSlot > 72", iMergerSlot <= 72);
58 int positionID = (int)getMergerCoolingPositionID().at(iMergerSlot - 1);
59 B2ASSERT("positionID <=0 ", positionID > 0);
60 B2ASSERT("positionID > 12", positionID <= 12);
61 return getMergerCoolingBodiesInfo(positionID);
62}

◆ getMergerCoolingBodiesMaterialName()

const std::string & getMergerCoolingBodiesMaterialName ( ) const
inline

Returns material name of merger cooling bodies.

Returns
material name of merger cooling bodies

Definition at line 60 of file ARICHGeoMergerCooling.h.

std::string m_mergerCoolingBodiesMaterialName
Name of the merger cooling bodies material.

◆ getMergerCoolingPositionID()

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

Returns vector of merger cooling body shape id (positionID) for each merger PCB.

Returns
vector of merger cooling body shape id (positionID) for each merger PCB.

Definition at line 78 of file ARICHGeoMergerCooling.h.

std::vector< double > m_mergerCoolingPositionID
Merger cooling body shape id (positionID) for each merger PCB.

◆ 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

◆ 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 ARICHGeoMergerCooling.cc.

22{
23
25
26 cout << " Merger cooling bodies info" << endl;
27 cout << " Merger cooling bodies material name : " << getMergerCoolingBodiesMaterialName() << endl;
28 cout << " m_mergerCoolingBodiesInfo.size() = " << m_mergerCoolingBodiesInfo.size() << endl;
29
30 for (unsigned i = 0; i < m_mergerCoolingBodiesInfo.size(); i++) {
31 tessellatedSolidStr mergerCoolingBodiesStr = getMergerCoolingBodiesInfo(i + 1);
32 mergerCoolingBodiesStr.printInfo();
33 //mergerCoolingBodiesStr.printInfo(1);
34 }
35
36 cout << "mergerCoolingBodiesv2/mergerCoolingPositionID" << endl;
37 for (unsigned i = 0; i < getMergerCoolingPositionID().size(); i++) {
38 cout << setw(20) << i + 1
39 << setw(25) << getMergerCoolingPositionID().at(i) << endl;
40 }
41
42}
virtual void print(const std::string &title) const
Print the content of the class.
Definition: ARICHGeoBase.cc:20
const std::string & getMergerCoolingBodiesMaterialName() const
Returns material name of merger cooling bodies.
void printInfo(int verboseLevel=0)
Print info about tessellation volumes.

◆ 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

◆ setMergerCoolingBodiesMaterialName()

void setMergerCoolingBodiesMaterialName ( const std::string &  materialName)
inline

Set material name of merger cooling bodies.

Parameters
materialNamename of merger cooling bodies

Definition at line 42 of file ARICHGeoMergerCooling.h.

◆ setMergerCoolingPositionID()

void setMergerCoolingPositionID ( const std::vector< double > &  mergerCoolingPositionID)
inline

Set vector of merger cooling body shape id (positionID) for each merger PCB.

Parameters
mergerCoolingPositionIDvector of merger cooling body shape id (positionID) for each merger PCB.

Definition at line 54 of file ARICHGeoMergerCooling.h.

54{ m_mergerCoolingPositionID = mergerCoolingPositionID; }

◆ 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;}

Member Data Documentation

◆ m_mergerCoolingBodiesInfo

std::vector<tessellatedSolidStr> m_mergerCoolingBodiesInfo
private

Vector of structures which holds apexes of the tessellation volumes for (merger cooling bodyes).

Definition at line 98 of file ARICHGeoMergerCooling.h.

◆ m_mergerCoolingBodiesMaterialName

std::string m_mergerCoolingBodiesMaterialName
private

Name of the merger cooling bodies material.

Definition at line 95 of file ARICHGeoMergerCooling.h.

◆ m_mergerCoolingPositionID

std::vector<double> m_mergerCoolingPositionID
private

Merger cooling body shape id (positionID) for each merger PCB.

Definition at line 96 of file ARICHGeoMergerCooling.h.

◆ m_name

std::string m_name
protectedinherited

geometry object name

Definition at line 82 of file ARICHGeoBase.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: