Belle II Software development
ARICHGeoBase Class Reference

Base class for geometry parameters. More...

#include <ARICHGeoBase.h>

Inheritance diagram for ARICHGeoBase:
ARICHAeroTilesAlignment ARICHGeoAerogelPlane ARICHGeoCablesEnvelope ARICHGeoCooling ARICHGeoDetectorPlane ARICHGeoFEBCooling ARICHGeoGlobalDisplacement ARICHGeoHAPD ARICHGeoMasterVolume ARICHGeoMerger ARICHGeoMergerCooling ARICHGeoMirrorDisplacement ARICHGeoMirrors ARICHGeoSupport ARICHGeometryConfig ARICHGlobalAlignment ARICHMirrorAlignment ARICHPositionElement

Public Member Functions

 ARICHGeoBase ()
 Default constructor.
 
 ARICHGeoBase (const std::string &name)
 Constructor with name.
 
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 print (const std::string &title) const
 Print the content of the class.
 
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
 

Detailed Description

Base class for geometry parameters.

Definition at line 24 of file ARICHGeoBase.h.

Constructor & Destructor Documentation

◆ ARICHGeoBase() [1/2]

ARICHGeoBase ( )
inline

Default constructor.

Definition at line 30 of file ARICHGeoBase.h.

30{};

◆ ARICHGeoBase() [2/2]

ARICHGeoBase ( const std::string &  name)
inlineexplicit

Constructor with name.

Parameters
nameobject name

Definition at line 36 of file ARICHGeoBase.h.

36 : m_name(name)
37 {}
std::string m_name
geometry object name
Definition: ARICHGeoBase.h:82

Member Function Documentation

◆ getName()

const std::string & getName ( ) const
inline

Returns object name.

Returns
object name

Definition at line 49 of file ARICHGeoBase.h.

49{return m_name;}

◆ isConsistent()

virtual bool isConsistent ( ) const
inlinevirtual

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) const
virtual

◆ printPlacement()

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

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
virtual

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

◆ setName()

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

Sets object name.

Parameters
nameobject name

Definition at line 43 of file ARICHGeoBase.h.

43{m_name = name;}

Member Data Documentation

◆ m_name

std::string m_name
protected

geometry object name

Definition at line 82 of file ARICHGeoBase.h.

◆ s_unit

double s_unit = Unit::cm
staticprotected

conversion unit for length

Definition at line 83 of file ARICHGeoBase.h.

◆ s_unitName

std::string s_unitName
staticprotected

conversion unit name

Definition at line 84 of file ARICHGeoBase.h.


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