Belle II Software development
ARICHGeoMerger Class Reference

Geometry parameters of Merger PCB. More...

#include <ARICHGeoMerger.h>

Inheritance diagram for ARICHGeoMerger:
ARICHGeoBase

Public Member Functions

 ARICHGeoMerger ()
 Default constructor.
 
void setMergerPCBMaterialName (const std::string &materialName)
 Set merger PCB material name.
 
void setMergerPCBLenght (double sizeL)
 Set merger PCB lenght.
 
void setMergerPCBWidth (double sizeW)
 Set merger PCB width.
 
void setMergerPCBThickness (double thickness)
 Set merger PCB thickness.
 
void setSingleMergerEnvelopeSizeL (double sizeL)
 Set single merger PCB and merger cooling envelop length.
 
void setSingleMergerEnvelopeSizeW (double sizeW)
 Set single merger PCB and merger cooling envelop width.
 
void setSingleMergerEnvelopeThickness (double thickness)
 Set single merger PCB and merger cooling envelop thickness.
 
void setSingleMergerenvelopeDeltaZ (const std::vector< double > &singlemergerenvelopeDeltaZ)
 Set vector of Z position of the single merger and merger cooling body envelope inside global merger envelope in mm.
 
void setMergerPCBscrewholeR (double screwholeR)
 Set merger PCB screw hole radius.
 
void setMergerPCBscrewholePosdY (double screwholePosdY)
 Set merger PCB screw hole position from the left and right sides.
 
void setMergerPCBscrewholePosdX1 (double screwholePosdX1)
 Set merger PCB screw hole position from the bottom edge.
 
void setMergerPCBscrewholePosdX2 (double screwholePosdX2)
 Set merger PCB screw hole position from the top edge.
 
void setEnvelopeOuterRadius (double envelopeOuterRadius)
 Set outer radius of merger PCB assembly envelope.
 
void setEnvelopeInnerRadius (double envelopeInnerRadius)
 Set inner radius of merger PCB assembly envelope.
 
void setEnvelopeThickness (double envelopeThickness)
 Set thickness of merger PCB assembly envelope.
 
void setEnvelopeCenterPosition (double x0, double y0, double z0)
 Set position of merger PCB assembly envelope.
 
void setSingleMergeEnvelopePosition (double x0, double y0, double z0)
 Set position of merger PCB inside the single merger envelope.
 
void setMergerSlotID (const std::vector< double > &mergerSlotID)
 Set vector of merger boards slot numbers.
 
void setMergerPosR (const std::vector< double > &mergerPosR)
 Set vector of merger boards distances from the center in mm.
 
void setMergerAngle (const std::vector< double > &mergerAngle)
 Set vector of merger boarts azimuthal angles in polar coordinate system in deg.
 
void setMergerOrientation (const std::vector< double > &mergerOrientation)
 Set vector of merger boarts orientations.
 
const std::string & getMergerPCBMaterialName () const
 Returns merger PCB material name.
 
double getSizeL () const
 Returns merger PCB lenght.
 
double getSizeW () const
 Returns merger PCB width.
 
double getThickness () const
 Returns merger PCB thickness.
 
double getSingleMergerEnvelopeSizeL () const
 Returns single merger PCB and merger cooling envelop length.
 
double getSingleMergerEnvelopeSizeW () const
 Returns single merger PCB and merger cooling envelop width.
 
double getSingleMergerEnvelopeThickness () const
 Returns single merger PCB and merger cooling envelop thickness.
 
const std::vector< double > & getSingleMergerenvelopeDeltaZ () const
 Returns vector of Z position of the single merger and merger cooling body envelope inside global merger envelope in mm.
 
double getMergerPCBscrewholeR () const
 Returns merger PCB screw hole radius.
 
double getMergerPCBscrewholePosdY () const
 Returns merger PCB screw hole position from the left and right sides.
 
double getMergerPCBscrewholePosdX1 () const
 Returns merger PCB screw hole position from the bottom edge.
 
double getMergerPCBscrewholePosdX2 () const
 Returns merger PCB screw hole position from the top edge.
 
double getEnvelopeOuterRadius () const
 Returns Outer radius of merger PCB assembly envelope.
 
double getEnvelopeInnerRadius () const
 Returns Inner radius of merger PCB assembly envelope.
 
double getEnvelopeThickness () const
 Returns Thickness of merger PCB assembly envelope.
 
ROOT::Math::XYZVector getEnvelopeCenterPosition () const
 Returns position vector (ROOT::Math::XYZVector) of merger PCB assembly envelope.
 
ROOT::Math::XYZVector getSingleMergeEnvelopePosition () const
 Returns position vector (ROOT::Math::XYZVector) of merger PCB inside the single merger envelope.
 
const std::vector< double > & getMergerSlotID () const
 Returns vector of merger boards slot numbers.
 
const std::vector< double > & getMergerPosR () const
 Returns vector of merger boards distances from the center in mm.
 
const std::vector< double > & getMergerAngle () const
 Returns vector of merger boarts azimuthal angles in polar coordinate system in deg.
 
const std::vector< double > & getMergerOrientation () const
 Returns vector of merger boarts orientations in deg.
 
void print (const std::string &title="Merger PCB geometry parameters") const
 Print the content of the class.
 
void checkMergerPositionsDataConsistency () const
 Check data consistency of the merger 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 (ARICHGeoMerger, 2)
 ClassDef.
 

Private Attributes

std::string m_mergerPCBMaterialName
 Material of merger PCB.
 
double m_sizeL = 0.0
 Size of merger PCB : length.
 
double m_sizeW = 0.0
 Size of merger PCB : width.
 
double m_thickness = 0.0
 Thickenss of merger PCB.
 
double m_singlemergerenvelopeSizeL = 0.0
 Size of single merger PCB and merger cooling envelop : length.
 
double m_singlemergerenvelopeSizeW = 0.0
 Size of single merger PCB and merger cooling envelop : width.
 
double m_singlemergerenvelopeThickness = 0.0
 Thickenss of single merger PCB and merger cooling envelop.
 
std::vector< double > m_singlemergerenvelopeDeltaZ
 Z position of the single merger and merger cooling body envelope inside global merger envelope in mm.
 
double m_mergerPCBscrewholeR = 0.0
 Merger PCB screw hole radius.
 
double m_mergerPCBscrewholePosdY = 0.0
 Merger PCB screw hole position from the left and right sides.
 
double m_mergerPCBscrewholePosdX1 = 0.0
 Merger PCB screw hole position from the bottom edge.
 
double m_mergerPCBscrewholePosdX2 = 0.0
 Merger PCB screw hole position from the top edge.
 
double m_envelopeOuterRadius = 0.0
 Outer radius of merger PCB assembly envelope.
 
double m_envelopeInnerRadius = 0.0
 Inner radius of merger PCB assembly envelope.
 
double m_envelopeThickness = 0.0
 Thickness of merger PCB assembly envelope.
 
double m_envelopeX0 = 0.0
 X0 merger PCB assembly envelope.
 
double m_envelopeY0 = 0.0
 Y0 merger PCB assembly envelope.
 
double m_envelopeZ0 = 0.0
 Z0 merger PCB assembly envelope.
 
double m_envelopePosX0 = 0.0
 Position of the merger inside the envelope.
 
double m_envelopePosY0 = 0.0
 Position of the merger inside the envelope.
 
double m_envelopePosZ0 = 0.0
 Position of the merger inside the envelope.
 
std::vector< double > m_mergerSlotID
 Merger slot number.
 
std::vector< double > m_mergerPosR
 Distance from the center in mm.
 
std::vector< double > m_mergerAngle
 Azimuthal angle of the merger PCB center in polar coordinate system in deg.
 
std::vector< double > m_mergerOrientation
 Orientation of the merger board in deg.
 

Detailed Description

Geometry parameters of Merger PCB.

Definition at line 26 of file ARICHGeoMerger.h.

Constructor & Destructor Documentation

◆ ARICHGeoMerger()

ARICHGeoMerger ( )
inline

Default constructor.

Definition at line 33 of file ARICHGeoMerger.h.

34 {}

Member Function Documentation

◆ checkMergerPositionsDataConsistency()

void checkMergerPositionsDataConsistency ( ) const

Check data consistency of the merger positions In case of failure print the basf2 ERROR message using B2ASSERT.

Definition at line 63 of file ARICHGeoMerger.cc.

64{
65
66 //if(m_mergerSlotID.size() != m_mergerPosR.size()){
67 //string outMessage = " Data of the merger board positions is inconsisten : m_mergerSlotID.size() != m_mergerPosR.size() ";
68 //B2ERROR( outMessage << endl );
69 //B2FATAL(outMessage);
70 //}
71 //if(m_mergerSlotID.size() != m_mergerAngle.size()){
72 //string outMessage = " Data of the merger board positions is inconsisten : m_mergerSlotID.size() != m_mergerAngle.size() ";
73 //B2ERROR( outMessage << endl );
74 //B2FATAL(outMessage);
75 //}
76
77 B2ASSERT("Data of the merger board positions is inconsisten : getEnvelopeThickness() <= getThickness() ",
79 B2ASSERT("Data of the merger board positions is inconsisten : m_mergerSlotID.size() != m_mergerPosR.size()",
80 m_mergerSlotID.size() == m_mergerPosR.size());
81 B2ASSERT("Data of the merger board positions is inconsisten : m_mergerSlotID.size() != m_mergerAngle.size()",
82 m_mergerSlotID.size() == m_mergerAngle.size());
83 B2ASSERT("Data of the merger board positions is inconsisten : m_mergerSlotID.size() != m_singlemergerenvelopeDeltaZ.size()",
85
86}
std::vector< double > m_mergerSlotID
Merger slot number.
std::vector< double > m_mergerPosR
Distance from the center in mm.
double getThickness() const
Returns merger PCB thickness.
std::vector< double > m_mergerAngle
Azimuthal angle of the merger PCB center in polar coordinate system in deg.
std::vector< double > m_singlemergerenvelopeDeltaZ
Z position of the single merger and merger cooling body envelope inside global merger envelope in mm.
double getEnvelopeThickness() const
Returns Thickness of merger PCB assembly envelope.

◆ getEnvelopeCenterPosition()

ROOT::Math::XYZVector getEnvelopeCenterPosition ( ) const
inline

Returns position vector (ROOT::Math::XYZVector) of merger PCB assembly envelope.

Returns
position vector (ROOT::Math::XYZVector) of merger PCB assembly envelope

Definition at line 260 of file ARICHGeoMerger.h.

260{return ROOT::Math::XYZVector(m_envelopeX0, m_envelopeY0, m_envelopeZ0);}
double m_envelopeZ0
Z0 merger PCB assembly envelope.
double m_envelopeX0
X0 merger PCB assembly envelope.
double m_envelopeY0
Y0 merger PCB assembly envelope.

◆ getEnvelopeInnerRadius()

double getEnvelopeInnerRadius ( ) const
inline

Returns Inner radius of merger PCB assembly envelope.

Returns
Inner radius of merger PCB assembly envelope

Definition at line 248 of file ARICHGeoMerger.h.

248{return m_envelopeInnerRadius;}
double m_envelopeInnerRadius
Inner radius of merger PCB assembly envelope.

◆ getEnvelopeOuterRadius()

double getEnvelopeOuterRadius ( ) const
inline

Returns Outer radius of merger PCB assembly envelope.

Returns
Outer radius of merger PCB assembly envelope

Definition at line 242 of file ARICHGeoMerger.h.

242{return m_envelopeOuterRadius;}
double m_envelopeOuterRadius
Outer radius of merger PCB assembly envelope.

◆ getEnvelopeThickness()

double getEnvelopeThickness ( ) const
inline

Returns Thickness of merger PCB assembly envelope.

Returns
Thickness of merger PCB assembly envelope

Definition at line 254 of file ARICHGeoMerger.h.

254{return m_envelopeThickness;}
double m_envelopeThickness
Thickness of merger PCB assembly envelope.

◆ getMergerAngle()

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

Returns vector of merger boarts azimuthal angles in polar coordinate system in deg.

Returns
vector of merger boarts azimuthal angles in polar coordinate system in deg

Definition at line 284 of file ARICHGeoMerger.h.

284{return m_mergerAngle;}

◆ getMergerOrientation()

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

Returns vector of merger boarts orientations in deg.

Returns
vector of merger boarts orientations in deg

Definition at line 290 of file ARICHGeoMerger.h.

290{return m_mergerOrientation;}
std::vector< double > m_mergerOrientation
Orientation of the merger board in deg.

◆ getMergerPCBMaterialName()

const std::string & getMergerPCBMaterialName ( ) const
inline

Returns merger PCB material name.

Returns
merger PCB material name

Definition at line 170 of file ARICHGeoMerger.h.

std::string m_mergerPCBMaterialName
Material of merger PCB.

◆ getMergerPCBscrewholePosdX1()

double getMergerPCBscrewholePosdX1 ( ) const
inline

Returns merger PCB screw hole position from the bottom edge.

Returns
merger PCB screw hole position from the bottom edge

Definition at line 230 of file ARICHGeoMerger.h.

double m_mergerPCBscrewholePosdX1
Merger PCB screw hole position from the bottom edge.

◆ getMergerPCBscrewholePosdX2()

double getMergerPCBscrewholePosdX2 ( ) const
inline

Returns merger PCB screw hole position from the top edge.

Returns
merger PCB screw hole position from the top edge

Definition at line 236 of file ARICHGeoMerger.h.

double m_mergerPCBscrewholePosdX2
Merger PCB screw hole position from the top edge.

◆ getMergerPCBscrewholePosdY()

double getMergerPCBscrewholePosdY ( ) const
inline

Returns merger PCB screw hole position from the left and right sides.

Returns
merger PCB screw hole position from the left and right sides

Definition at line 224 of file ARICHGeoMerger.h.

double m_mergerPCBscrewholePosdY
Merger PCB screw hole position from the left and right sides.

◆ getMergerPCBscrewholeR()

double getMergerPCBscrewholeR ( ) const
inline

Returns merger PCB screw hole radius.

Returns
merger PCB screw hole radius

Definition at line 218 of file ARICHGeoMerger.h.

218{return m_mergerPCBscrewholeR;}
double m_mergerPCBscrewholeR
Merger PCB screw hole radius.

◆ getMergerPosR()

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

Returns vector of merger boards distances from the center in mm.

Returns
vector of merger boards distances from the center in mm

Definition at line 278 of file ARICHGeoMerger.h.

278{return m_mergerPosR;}

◆ getMergerSlotID()

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

Returns vector of merger boards slot numbers.

Returns
vector of merger boards slot numbers

Definition at line 272 of file ARICHGeoMerger.h.

272{return m_mergerSlotID;}

◆ 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

◆ getSingleMergeEnvelopePosition()

ROOT::Math::XYZVector getSingleMergeEnvelopePosition ( ) const
inline

Returns position vector (ROOT::Math::XYZVector) of merger PCB inside the single merger envelope.

Returns
position vector (ROOT::Math::XYZVector) of merger PCB inside the single merger envelope

Definition at line 266 of file ARICHGeoMerger.h.

266{return ROOT::Math::XYZVector(m_envelopePosX0, m_envelopePosY0, m_envelopePosZ0);}
double m_envelopePosX0
Position of the merger inside the envelope.
double m_envelopePosZ0
Position of the merger inside the envelope.
double m_envelopePosY0
Position of the merger inside the envelope.

◆ getSingleMergerenvelopeDeltaZ()

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

Returns vector of Z position of the single merger and merger cooling body envelope inside global merger envelope in mm.

Returns
vector of Z position of the single merger and merger cooling body envelope inside global merger envelope in mm

Definition at line 212 of file ARICHGeoMerger.h.

◆ getSingleMergerEnvelopeSizeL()

double getSingleMergerEnvelopeSizeL ( ) const
inline

Returns single merger PCB and merger cooling envelop length.

Returns
single merger PCB and merger cooling envelop length

Definition at line 194 of file ARICHGeoMerger.h.

double m_singlemergerenvelopeSizeL
Size of single merger PCB and merger cooling envelop : length.

◆ getSingleMergerEnvelopeSizeW()

double getSingleMergerEnvelopeSizeW ( ) const
inline

Returns single merger PCB and merger cooling envelop width.

Returns
single merger PCB and merger cooling envelop width

Definition at line 200 of file ARICHGeoMerger.h.

double m_singlemergerenvelopeSizeW
Size of single merger PCB and merger cooling envelop : width.

◆ getSingleMergerEnvelopeThickness()

double getSingleMergerEnvelopeThickness ( ) const
inline

Returns single merger PCB and merger cooling envelop thickness.

Returns
single merger PCB and merger cooling envelop thickness

Definition at line 206 of file ARICHGeoMerger.h.

double m_singlemergerenvelopeThickness
Thickenss of single merger PCB and merger cooling envelop.

◆ getSizeL()

double getSizeL ( ) const
inline

Returns merger PCB lenght.

Returns
merger PCB lenght

Definition at line 176 of file ARICHGeoMerger.h.

176{return m_sizeL;}
double m_sizeL
Size of merger PCB : length.

◆ getSizeW()

double getSizeW ( ) const
inline

Returns merger PCB width.

Returns
merger PCB width

Definition at line 182 of file ARICHGeoMerger.h.

182{return m_sizeW;}
double m_sizeW
Size of merger PCB : width.

◆ getThickness()

double getThickness ( ) const
inline

Returns merger PCB thickness.

Returns
merger PCB thickness

Definition at line 188 of file ARICHGeoMerger.h.

188{return m_thickness;}
double m_thickness
Thickenss of merger PCB.

◆ 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 = "Merger PCB geometry parameters") const
virtual

Print the content of the class.

Parameters
titletitle to be printed

Reimplemented from ARICHGeoBase.

Definition at line 18 of file ARICHGeoMerger.cc.

19{
20
22
23 cout << "Outer radius of merger PCB assembly envelope : " << getEnvelopeOuterRadius() << endl
24 << "Inner radius of merger PCB assembly envelope : " << getEnvelopeInnerRadius() << endl
25 << "Thickness of merger PCB assembly envelope : " << getEnvelopeThickness() << endl;
26 cout << "X0 merger PCB assembly envelope : " << getEnvelopeCenterPosition().X() << endl
27 << "Y0 merger PCB assembly envelope : " << getEnvelopeCenterPosition().Y() << endl
28 << "Z0 merger PCB assembly envelope : " << getEnvelopeCenterPosition().Z() << endl;
29 cout << "merger PCB material name : " << getMergerPCBMaterialName() << endl
30 << "merger PCB lenght : " << getSizeL() << endl
31 << "merger PCB width : " << getSizeW() << endl
32 << "merger PCB thickness : " << getThickness() << endl;
33 cout << "merger PCB screw whole radius : " << getMergerPCBscrewholeR() << endl
34 << "merger PCB screw whole position from the left and right sides : " << getMergerPCBscrewholePosdY() << endl
35 << "merger PCB screw whole position from the bottom edge : " << getMergerPCBscrewholePosdX1() << endl
36 << "merger PCB screw whole position from the top edge : " << getMergerPCBscrewholePosdX2() << endl;
37 cout << "single merger PCB and merger cooling envelope length : " << getSingleMergerEnvelopeSizeL() << endl
38 << "single merger PCB and merger cooling envelope width : " << getSingleMergerEnvelopeSizeW() << endl
39 << "single merger PCB and merger cooling envelope thickness : " << getSingleMergerEnvelopeThickness() << endl;
40 cout << "X0 of merger PCB inside the single merger envelope : " << getSingleMergeEnvelopePosition().X() << endl
41 << "Y0 of merger PCB inside the single merger envelope : " << getSingleMergeEnvelopePosition().Y() << endl
42 << "Z0 of merger PCB inside the single merger envelope : " << getSingleMergeEnvelopePosition().Z() << endl;
43
44 //checkMergerPositionsDataConsistency();
45
46 cout << setw(20) << "#"
47 << setw(20) << "mergerSlotID"
48 << setw(20) << "mergerPosR"
49 << setw(20) << "mergerAngle"
50 << setw(20) << "mergerOrientation"
51 << setw(20) << "mergerDeltaZ" << endl;
52 for (unsigned i = 0; i < getMergerSlotID().size(); i++) {
53 cout << setw(20) << i
54 << setw(20) << getMergerSlotID().at(i)
55 << setw(20) << getMergerPosR().at(i)
56 << setw(20) << getMergerAngle().at(i)
57 << setw(20) << getMergerOrientation().at(i)
58 << setw(20) << getSingleMergerenvelopeDeltaZ().at(i)
59 << endl;
60 }
61}
virtual void print(const std::string &title) const
Print the content of the class.
Definition: ARICHGeoBase.cc:20
const std::vector< double > & getSingleMergerenvelopeDeltaZ() const
Returns vector of Z position of the single merger and merger cooling body envelope inside global merg...
double getMergerPCBscrewholeR() const
Returns merger PCB screw hole radius.
double getSingleMergerEnvelopeThickness() const
Returns single merger PCB and merger cooling envelop thickness.
double getSizeW() const
Returns merger PCB width.
double getMergerPCBscrewholePosdX1() const
Returns merger PCB screw hole position from the bottom edge.
double getEnvelopeOuterRadius() const
Returns Outer radius of merger PCB assembly envelope.
const std::vector< double > & getMergerSlotID() const
Returns vector of merger boards slot numbers.
double getMergerPCBscrewholePosdX2() const
Returns merger PCB screw hole position from the top edge.
const std::vector< double > & getMergerAngle() const
Returns vector of merger boarts azimuthal angles in polar coordinate system in deg.
ROOT::Math::XYZVector getSingleMergeEnvelopePosition() const
Returns position vector (ROOT::Math::XYZVector) of merger PCB inside the single merger envelope.
ROOT::Math::XYZVector getEnvelopeCenterPosition() const
Returns position vector (ROOT::Math::XYZVector) of merger PCB assembly envelope.
const std::vector< double > & getMergerOrientation() const
Returns vector of merger boarts orientations in deg.
const std::vector< double > & getMergerPosR() const
Returns vector of merger boards distances from the center in mm.
const std::string & getMergerPCBMaterialName() const
Returns merger PCB material name.
double getSingleMergerEnvelopeSizeW() const
Returns single merger PCB and merger cooling envelop width.
double getEnvelopeInnerRadius() const
Returns Inner radius of merger PCB assembly envelope.
double getSingleMergerEnvelopeSizeL() const
Returns single merger PCB and merger cooling envelop length.
double getSizeL() const
Returns merger PCB lenght.
double getMergerPCBscrewholePosdY() const
Returns merger PCB screw hole position from the left and right sides.

◆ 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

◆ setEnvelopeCenterPosition()

void setEnvelopeCenterPosition ( double  x0,
double  y0,
double  z0 
)
inline

Set position of merger PCB assembly envelope.

Parameters
x0x position of merger PCB assembly envelope
y0y position of merger PCB assembly envelope
z0z position of merger PCB assembly envelope

Definition at line 132 of file ARICHGeoMerger.h.

132{m_envelopeX0 = x0; m_envelopeY0 = y0; m_envelopeZ0 = z0;}

◆ setEnvelopeInnerRadius()

void setEnvelopeInnerRadius ( double  envelopeInnerRadius)
inline

Set inner radius of merger PCB assembly envelope.

Parameters
envelopeInnerRadiusinner radius of merger PCB assembly envelope

Definition at line 118 of file ARICHGeoMerger.h.

118{m_envelopeInnerRadius = envelopeInnerRadius;}

◆ setEnvelopeOuterRadius()

void setEnvelopeOuterRadius ( double  envelopeOuterRadius)
inline

Set outer radius of merger PCB assembly envelope.

Parameters
envelopeOuterRadiusouter radius of merger PCB assembly envelope

Definition at line 112 of file ARICHGeoMerger.h.

112{m_envelopeOuterRadius = envelopeOuterRadius;}

◆ setEnvelopeThickness()

void setEnvelopeThickness ( double  envelopeThickness)
inline

Set thickness of merger PCB assembly envelope.

Parameters
envelopeThicknessthickness of merger PCB assembly envelope

Definition at line 124 of file ARICHGeoMerger.h.

124{m_envelopeThickness = envelopeThickness;}

◆ setMergerAngle()

void setMergerAngle ( const std::vector< double > &  mergerAngle)
inline

Set vector of merger boarts azimuthal angles in polar coordinate system in deg.

Parameters
mergerAnglevector of merger boarts azimuthal angles

Definition at line 158 of file ARICHGeoMerger.h.

158{ m_mergerAngle = mergerAngle;}

◆ setMergerOrientation()

void setMergerOrientation ( const std::vector< double > &  mergerOrientation)
inline

Set vector of merger boarts orientations.

Parameters
mergerOrientationvector of merger boarts orientations

Definition at line 164 of file ARICHGeoMerger.h.

164{ m_mergerOrientation = mergerOrientation;}

◆ setMergerPCBLenght()

void setMergerPCBLenght ( double  sizeL)
inline

Set merger PCB lenght.

Parameters
sizeLmerger PCB lenght

Definition at line 46 of file ARICHGeoMerger.h.

46{m_sizeL = sizeL;}

◆ setMergerPCBMaterialName()

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

Set merger PCB material name.

Parameters
materialNamemerger PCB material name

Definition at line 40 of file ARICHGeoMerger.h.

40{m_mergerPCBMaterialName = materialName;}

◆ setMergerPCBscrewholePosdX1()

void setMergerPCBscrewholePosdX1 ( double  screwholePosdX1)
inline

Set merger PCB screw hole position from the bottom edge.

Parameters
screwholePosdX1merger PCB screw hole position from the bottom edge

Definition at line 100 of file ARICHGeoMerger.h.

100{ m_mergerPCBscrewholePosdX1 = screwholePosdX1;}

◆ setMergerPCBscrewholePosdX2()

void setMergerPCBscrewholePosdX2 ( double  screwholePosdX2)
inline

Set merger PCB screw hole position from the top edge.

Parameters
screwholePosdX2merger PCB screw hole position from the top edge

Definition at line 106 of file ARICHGeoMerger.h.

106{ m_mergerPCBscrewholePosdX2 = screwholePosdX2;}

◆ setMergerPCBscrewholePosdY()

void setMergerPCBscrewholePosdY ( double  screwholePosdY)
inline

Set merger PCB screw hole position from the left and right sides.

Parameters
screwholePosdYmerger PCB screw hole position from the left and right sides

Definition at line 94 of file ARICHGeoMerger.h.

94{ m_mergerPCBscrewholePosdY = screwholePosdY;}

◆ setMergerPCBscrewholeR()

void setMergerPCBscrewholeR ( double  screwholeR)
inline

Set merger PCB screw hole radius.

Parameters
screwholeRmerger PCB screw hole radius

Definition at line 88 of file ARICHGeoMerger.h.

88{m_mergerPCBscrewholeR = screwholeR;}

◆ setMergerPCBThickness()

void setMergerPCBThickness ( double  thickness)
inline

Set merger PCB thickness.

Parameters
thicknessmerger PCB thickness

Definition at line 58 of file ARICHGeoMerger.h.

58{m_thickness = thickness;}

◆ setMergerPCBWidth()

void setMergerPCBWidth ( double  sizeW)
inline

Set merger PCB width.

Parameters
sizeWmerger PCB width

Definition at line 52 of file ARICHGeoMerger.h.

52{m_sizeW = sizeW;}

◆ setMergerPosR()

void setMergerPosR ( const std::vector< double > &  mergerPosR)
inline

Set vector of merger boards distances from the center in mm.

Parameters
mergerPosRvector of merger boards distances from the center in mm

Definition at line 152 of file ARICHGeoMerger.h.

152{ m_mergerPosR = mergerPosR;}

◆ setMergerSlotID()

void setMergerSlotID ( const std::vector< double > &  mergerSlotID)
inline

Set vector of merger boards slot numbers.

Parameters
mergerSlotIDvector of merger slot numbers

Definition at line 146 of file ARICHGeoMerger.h.

146{ m_mergerSlotID = mergerSlotID;}

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

◆ setSingleMergeEnvelopePosition()

void setSingleMergeEnvelopePosition ( double  x0,
double  y0,
double  z0 
)
inline

Set position of merger PCB inside the single merger envelope.

Parameters
x0x of merger PCB inside the single merger envelope
y0y of merger PCB inside the single merger envelope
z0z of merger PCB inside the single merger envelope

Definition at line 140 of file ARICHGeoMerger.h.

◆ setSingleMergerenvelopeDeltaZ()

void setSingleMergerenvelopeDeltaZ ( const std::vector< double > &  singlemergerenvelopeDeltaZ)
inline

Set vector of Z position of the single merger and merger cooling body envelope inside global merger envelope in mm.

Parameters
singlemergerenvelopeDeltaZvector of Z position of the single merger and merger cooling body envelope inside global merger envelope in mm

Definition at line 82 of file ARICHGeoMerger.h.

82{ m_singlemergerenvelopeDeltaZ = singlemergerenvelopeDeltaZ;}

◆ setSingleMergerEnvelopeSizeL()

void setSingleMergerEnvelopeSizeL ( double  sizeL)
inline

Set single merger PCB and merger cooling envelop length.

Parameters
sizeLmerger PCB and merger cooling envelop length

Definition at line 64 of file ARICHGeoMerger.h.

◆ setSingleMergerEnvelopeSizeW()

void setSingleMergerEnvelopeSizeW ( double  sizeW)
inline

Set single merger PCB and merger cooling envelop width.

Parameters
sizeWmerger PCB and merger cooling envelop width

Definition at line 70 of file ARICHGeoMerger.h.

◆ setSingleMergerEnvelopeThickness()

void setSingleMergerEnvelopeThickness ( double  thickness)
inline

Set single merger PCB and merger cooling envelop thickness.

Parameters
thicknesssingle merger PCB and merger cooling envelop thickness

Definition at line 76 of file ARICHGeoMerger.h.

Member Data Documentation

◆ m_envelopeInnerRadius

double m_envelopeInnerRadius = 0.0
private

Inner radius of merger PCB assembly envelope.

Definition at line 320 of file ARICHGeoMerger.h.

◆ m_envelopeOuterRadius

double m_envelopeOuterRadius = 0.0
private

Outer radius of merger PCB assembly envelope.

Definition at line 319 of file ARICHGeoMerger.h.

◆ m_envelopePosX0

double m_envelopePosX0 = 0.0
private

Position of the merger inside the envelope.

Definition at line 325 of file ARICHGeoMerger.h.

◆ m_envelopePosY0

double m_envelopePosY0 = 0.0
private

Position of the merger inside the envelope.

Definition at line 326 of file ARICHGeoMerger.h.

◆ m_envelopePosZ0

double m_envelopePosZ0 = 0.0
private

Position of the merger inside the envelope.

Definition at line 327 of file ARICHGeoMerger.h.

◆ m_envelopeThickness

double m_envelopeThickness = 0.0
private

Thickness of merger PCB assembly envelope.

Definition at line 321 of file ARICHGeoMerger.h.

◆ m_envelopeX0

double m_envelopeX0 = 0.0
private

X0 merger PCB assembly envelope.

Definition at line 322 of file ARICHGeoMerger.h.

◆ m_envelopeY0

double m_envelopeY0 = 0.0
private

Y0 merger PCB assembly envelope.

Definition at line 323 of file ARICHGeoMerger.h.

◆ m_envelopeZ0

double m_envelopeZ0 = 0.0
private

Z0 merger PCB assembly envelope.

Definition at line 324 of file ARICHGeoMerger.h.

◆ m_mergerAngle

std::vector<double> m_mergerAngle
private

Azimuthal angle of the merger PCB center in polar coordinate system in deg.

Definition at line 330 of file ARICHGeoMerger.h.

◆ m_mergerOrientation

std::vector<double> m_mergerOrientation
private

Orientation of the merger board in deg.

Definition at line 331 of file ARICHGeoMerger.h.

◆ m_mergerPCBMaterialName

std::string m_mergerPCBMaterialName
private

Material of merger PCB.

Definition at line 306 of file ARICHGeoMerger.h.

◆ m_mergerPCBscrewholePosdX1

double m_mergerPCBscrewholePosdX1 = 0.0
private

Merger PCB screw hole position from the bottom edge.

Definition at line 317 of file ARICHGeoMerger.h.

◆ m_mergerPCBscrewholePosdX2

double m_mergerPCBscrewholePosdX2 = 0.0
private

Merger PCB screw hole position from the top edge.

Definition at line 318 of file ARICHGeoMerger.h.

◆ m_mergerPCBscrewholePosdY

double m_mergerPCBscrewholePosdY = 0.0
private

Merger PCB screw hole position from the left and right sides.

Definition at line 316 of file ARICHGeoMerger.h.

◆ m_mergerPCBscrewholeR

double m_mergerPCBscrewholeR = 0.0
private

Merger PCB screw hole radius.

Definition at line 315 of file ARICHGeoMerger.h.

◆ m_mergerPosR

std::vector<double> m_mergerPosR
private

Distance from the center in mm.

Definition at line 329 of file ARICHGeoMerger.h.

◆ m_mergerSlotID

std::vector<double> m_mergerSlotID
private

Merger slot number.

Definition at line 328 of file ARICHGeoMerger.h.

◆ m_name

std::string m_name
protectedinherited

geometry object name

Definition at line 82 of file ARICHGeoBase.h.

◆ m_singlemergerenvelopeDeltaZ

std::vector<double> m_singlemergerenvelopeDeltaZ
private

Z position of the single merger and merger cooling body envelope inside global merger envelope in mm.

Definition at line 314 of file ARICHGeoMerger.h.

◆ m_singlemergerenvelopeSizeL

double m_singlemergerenvelopeSizeL = 0.0
private

Size of single merger PCB and merger cooling envelop : length.

Definition at line 310 of file ARICHGeoMerger.h.

◆ m_singlemergerenvelopeSizeW

double m_singlemergerenvelopeSizeW = 0.0
private

Size of single merger PCB and merger cooling envelop : width.

Definition at line 311 of file ARICHGeoMerger.h.

◆ m_singlemergerenvelopeThickness

double m_singlemergerenvelopeThickness = 0.0
private

Thickenss of single merger PCB and merger cooling envelop.

Definition at line 312 of file ARICHGeoMerger.h.

◆ m_sizeL

double m_sizeL = 0.0
private

Size of merger PCB : length.

Definition at line 307 of file ARICHGeoMerger.h.

◆ m_sizeW

double m_sizeW = 0.0
private

Size of merger PCB : width.

Definition at line 308 of file ARICHGeoMerger.h.

◆ m_thickness

double m_thickness = 0.0
private

Thickenss of merger PCB.

Definition at line 309 of file ARICHGeoMerger.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: