Geometry parameters of ARICH Master volume (envelope).
More...
#include <ARICHGlobalAlignment.h>
|
| ARICHGlobalAlignment () |
| Default constructor.
|
|
| ARICHGlobalAlignment (const ARICHGlobalAlignment &align) |
| Copy constructor.
|
|
ARICHGlobalAlignment & | operator= (const ARICHGlobalAlignment &align) |
| Assignment operator.
|
|
| ~ARICHGlobalAlignment () |
| Destructor.
|
|
void | setAlignmentElement (const ARICHPositionElement &align) |
| Sets alignment parameters (element).
|
|
const ARICHPositionElement & | getAlignmentElement () const |
| Returns alignment parameters (element).
|
|
void | print (const std::string &title="ARICH global alignment parameters") const |
| Print the content of the class.
|
|
const ROOT::Math::XYZVector & | getTranslation () const |
| Get position of ARICH master volume center point in global Belle II coordinates.
|
|
const ROOT::Math::Rotation3D & | getRotation () const |
| Get rotation matrix of ARICH master volume in global Belle II coordinates.
|
|
ROOT::Math::XYZVector | pointToGlobal (const ROOT::Math::XYZVector &point) const |
| Transform local point into global Belle II coordinate system via rotation and translation.
|
|
ROOT::Math::XYZVector | momentumToGlobal (const ROOT::Math::XYZVector &momentum) const |
| Rotate local momentum into global Belle II coordinate system.
|
|
ROOT::Math::XYZVector | pointToLocal (const ROOT::Math::XYZVector &point) const |
| Transform global point into ARICH reference system via inverse rotation and translation.
|
|
ROOT::Math::XYZVector | momentumToLocal (const ROOT::Math::XYZVector &momentum) const |
| Rotate global point into ARICH reference system via inverse rotation.
|
|
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.
|
|
|
std::string | m_name |
| geometry object name
|
|
Geometry parameters of ARICH Master volume (envelope).
Definition at line 26 of file ARICHGlobalAlignment.h.
◆ ARICHGlobalAlignment() [1/2]
◆ ARICHGlobalAlignment() [2/2]
Copy constructor.
Definition at line 39 of file ARICHGlobalAlignment.h.
39 : ARICHGeoBase()
40 {
41 *this = align;
42 m_rotation = nullptr;
43 m_rotationInverse = nullptr;
44 m_translation = nullptr;
45 }
◆ ~ARICHGlobalAlignment()
Destructor.
Definition at line 68 of file ARICHGlobalAlignment.h.
69 {
70 if (m_rotation) delete m_rotation;
71 if (m_rotationInverse) delete m_rotationInverse;
72 if (m_translation) delete m_translation;
73 }
◆ getAlignmentElement()
Returns alignment parameters (element).
- Returns
- Alignment element
Definition at line 88 of file ARICHGlobalAlignment.h.
89 {
90 return m_alignPars;
91 }
◆ getName()
const std::string & getName |
( |
| ) |
const |
|
inlineinherited |
Returns object name.
- Returns
- object name
Definition at line 49 of file ARICHGeoBase.h.
◆ getRotation()
const ROOT::Math::Rotation3D & getRotation |
( |
| ) |
const |
|
inline |
Get rotation matrix of ARICH master volume in global Belle II coordinates.
- Returns
- Rotation matrix of ARICH master volume.
Definition at line 113 of file ARICHGlobalAlignment.h.
114 {
115 if (!m_rotation) setTransformation();
116 return *m_rotation;
117 }
◆ getTranslation()
const ROOT::Math::XYZVector & getTranslation |
( |
| ) |
const |
|
inline |
Get position of ARICH master volume center point in global Belle II coordinates.
- Returns
- Center point of ARICH volume.
Definition at line 106 of file ARICHGlobalAlignment.h.
106{if (!m_translation) setTransformation(); return *m_translation;}
◆ isConsistent()
virtual bool isConsistent |
( |
| ) |
const |
|
inlinevirtualinherited |
◆ momentumToGlobal()
ROOT::Math::XYZVector momentumToGlobal |
( |
const ROOT::Math::XYZVector & | momentum | ) |
const |
Rotate local momentum into global Belle II coordinate system.
- Parameters
-
momentum | momentum vector to be rotated |
- Returns
- rotated momentum vector
Definition at line 22 of file ARICHGlobalAlignment.cc.
23{
26}
void setTransformation() const
Set rotation matrix and center point of ARICH master volume based on alignment parameters.
ROOT::Math::Rotation3D * m_rotation
rotation matrix of ARICH master volume
◆ momentumToLocal()
ROOT::Math::XYZVector momentumToLocal |
( |
const ROOT::Math::XYZVector & | momentum | ) |
const |
Rotate global point into ARICH reference system via inverse rotation.
- Parameters
-
momentum | momentum vector to be rotated |
- Returns
- rotated momentum vector
Definition at line 34 of file ARICHGlobalAlignment.cc.
35{
38}
ROOT::Math::Rotation3D * m_rotationInverse
inverse rotation matrix of ARICH master volume
◆ operator=()
Assignment operator.
Definition at line 50 of file ARICHGlobalAlignment.h.
51 {
52 if (this != &align) {
53 ARICHGeoBase::operator=(align);
54 m_alignPars = align.getAlignmentElement();
55 if (m_rotation) delete m_rotation;
56 if (m_rotationInverse) delete m_rotationInverse;
57 if (m_translation) delete m_translation;
58 m_rotation = nullptr;
59 m_rotationInverse = nullptr;
60 m_translation = nullptr;
61 }
62 return *this;
63 }
◆ pointToGlobal()
ROOT::Math::XYZVector pointToGlobal |
( |
const ROOT::Math::XYZVector & | point | ) |
const |
Transform local point into global Belle II coordinate system via rotation and translation.
- Parameters
-
point | point to be transformed |
- Returns
- transformed point
Definition at line 16 of file ARICHGlobalAlignment.cc.
17{
19 return (*
m_rotation) * point + (*m_translation);
20}
◆ pointToLocal()
ROOT::Math::XYZVector pointToLocal |
( |
const ROOT::Math::XYZVector & | point | ) |
const |
Transform global point into ARICH reference system via inverse rotation and translation.
- Parameters
-
point | point to be transformed |
- Returns
- transformed point
Definition at line 28 of file ARICHGlobalAlignment.cc.
29{
32}
ROOT::Math::XYZVector * m_translation
position of ARICH master volume center point
◆ print()
void print |
( |
const std::string & | title = "ARICH global alignment parameters" | ) |
const |
|
virtual |
Print the content of the class.
- Parameters
-
[in] | title | Title to be printed. |
Reimplemented from ARICHGeoBase.
Definition at line 48 of file ARICHGlobalAlignment.cc.
49{
52}
virtual void print(const std::string &title) const
Print the content of the class.
ARICHPositionElement m_alignPars
alignment parameters
◆ printPlacement()
void printPlacement |
( |
double | x, |
|
|
double | y, |
|
|
double | z, |
|
|
double | rx, |
|
|
double | ry, |
|
|
double | rz ) const |
|
virtualinherited |
Print volume positioning parameters.
- Parameters
-
x | x position |
y | y position |
z | z position |
rx | rotation around x-axis |
ry | rotation around y-axis |
rz | rotation around z-axis |
Definition at line 25 of file ARICHGeoBase.cc.
26{
27
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
◆ printSurface()
Print the content of optical surface.
- Parameters
-
surface | optical surface parameters |
Definition at line 32 of file ARICHGeoBase.cc.
33{
34 cout << " Optical surface: ";
36 cout << "not defined" << endl;
37 return;
38 }
40 cout <<
", model: " << surface.
getModel();
41 cout <<
", finish: " << surface.
getFinish();
42 cout <<
", type: " << surface.
getType();
43 cout <<
", value: " << surface.
getValue();
44 cout << endl;
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]
◆ setAlignmentElement()
Sets alignment parameters (element).
- Parameters
-
[in] | align | Alignment element. |
Definition at line 79 of file ARICHGlobalAlignment.h.
80 {
81 m_alignPars = align;
82 }
◆ setName()
void setName |
( |
const std::string & | name | ) |
|
|
inlineinherited |
◆ setTransformation()
void setTransformation |
( |
| ) |
const |
|
private |
Set rotation matrix and center point of ARICH master volume based on alignment parameters.
Definition at line 40 of file ARICHGlobalAlignment.cc.
41{
42 ROOT::Math::Rotation3D Rot =
m_alignPars.getRotation();
46}
◆ m_alignPars
◆ m_name
◆ m_rotation
ROOT::Math::Rotation3D* m_rotation = nullptr |
|
mutableprivate |
◆ m_rotationInverse
ROOT::Math::Rotation3D* m_rotationInverse = nullptr |
|
mutableprivate |
◆ m_translation
ROOT::Math::XYZVector* m_translation = nullptr |
|
mutableprivate |
◆ s_unit
◆ s_unitName
The documentation for this class was generated from the following files: