Belle II Software development
ARICHGeoMirrorDisplacement Class Reference

Mirror displacement parameters for ARICH. More...

#include <ARICHGeoMirrorDisplacement.h>

Inheritance diagram for ARICHGeoMirrorDisplacement:
ARICHGeoBase

Public Member Functions

 ARICHGeoMirrorDisplacement ()
 Default constructor.
 
void setDisplacementElement (int id, const ARICHPositionElement &pars)
 Sets displacement parameters (element) for mirror plate.
 
const ARICHPositionElementgetDisplacementElement (int mirrorID) const
 Returns displacement parameters for given mirror plate.
 
void print (const std::string &title="Mirror Displacement Parameters") const
 Print the content of the class.
 
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 (ARICHGeoMirrorDisplacement, 1)
 ClassDef.
 

Private Attributes

std::vector< ARICHPositionElementm_elements {std::vector<ARICHPositionElement>(18)}
 vector of positions elements for displacement
 

Detailed Description

Mirror displacement parameters for ARICH.

Definition at line 23 of file ARICHGeoMirrorDisplacement.h.

Constructor & Destructor Documentation

◆ ARICHGeoMirrorDisplacement()

Default constructor.

Definition at line 29 of file ARICHGeoMirrorDisplacement.h.

30 {}

◆ ~ARICHGeoMirrorDisplacement()

Definition at line 32 of file ARICHGeoMirrorDisplacement.h.

33 {}

Member Function Documentation

◆ getDisplacementElement()

const ARICHPositionElement & getDisplacementElement ( int  mirrorID) const
inline

Returns displacement parameters for given mirror plate.

Returns
position element

Definition at line 49 of file ARICHGeoMirrorDisplacement.h.

50 {
51 return m_elements[mirrorID - 1];
52 }
std::vector< ARICHPositionElement > m_elements
vector of positions elements for displacement

◆ 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 = "Mirror Displacement Parameters") const
inlinevirtual

Print the content of the class.

Parameters
titletitle to be printed

Reimplemented from ARICHGeoBase.

Definition at line 54 of file ARICHGeoMirrorDisplacement.h.

55 {
57 int i = 1;
58 for (auto el : m_elements) { std::cout << "Mirror plate " << i++ << std::endl; el.print(); std::cout << std::endl;}
59 }
virtual void print(const std::string &title) const
Print the content of the class.
Definition: ARICHGeoBase.cc:20

◆ 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

◆ setDisplacementElement()

void setDisplacementElement ( int  id,
const ARICHPositionElement pars 
)
inline

Sets displacement parameters (element) for mirror plate.

Parameters
idmirror id
parselement displacement element

Definition at line 40 of file ARICHGeoMirrorDisplacement.h.

41 {
42 m_elements[id - 1] = pars;
43 }

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

std::vector<ARICHPositionElement> m_elements {std::vector<ARICHPositionElement>(18)}
private

vector of positions elements for displacement

Definition at line 64 of file ARICHGeoMirrorDisplacement.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 file: