Position element for ARICH.
More...
#include <ARICHPositionElement.h>
|
| ARICHPositionElement () |
| Default constructor.
|
|
| ARICHPositionElement (double x, double y, double z, double alpha, double beta, double gamma, const std::string &name="ARICHAlignment") |
| Full constructor.
|
|
void | setX (double x) |
| Sets translation in x.
|
|
void | setY (double y) |
| Sets translation in y.
|
|
void | setZ (double z) |
| Sets translation in z.
|
|
void | setRPhi (double r, double phi) |
| Sets x,y from r,phi.
|
|
void | setAlpha (double alpha) |
| Sets rotation around x.
|
|
void | setBeta (double beta) |
| Sets rotation around y.
|
|
void | setGamma (double gamma) |
| Sets rotation around z.
|
|
void | addShift (double dx, double dy, double dz, double dalpha, double dbeta, double dgamma) |
| Shift the existing values of parameters.
|
|
double | getX () const |
| Returns translation in x.
|
|
double | getY () const |
| Returns translation in y.
|
|
double | getZ () const |
| Returns translation in z.
|
|
double | getAlpha () const |
| Returns rotation angle around x.
|
|
double | getBeta () const |
| Returns rotation angle around y.
|
|
double | getGamma () const |
| Returns rotation angle around z.
|
|
ROOT::Math::Rotation3D | getRotation () const |
| Returns rotation matrix.
|
|
ROOT::Math::XYZVector | getTranslation () const |
| Returns translation vector (always in basf2 units!)
|
|
bool | isConsistent () const override |
| Check for consistency of data members.
|
|
void | print (const std::string &title="Parmeters of position element") const override |
| Print the content of the class.
|
|
void | setName (const std::string &name) |
| Sets object name.
|
|
const std::string & | getName () const |
| Returns object name.
|
|
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
|
|
|
float | m_x = 0 |
| translation in x
|
|
float | m_y = 0 |
| translation in y
|
|
float | m_z = 0 |
| translation in z
|
|
float | m_alpha = 0 |
| rotation angle around x
|
|
float | m_beta = 0 |
| rotation angle around y
|
|
float | m_gamma = 0 |
| rotation angle around z
|
|
Position element for ARICH.
Holding parameters for displacement and alignment of arich components
Definition at line 29 of file ARICHPositionElement.h.
◆ ARICHPositionElement() [1/2]
◆ ARICHPositionElement() [2/2]
ARICHPositionElement |
( |
double |
x, |
|
|
double |
y, |
|
|
double |
z, |
|
|
double |
alpha, |
|
|
double |
beta, |
|
|
double |
gamma, |
|
|
const std::string & |
name = "ARICHAlignment" |
|
) |
| |
|
inline |
Full constructor.
- Parameters
-
x | translation in x |
y | translation in y |
z | translation in z |
alpha | rotation angle around x |
beta | rotation angle around y |
gamma | rotation angle around z |
name | object name |
Definition at line 48 of file ARICHPositionElement.h.
49 :
53 {}
ARICHGeoBase()
Default constructor.
float m_beta
rotation angle around y
float m_y
translation in y
float m_alpha
rotation angle around x
float m_z
translation in z
float m_gamma
rotation angle around z
float m_x
translation in x
◆ ~ARICHPositionElement()
◆ addShift()
void addShift |
( |
double |
dx, |
|
|
double |
dy, |
|
|
double |
dz, |
|
|
double |
dalpha, |
|
|
double |
dbeta, |
|
|
double |
dgamma |
|
) |
| |
|
inline |
Shift the existing values of parameters.
- Parameters
-
dx | translation in x |
dy | translation in y |
dz | translation in z |
dalpha | rotation angle around x |
dbeta | rotation angle around y |
dgamma | rotation angle around z |
Definition at line 116 of file ARICHPositionElement.h.
◆ getAlpha()
double getAlpha |
( |
| ) |
const |
|
inline |
◆ getBeta()
◆ getGamma()
double getGamma |
( |
| ) |
const |
|
inline |
◆ getName()
const std::string & getName |
( |
| ) |
const |
|
inlineinherited |
Returns object name.
- Returns
- object name
Definition at line 49 of file ARICHGeoBase.h.
std::string m_name
geometry object name
◆ getRotation()
ROOT::Math::Rotation3D getRotation |
( |
| ) |
const |
|
inline |
Returns rotation matrix.
- Returns
- rotation matrix
Definition at line 166 of file ARICHPositionElement.h.
167 {
168 ROOT::Math::Rotation3D rot;
169 ROOT::Math::RotationX rotX(
m_alpha);
170 ROOT::Math::RotationY rotY(
m_beta);
171 ROOT::Math::RotationZ rotZ(
m_gamma);
172 rot *= rotZ * rotY * rotX;
173 return rot;
174 }
◆ getTranslation()
ROOT::Math::XYZVector getTranslation |
( |
| ) |
const |
|
inline |
Returns translation vector (always in basf2 units!)
- Returns
- translation vector
Definition at line 180 of file ARICHPositionElement.h.
180{
return ROOT::Math::XYZVector(
m_x,
m_y,
m_z);}
◆ getX()
Returns translation in x.
- Returns
- x coordinate
Definition at line 130 of file ARICHPositionElement.h.
static double s_unit
conversion unit for length
◆ getY()
◆ getZ()
◆ isConsistent()
bool isConsistent |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ print()
void print |
( |
const std::string & |
title = "Parmeters of position element" | ) |
const |
|
inlineoverridevirtual |
Print the content of the class.
- Parameters
-
Reimplemented from ARICHGeoBase.
Definition at line 192 of file ARICHPositionElement.h.
193 {
194 std::cout << title << std::endl;
195 std::cout <<
"translations (x,y,z): " <<
m_x <<
" " <<
m_y <<
" " <<
m_z << std::endl;
196 std::cout <<
"rotations (x,y,z axis): " <<
m_alpha <<
" " <<
m_beta <<
" " <<
m_gamma << std::endl;
197
198 }
◆ 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]
◆ setAlpha()
void setAlpha |
( |
double |
alpha | ) |
|
|
inline |
◆ setBeta()
void setBeta |
( |
double |
beta | ) |
|
|
inline |
◆ setGamma()
void setGamma |
( |
double |
gamma | ) |
|
|
inline |
◆ setName()
void setName |
( |
const std::string & |
name | ) |
|
|
inlineinherited |
◆ setRPhi()
void setRPhi |
( |
double |
r, |
|
|
double |
phi |
|
) |
| |
|
inline |
Sets x,y from r,phi.
- Parameters
-
Definition at line 81 of file ARICHPositionElement.h.
82 {
85 }
static const double rad
Standard of [angle].
◆ setX()
◆ setY()
◆ setZ()
◆ m_alpha
◆ m_beta
◆ m_gamma
◆ m_name
◆ m_x
◆ m_y
◆ m_z
◆ s_unit
◆ s_unitName
The documentation for this class was generated from the following file: