Belle II Software development
ARICHGeoCablesEnvelope Class Reference

Geometry parameters of cable envelope. More...

#include <ARICHGeoCablesEnvelope.h>

Inheritance diagram for ARICHGeoCablesEnvelope:
ARICHGeoBase

Public Member Functions

 ARICHGeoCablesEnvelope ()
 Default constructor.
 
void setCablesEffectiveMaterialName (const std::string &materialName)
 Set Effective material name describing cables.
 
void setEnvelopeOuterRadius (double envelopeOuterRadius)
 Set outer radius of cables envelop.
 
void setEnvelopeInnerRadius (double envelopeInnerRadius)
 Set inner radius of cables envelop.
 
void setEnvelopeThickness (double envelopeThickness)
 Set thickness of cables envelop.
 
void setEnvelopeCenterPosition (double x0, double y0, double z0)
 Set position of cables envelop.
 
const std::string & getCablesEffectiveMaterialName () const
 Returns Effective material name describing cables.
 
double getEnvelopeOuterRadius () const
 Returns Outer radius of cables envelop.
 
double getEnvelopeInnerRadius () const
 Returns Inner radius of cables envelop.
 
double getEnvelopeThickness () const
 Returns Thickness of cables envelop.
 
ROOT::Math::XYZVector getEnvelopeCenterPosition () const
 Returns position vector (ROOT::Math::XYZVector) of cables envelop.
 
void print (const std::string &title="Merger PCB geometry parameters") const
 Print the content of the class.
 
void checkCablesEnvelopDataConsistency () const
 Check data consistency of cables envelop 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 (ARICHGeoCablesEnvelope, 1)
 ClassDef.
 

Private Attributes

std::string m_cablesEffectiveMaterialName
 Effective material describing cables.
 
double m_envelopeOuterRadius = 0.0
 Outer radius of cables envelop.
 
double m_envelopeInnerRadius = 0.0
 Inner radius of cables envelop.
 
double m_envelopeThickness = 0.0
 Thickness of cables envelop.
 
double m_envelopeX0 = 0.0
 X0 ARICH cables envelop center.
 
double m_envelopeY0 = 0.0
 Y0 ARICH cables envelop center.
 
double m_envelopeZ0 = 0.0
 Z0 ARICH cables envelop center.
 

Detailed Description

Geometry parameters of cable envelope.

Definition at line 26 of file ARICHGeoCablesEnvelope.h.

Constructor & Destructor Documentation

◆ ARICHGeoCablesEnvelope()

Default constructor.

Definition at line 33 of file ARICHGeoCablesEnvelope.h.

34 {}

Member Function Documentation

◆ checkCablesEnvelopDataConsistency()

void checkCablesEnvelopDataConsistency ( ) const

Check data consistency of cables envelop In case of failure print the basf2 ERROR message using B2ASSERT.

Definition at line 32 of file ARICHGeoCablesEnvelope.cc.

33{
34
35 B2ASSERT("Data of the ARICH cables envelop is inconsisten : getEnvelopeThickness() > 0 ", getEnvelopeThickness() > 0);
36 B2ASSERT("Data of the ARICH cables envelop is inconsisten : getEnvelopeOuterRadius() > getEnvelopeInnerRadius() ",
38
39}
double getEnvelopeOuterRadius() const
Returns Outer radius of cables envelop.
double getEnvelopeInnerRadius() const
Returns Inner radius of cables envelop.
double getEnvelopeThickness() const
Returns Thickness of cables envelop.

◆ getCablesEffectiveMaterialName()

const std::string & getCablesEffectiveMaterialName ( ) const
inline

Returns Effective material name describing cables.

Returns
Effective material name describing cables

Definition at line 72 of file ARICHGeoCablesEnvelope.h.

std::string m_cablesEffectiveMaterialName
Effective material describing cables.

◆ getEnvelopeCenterPosition()

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

Returns position vector (ROOT::Math::XYZVector) of cables envelop.

Returns
position vector (ROOT::Math::XYZVector) of cables envelop

Definition at line 96 of file ARICHGeoCablesEnvelope.h.

96{return ROOT::Math::XYZVector(m_envelopeX0, m_envelopeY0, m_envelopeZ0);}
double m_envelopeZ0
Z0 ARICH cables envelop center.
double m_envelopeX0
X0 ARICH cables envelop center.
double m_envelopeY0
Y0 ARICH cables envelop center.

◆ getEnvelopeInnerRadius()

double getEnvelopeInnerRadius ( ) const
inline

Returns Inner radius of cables envelop.

Returns
Inner radius of cables envelop

Definition at line 84 of file ARICHGeoCablesEnvelope.h.

double m_envelopeInnerRadius
Inner radius of cables envelop.

◆ getEnvelopeOuterRadius()

double getEnvelopeOuterRadius ( ) const
inline

Returns Outer radius of cables envelop.

Returns
Outer radius of cables envelop

Definition at line 78 of file ARICHGeoCablesEnvelope.h.

double m_envelopeOuterRadius
Outer radius of cables envelop.

◆ getEnvelopeThickness()

double getEnvelopeThickness ( ) const
inline

Returns Thickness of cables envelop.

Returns
Thickness of cables envelop

Definition at line 90 of file ARICHGeoCablesEnvelope.h.

90{return m_envelopeThickness;}
double m_envelopeThickness
Thickness of cables envelop.

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

Print the content of the class.

Parameters
titletitle to be printed

Reimplemented from ARICHGeoBase.

Definition at line 17 of file ARICHGeoCablesEnvelope.cc.

18{
19
21
22 cout << "Outer radius of cables envelop : " << getEnvelopeOuterRadius() << endl
23 << "Inner radius of cables envelop : " << getEnvelopeInnerRadius() << endl
24 << "Thickness of cables envelop : " << getEnvelopeThickness() << endl
25 << "Effective material name describing cables : " << getCablesEffectiveMaterialName() << endl;
26 cout << "X0 of ARICH cables envelop center : " << getEnvelopeCenterPosition().X() << endl
27 << "Y0 of ARICH cables envelop center : " << getEnvelopeCenterPosition().Y() << endl
28 << "Z0 of ARICH cables envelop center : " << getEnvelopeCenterPosition().Z() << endl;
29
30}
virtual void print(const std::string &title) const
Print the content of the class.
Definition: ARICHGeoBase.cc:20
const std::string & getCablesEffectiveMaterialName() const
Returns Effective material name describing cables.
ROOT::Math::XYZVector getEnvelopeCenterPosition() const
Returns position vector (ROOT::Math::XYZVector) of cables envelop.

◆ 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

◆ setCablesEffectiveMaterialName()

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

Set Effective material name describing cables.

Parameters
materialNameEffective material name describing cables

Definition at line 40 of file ARICHGeoCablesEnvelope.h.

40{m_cablesEffectiveMaterialName = materialName;}

◆ setEnvelopeCenterPosition()

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

Set position of cables envelop.

Parameters
x0x position of cables envelop
y0y position of cables envelop
z0z position of cables envelop

Definition at line 66 of file ARICHGeoCablesEnvelope.h.

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

◆ setEnvelopeInnerRadius()

void setEnvelopeInnerRadius ( double  envelopeInnerRadius)
inline

Set inner radius of cables envelop.

Parameters
envelopeInnerRadiusinner radius of cables envelop

Definition at line 52 of file ARICHGeoCablesEnvelope.h.

52{m_envelopeInnerRadius = envelopeInnerRadius;}

◆ setEnvelopeOuterRadius()

void setEnvelopeOuterRadius ( double  envelopeOuterRadius)
inline

Set outer radius of cables envelop.

Parameters
envelopeOuterRadiusouter radius of cables envelop

Definition at line 46 of file ARICHGeoCablesEnvelope.h.

46{m_envelopeOuterRadius = envelopeOuterRadius;}

◆ setEnvelopeThickness()

void setEnvelopeThickness ( double  envelopeThickness)
inline

Set thickness of cables envelop.

Parameters
envelopeThicknessthickness of cables envelop

Definition at line 58 of file ARICHGeoCablesEnvelope.h.

58{m_envelopeThickness = envelopeThickness;}

◆ 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_cablesEffectiveMaterialName

std::string m_cablesEffectiveMaterialName
private

Effective material describing cables.

Definition at line 112 of file ARICHGeoCablesEnvelope.h.

◆ m_envelopeInnerRadius

double m_envelopeInnerRadius = 0.0
private

Inner radius of cables envelop.

Definition at line 114 of file ARICHGeoCablesEnvelope.h.

◆ m_envelopeOuterRadius

double m_envelopeOuterRadius = 0.0
private

Outer radius of cables envelop.

Definition at line 113 of file ARICHGeoCablesEnvelope.h.

◆ m_envelopeThickness

double m_envelopeThickness = 0.0
private

Thickness of cables envelop.

Definition at line 115 of file ARICHGeoCablesEnvelope.h.

◆ m_envelopeX0

double m_envelopeX0 = 0.0
private

X0 ARICH cables envelop center.

Definition at line 116 of file ARICHGeoCablesEnvelope.h.

◆ m_envelopeY0

double m_envelopeY0 = 0.0
private

Y0 ARICH cables envelop center.

Definition at line 117 of file ARICHGeoCablesEnvelope.h.

◆ m_envelopeZ0

double m_envelopeZ0 = 0.0
private

Z0 ARICH cables envelop center.

Definition at line 118 of file ARICHGeoCablesEnvelope.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: