Alignment correction for an element of the CT-PPS detector. Within the geometry description, every sensor (more generally every element) is given its translation and rotation. These two quantities shall be understood in local-to-global coordinate transform. That is, if r_l is a point in local coordinate system and x_g in global, then it holds. More...
#include <CTPPSRPAlignmentCorrectionData.h>
Public Member Functions | |
void | add (const CTPPSRPAlignmentCorrectionData &, bool sumErrors=true, bool addSh=true, bool addRot=true) |
CTPPSRPAlignmentCorrectionData () | |
CTPPSRPAlignmentCorrectionData (double _sh_x, double _sh_x_u, double _sh_y, double _sh_y_u, double _sh_z, double _sh_z_u, double _rot_x, double _rot_x_u, double _rot_y, double _rot_y_u, double _rot_z, double _rot_z_u) | |
full constructor, shifts in mm, rotations in rad More... | |
CTPPSRPAlignmentCorrectionData (double _sh_x, double _sh_y, double _sh_z, double _rot_x, double _rot_y, double rot_z) | |
no uncertainty constructor, shifts in mm, rotation in rad More... | |
ROOT::Math::Rotation3D | getRotationMatrix () const |
double | getRotX () const |
double | getRotXUnc () const |
double | getRotY () const |
double | getRotYUnc () const |
double | getRotZ () const |
double | getRotZUnc () const |
double | getShX () const |
double | getShXUnc () const |
double | getShY () const |
double | getShYUnc () const |
double | getShZ () const |
double | getShZUnc () const |
math::XYZVectorD | getTranslation () const |
math::XYZVectorD | getTranslationUncertainty () const |
void | setRotX (const double &v) |
void | setRotXUnc (const double &v) |
void | setRotY (const double &v) |
void | setRotYUnc (const double &v) |
void | setRotZ (const double &v) |
void | setRotZUnc (const double &v) |
void | setShX (const double &v) |
void | setShXUnc (const double &v) |
void | setShY (const double &v) |
void | setShYUnc (const double &v) |
void | setShZ (const double &v) |
void | setShZUnc (const double &v) |
Protected Attributes | |
double | rot_x |
double | rot_x_unc |
double | rot_y |
double | rot_y_unc |
double | rot_z |
double | rot_z_unc |
double | sh_x |
double | sh_x_unc |
double | sh_y |
double | sh_y_unc |
double | sh_z |
double | sh_z_unc |
Private Member Functions | |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int version) |
Friends | |
class | boost::serialization::access |
template<typename CondSerializationT , typename Enabled > | |
struct | cond::serialization::access |
Alignment correction for an element of the CT-PPS detector. Within the geometry description, every sensor (more generally every element) is given its translation and rotation. These two quantities shall be understood in local-to-global coordinate transform. That is, if r_l is a point in local coordinate system and x_g in global, then it holds.
x_g = rotation * x_l + translation
This class presents an alignment correction to the translation and rotation. It follows these formulae:
translation_final = translation_correction + translation_original rotation_final = rotation_correction * rotation_original
Alignment corrections can be added, following this prescription:
translation_final = translation_added + translation_original rotation_final = rotation_added * rotation_original
NB: As follows from the above definitions, all translations are in the global space. This means that the rotations do not act on them.
Besides the values of rotations and translations, this class contains also uncertainties for these paramaters (the _unc data memebers).
The rotation is parameterized by 3 rotation parameters, the matrix is obtained by calling ROOT::Math::RotationZYX(r_z, r_y, r_x), which corresponds to:
| 1 0 0 | | cos r_y 0 +sin r_y | | cos r_z -sin r_z 0 | R = | 0 cos r_x -sin r_x | * | 0 1 0 | * | sin r_z cos r_z 0 | | 0 sin r_x cos r_x | |-sin r_y 0 cos r_y | | 0 0 1 |
Definition at line 59 of file CTPPSRPAlignmentCorrectionData.h.
|
inline |
Definition at line 72 of file CTPPSRPAlignmentCorrectionData.h.
CTPPSRPAlignmentCorrectionData::CTPPSRPAlignmentCorrectionData | ( | double | _sh_x, |
double | _sh_x_u, | ||
double | _sh_y, | ||
double | _sh_y_u, | ||
double | _sh_z, | ||
double | _sh_z_u, | ||
double | _rot_x, | ||
double | _rot_x_u, | ||
double | _rot_y, | ||
double | _rot_y_u, | ||
double | _rot_z, | ||
double | _rot_z_u | ||
) |
full constructor, shifts in mm, rotations in rad
Definition at line 21 of file CTPPSRPAlignmentCorrectionData.cc.
CTPPSRPAlignmentCorrectionData::CTPPSRPAlignmentCorrectionData | ( | double | _sh_x, |
double | _sh_y, | ||
double | _sh_z, | ||
double | _rot_x, | ||
double | _rot_y, | ||
double | rot_z | ||
) |
no uncertainty constructor, shifts in mm, rotation in rad
Definition at line 48 of file CTPPSRPAlignmentCorrectionData.cc.
void CTPPSRPAlignmentCorrectionData::add | ( | const CTPPSRPAlignmentCorrectionData & | a, |
bool | sumErrors = true , |
||
bool | addSh = true , |
||
bool | addRot = true |
||
) |
merges (cumulates) alignements
sumErrors | if true, uncertainties are summed in quadrature, otherwise the uncertainties of this are not changed With the add... switches one can control which corrections are added. |
Definition at line 54 of file CTPPSRPAlignmentCorrectionData.cc.
References rot_x, rot_x_unc, rot_y, rot_y_unc, rot_z, rot_z_unc, sh_x, sh_x_unc, sh_y, sh_y_unc, sh_z, sh_z_unc, and mathSSE::sqrt().
Referenced by CTPPSRPAlignmentCorrectionsData::getFullSensorCorrection(), counter.Counter::register(), SequenceTypes.Task::remove(), and SequenceTypes.Task::replace().
|
inline |
Definition at line 143 of file CTPPSRPAlignmentCorrectionData.h.
References rot_x, rot_y, and rot_z.
Referenced by DetGeomDesc::applyAlignment(), and RPDisplacementGenerator::RPDisplacementGenerator().
|
inline |
Definition at line 121 of file CTPPSRPAlignmentCorrectionData.h.
References rot_x.
Referenced by operator<<(), and CTPPSRPAlignmentCorrectionsMethods::writeXML().
|
inline |
Definition at line 124 of file CTPPSRPAlignmentCorrectionData.h.
References rot_x_unc.
Referenced by operator<<(), and CTPPSRPAlignmentCorrectionsMethods::writeXML().
|
inline |
Definition at line 127 of file CTPPSRPAlignmentCorrectionData.h.
References rot_y.
Referenced by operator<<(), and CTPPSRPAlignmentCorrectionsMethods::writeXML().
|
inline |
Definition at line 130 of file CTPPSRPAlignmentCorrectionData.h.
References rot_y_unc.
Referenced by operator<<(), and CTPPSRPAlignmentCorrectionsMethods::writeXML().
|
inline |
Definition at line 133 of file CTPPSRPAlignmentCorrectionData.h.
References rot_z.
Referenced by operator<<(), and CTPPSRPAlignmentCorrectionsMethods::writeXML().
|
inline |
Definition at line 136 of file CTPPSRPAlignmentCorrectionData.h.
References rot_z_unc.
Referenced by operator<<(), and CTPPSRPAlignmentCorrectionsMethods::writeXML().
|
inline |
Definition at line 103 of file CTPPSRPAlignmentCorrectionData.h.
References sh_x.
Referenced by PPSAlignmentHarvester::dqmEndRun(), operator<<(), and CTPPSRPAlignmentCorrectionsMethods::writeXML().
|
inline |
Definition at line 106 of file CTPPSRPAlignmentCorrectionData.h.
References sh_x_unc.
Referenced by operator<<(), and CTPPSRPAlignmentCorrectionsMethods::writeXML().
|
inline |
Definition at line 109 of file CTPPSRPAlignmentCorrectionData.h.
References sh_y.
Referenced by operator<<(), and CTPPSRPAlignmentCorrectionsMethods::writeXML().
|
inline |
Definition at line 112 of file CTPPSRPAlignmentCorrectionData.h.
References sh_y_unc.
Referenced by operator<<(), and CTPPSRPAlignmentCorrectionsMethods::writeXML().
|
inline |
Definition at line 115 of file CTPPSRPAlignmentCorrectionData.h.
References sh_z.
Referenced by operator<<(), and CTPPSRPAlignmentCorrectionsMethods::writeXML().
|
inline |
Definition at line 118 of file CTPPSRPAlignmentCorrectionData.h.
References sh_z_unc.
Referenced by operator<<(), and CTPPSRPAlignmentCorrectionsMethods::writeXML().
|
inline |
Definition at line 139 of file CTPPSRPAlignmentCorrectionData.h.
References sh_x, sh_y, and sh_z.
Referenced by DetGeomDesc::applyAlignment(), and RPDisplacementGenerator::RPDisplacementGenerator().
|
inline |
Definition at line 141 of file CTPPSRPAlignmentCorrectionData.h.
References sh_x_unc, sh_y_unc, and sh_z_unc.
|
private |
|
inline |
Definition at line 122 of file CTPPSRPAlignmentCorrectionData.h.
References rot_x, and findQualityFiles::v.
|
inline |
Definition at line 125 of file CTPPSRPAlignmentCorrectionData.h.
References rot_x_unc, and findQualityFiles::v.
|
inline |
Definition at line 128 of file CTPPSRPAlignmentCorrectionData.h.
References rot_y, and findQualityFiles::v.
|
inline |
Definition at line 131 of file CTPPSRPAlignmentCorrectionData.h.
References rot_y_unc, and findQualityFiles::v.
|
inline |
Definition at line 134 of file CTPPSRPAlignmentCorrectionData.h.
References rot_z, and findQualityFiles::v.
|
inline |
Definition at line 137 of file CTPPSRPAlignmentCorrectionData.h.
References rot_z_unc, and findQualityFiles::v.
|
inline |
Definition at line 104 of file CTPPSRPAlignmentCorrectionData.h.
References sh_x, and findQualityFiles::v.
|
inline |
Definition at line 107 of file CTPPSRPAlignmentCorrectionData.h.
References sh_x_unc, and findQualityFiles::v.
|
inline |
Definition at line 110 of file CTPPSRPAlignmentCorrectionData.h.
References sh_y, and findQualityFiles::v.
|
inline |
Definition at line 113 of file CTPPSRPAlignmentCorrectionData.h.
References sh_y_unc, and findQualityFiles::v.
|
inline |
Definition at line 116 of file CTPPSRPAlignmentCorrectionData.h.
References sh_z, and findQualityFiles::v.
|
inline |
Definition at line 119 of file CTPPSRPAlignmentCorrectionData.h.
References sh_z_unc, and findQualityFiles::v.
|
friend |
Definition at line 152 of file CTPPSRPAlignmentCorrectionData.h.
|
friend |
Definition at line 152 of file CTPPSRPAlignmentCorrectionData.h.
|
protected |
the three rotation angles in rad
Definition at line 68 of file CTPPSRPAlignmentCorrectionData.h.
Referenced by add(), getRotationMatrix(), getRotX(), and setRotX().
|
protected |
Definition at line 69 of file CTPPSRPAlignmentCorrectionData.h.
Referenced by add(), getRotXUnc(), and setRotXUnc().
|
protected |
Definition at line 68 of file CTPPSRPAlignmentCorrectionData.h.
Referenced by add(), getRotationMatrix(), getRotY(), and setRotY().
|
protected |
Definition at line 69 of file CTPPSRPAlignmentCorrectionData.h.
Referenced by add(), getRotYUnc(), and setRotYUnc().
|
protected |
Definition at line 68 of file CTPPSRPAlignmentCorrectionData.h.
Referenced by add(), getRotationMatrix(), getRotZ(), and setRotZ().
|
protected |
Definition at line 69 of file CTPPSRPAlignmentCorrectionData.h.
Referenced by add(), getRotZUnc(), and setRotZUnc().
|
protected |
shift in mm; in global XYZ frame, which is not affected by (alignment) rotations! "_unc" denotes the shift uncertainties
Definition at line 63 of file CTPPSRPAlignmentCorrectionData.h.
Referenced by add(), getShX(), getTranslation(), and setShX().
|
protected |
Definition at line 64 of file CTPPSRPAlignmentCorrectionData.h.
Referenced by add(), getShXUnc(), getTranslationUncertainty(), and setShXUnc().
|
protected |
Definition at line 63 of file CTPPSRPAlignmentCorrectionData.h.
Referenced by add(), getShY(), getTranslation(), and setShY().
|
protected |
Definition at line 64 of file CTPPSRPAlignmentCorrectionData.h.
Referenced by add(), getShYUnc(), getTranslationUncertainty(), and setShYUnc().
|
protected |
Definition at line 63 of file CTPPSRPAlignmentCorrectionData.h.
Referenced by add(), getShZ(), getTranslation(), and setShZ().
|
protected |
Definition at line 64 of file CTPPSRPAlignmentCorrectionData.h.
Referenced by add(), getShZUnc(), getTranslationUncertainty(), and setShZUnc().