15#ifndef ITS3_MISALIGNMENTPARAMETERS_H_
16#define ITS3_MISALIGNMENTPARAMETERS_H_
36 bool store(
const std::string&
file)
const;
40 double getGloTransX(
unsigned int detID)
const {
return mGloTransX[detID]; }
41 double getGloTransY(
unsigned int detID)
const {
return mGloTransY[detID]; }
42 double getGloTransZ(
unsigned int detID)
const {
return mGloTransZ[detID]; }
43 double getGloRotX(
unsigned int detID)
const {
return mGloRotX[detID]; }
44 double getGloRotY(
unsigned int detID)
const {
return mGloRotY[detID]; }
45 double getGloRotZ(
unsigned int detID)
const {
return mGloRotZ[detID]; }
50 void setGloRotX(
unsigned int detID,
double v) { mGloRotX[detID] =
v; }
51 void setGloRotY(
unsigned int detID,
double v) { mGloRotY[detID] =
v; }
52 void setGloRotZ(
unsigned int detID,
double v) { mGloRotZ[detID] =
v; }
55 const TMatrixD&
getLegendreCoeffX(
unsigned int sensorID)
const {
return mLegCoeffX[sensorID]; }
56 const TMatrixD&
getLegendreCoeffY(
unsigned int sensorID)
const {
return mLegCoeffY[sensorID]; }
57 const TMatrixD&
getLegendreCoeffZ(
unsigned int sensorID)
const {
return mLegCoeffZ[sensorID]; }
59 void setLegendreCoeffX(
unsigned int sensorID,
const TMatrixD&
m) { setMatrix(mLegCoeffX[sensorID],
m); }
60 void setLegendreCoeffY(
unsigned int sensorID,
const TMatrixD&
m) { setMatrix(mLegCoeffY[sensorID],
m); }
61 void setLegendreCoeffZ(
unsigned int sensorID,
const TMatrixD&
m) { setMatrix(mLegCoeffZ[sensorID],
m); }
67 inline void setMatrix(TMatrixD&
o,
const TMatrixD&
n)
69 o.ResizeTo(
n.GetNrows(),
n.GetNcols());
76 std::array<double, nDetectors> mGloTransX;
77 std::array<double, nDetectors> mGloTransY;
78 std::array<double, nDetectors> mGloTransZ;
79 std::array<double, nDetectors> mGloRotX;
80 std::array<double, nDetectors> mGloRotY;
81 std::array<double, nDetectors> mGloRotZ;
84 std::array<TMatrixD, constants::nSensorsIB> mLegCoeffX;
85 std::array<TMatrixD, constants::nSensorsIB> mLegCoeffY;
86 std::array<TMatrixD, constants::nSensorsIB> mLegCoeffZ;
void printLegendreParams(unsigned int sensorID) const
double getGloTransZ(unsigned int detID) const
double getGloRotZ(unsigned int detID) const
const TMatrixD & getLegendreCoeffZ(unsigned int sensorID) const
void setLegendreCoeffY(unsigned int sensorID, const TMatrixD &m)
double getGloRotX(unsigned int detID) const
static MisalignmentParameters * load(const std::string &file)
void setGloRotY(unsigned int detID, double v)
void setGloTransZ(unsigned int detID, double v)
double getGloTransX(unsigned int detID) const
Global getters.
double getGloRotY(unsigned int detID) const
bool store(const std::string &file) const
const TMatrixD & getLegendreCoeffX(unsigned int sensorID) const
Legendre Coeff. getters.
const TMatrixD & getLegendreCoeffY(unsigned int sensorID) const
void setLegendreCoeffZ(unsigned int sensorID, const TMatrixD &m)
void setGloRotZ(unsigned int detID, double v)
void printParams(unsigned int detID) const
double getGloTransY(unsigned int detID) const
void setGloTransY(unsigned int detID, double v)
void setGloTransX(unsigned int detID, double v)
Global setters.
void setLegendreCoeffX(unsigned int sensorID, const TMatrixD &m)
Legendre Coeff. setters.
void setGloRotX(unsigned int detID, double v)
constexpr unsigned int nChips