12#include <TGeoMatrix.h>
54 explicit AlignmentBody(
double shiftX,
double shiftY,
double shiftZ,
double rotX,
double rotY,
double rotZ);
72 void SetParameters(
double shiftX = 0.,
double shiftY = 0.,
double shiftZ = 0.,
double rotX = 0.,
double rotY = 0.,
124 std::array<double, NofParameters>
fPar{0.};
129 std::array<double, NofParameters>
fPar0{0.};
void ActivateParameters(const std::array< bool, NofParameters > &isParActive)
TGeoHMatrix fGlobal
global transformation matrix of the alignment body
const TGeoHMatrix & GetHitTransform() const
Get the transformation of the initially aligned {x,y,z} to the newly aligned {x,y,...
long fStatistics
additional information
const TGeoHMatrix & GetAlignmentMatrix() const
Get the transformation matrix of the alignment body.
TGeoHMatrix fGlobalNominal
nominal global transformation matrix, without (pre-)alignment
const TGeoHMatrix & GetGlobalTransform() const
Get the transformation of the aligment body to the glaobal coordinates.
std::string fNodePath
full path to the node in the root geometry
bool IsParameterActive(int i) const
bool fIsValid
flag indicating if the alignment body is valid
void SetStatistics(long statistics)
Set the statistics for the alignment body.
std::array< double, NofParameters > fPar0
initial alignment parameters
void SetTrackingStation(int station)
Set the Tracking Station index.
ClassDefNV(AlignmentBody, 0)
std::array< double, 3 > ApplyAlignmentToHit(const std::array< double, 3 > hit) const
Apply the alignment to hit: return = fHitTransform * hit.
const std::array< double, NofParameters > & GetParameters() const
Get the alignment parameters.
AlignmentBody()=default
Default constructor.
std::array< double, NofParameters > fPar
alignment parameters: shiftX, shiftY, shiftZ, rotX, rotY, rotZ
void IncrementStatistics(int increment)
Increment the statistics for the alignment body.
const std::string & GetNodePath() const
Get the full path to the node in the ROOT geometry.
const std::array< double, NofParameters > & GetInitialParameters() const
Get the initial alignment parameters.
std::array< bool, NofParameters > fIsParActive
flags for the parameters to be aligned
int GetTrackingStation() const
Get the Tracking Station index.
static constexpr int NofParameters
number of alignment parameters
~AlignmentBody()=default
Destructor.
TGeoHMatrix fHitTransform
TGeoHMatrix fAlignment
transformation matrix of the alignment body. Corresponds to the fPar values.
bool CreateFromGeoNode(const std::string nodePath)
long GetStatistics() const
Get the statistics for the alignment body.
void SetParameters(double shiftX=0., double shiftY=0., double shiftZ=0., double rotX=0., double rotY=0., double rotZ=0.)
TGeoHMatrix fGlobalInv
inverse of the global transformation matrix
std::array< double, 3 > ApplyInverseAlignmentToHit(const std::array< double, 3 > hit) const
Apply the inverse alignment to hit: return = fHitTransform^{-1} * hit.