11 #ifndef CondFormats_CTPPSReadoutObjects_CTPPSRPAlignmentCorrectionData 12 #define CondFormats_CTPPSReadoutObjects_CTPPSRPAlignmentCorrectionData 17 #include <Math/Rotation3D.h> 18 #include <Math/RotationZYX.h> 75 double _rot_x,
double _rot_x_u,
double _rot_y,
double _rot_y_u,
double _rot_z,
double _rot_z_u);
79 double _rot_x = 0.,
double _rot_y = 0.,
double rot_z = 0.);
83 inline void setShX(
const double &
v) { sh_x =
v; }
89 inline void setShY(
const double &
v) { sh_y =
v; }
95 inline void setShZ(
const double &
v) { sh_z =
v; }
132 return ROOT::Math::Rotation3D(ROOT::Math::RotationZYX(rot_z, rot_y, rot_x));
void setShXUnc(const double &v)
void setRotYUnc(const double &v)
double getRotXUnc() const
std::ostream & operator<<(std::ostream &s, const CTPPSRPAlignmentCorrectionData &corr)
void setRotXUnc(const double &v)
void setRotX(const double &v)
ROOT::Math::Rotation3D getRotationMatrix() const
math::XYZVectorD getTranslation() const
math::XYZVectorD getTranslationUncertainty() const
void setShZ(const double &v)
void setShX(const double &v)
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > XYZVectorD
spatial vector with cartesian internal representation
void setShZUnc(const double &v)
double getRotYUnc() const
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
void setShYUnc(const double &v)
#define COND_SERIALIZABLE
void setShY(const double &v)
void setRotY(const double &v)
double getRotZUnc() const
void setRotZ(const double &v)
void setRotZUnc(const double &v)
void add(const CTPPSRPAlignmentCorrectionData &, bool sumErrors=true, bool addSh=true, bool addRot=true)
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.