17#ifndef ALICEO2_BASE_ALIGNPARAM_H_
18#define ALICEO2_BASE_ALIGNPARAM_H_
38 double x,
double y,
double z,
39 double psi,
double theta,
double phi,
41 bool convertLocalToGlobal =
true);
43 AlignParam(
const char* symname,
int algID, TGeoMatrix&
m,
45 bool convertLocalToGlobal =
true);
48 const std::string&
getSymName()
const {
return mSymName; }
50 double getPhi()
const {
return mPhi; }
51 double getPsi()
const {
return mPsi; }
53 double getX()
const {
return mX; }
54 double getY()
const {
return mY; }
55 double getZ()
const {
return mZ; }
77 void setParams(
double x,
double y,
double z,
double psi,
double theta,
double phi);
80 void setGlobalParams(
double x,
double y,
double z,
double psi,
double theta,
double phi);
83 void setRotation(
double psi,
double theta,
double phi);
100 bool setLocalParams(
double x,
double y,
double z,
double psi,
double theta,
double phi);
121 int rectify(
double zero = 1e-13);
127 bool matrixToAngles(
const double* rot,
double& psi,
double& theta,
double& phi)
const;
128 void anglesToMatrix(
double psi,
double theta,
double phi,
double* rot)
const;
129 void setMatrixRotation(
double psi,
double theta,
double phi, TGeoHMatrix& dest)
const;
133 std::string mSymName{};
135 bool mIsGlobal =
true;
136 int mAlignableID = -1;
void setParams(double x, double y, double z, double psi, double theta, double phi)
================ methods for direct setting of delta params
bool createLocalMatrix(TGeoHMatrix &m) const
extract local delta matrix
int getAlignableID() const
return alignable entry ID
void setGlobalParams(double x, double y, double z, double psi, double theta, double phi)
set parameters of global delta
int rectify(double zero=1e-13)
bool setLocalRotation(double psi, double theta, double phi)
set global delta rotation from the local delta rotation
void anglesToMatrix(double psi, double theta, double phi, double *rot) const
TGeoHMatrix createMatrix() const
extract global delta matrix
void setMatrixRotation(double psi, double theta, double phi, TGeoHMatrix &dest) const
void setRotation(double psi, double theta, double phi)
set global delta rotations angles in radian
void setSymName(const char *m)
set symbolic name of the volume
bool setLocalTranslation(double x, double y, double z)
set global delta translation from the local delta translation
const std::string & getSymName() const
return symbolic name of the volume
double getPhi() const
iparamater's getters
void setMatrixTranslation(double x, double y, double z, TGeoHMatrix &dest) const
bool setLocalParams(double x, double y, double z, double psi, double theta, double phi)
================ methods for setting global delta params from local delta
void setTranslation(double x, double y, double z)
set global delta displacements in cm
bool applyToGeometry() const
apply object to geoemetry
void setAlignableID(int id)
set alignable entry ID
bool matrixToAngles(const double *rot, double &psi, double &theta, double &phi) const
GLdouble GLdouble GLdouble z
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...