ROOT logo
AliRoot » STEER » STEER » AliAlignObj

class AliAlignObj: public TObject

  Implementation of the alignment object class, holding the alignment
  constants for a single volume, through the abstract class AliAlignObj.
  From it two derived concrete representation of alignment object class
  (AliAlignObjParams, AliAlignObjMatrix) are derived in separate files.

Function Members (Methods)

 
    This is an abstract class, constructors will not be documented.
    Look at the header to check for available constructors.

public:
virtual~AliAlignObj()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
Bool_tApplyToGeometry(Bool_t ovlpcheck = kFALSE)
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tCompare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
static AliAlignObj*GetAlignObj(UShort_t voluid)
static AliAlignObj*GetAlignObj(AliGeomManager::ELayerID layerId, Int_t modId)
virtual Bool_tGetAngles(Double_t* angles) const
voidGetCovMatrix(Double_t* cov) const
voidGetCovMatrix(TMatrixDSym& mcov) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
static Bool_tGetFromGeometry(const char* symname, AliAlignObj& alobj)
virtual const char*TObject::GetIconName() const
Bool_tGetJacobian(TMatrixD& mJ) const
Int_tGetLevel() const
virtual Bool_tGetLocalAngles(Double_t* angles) const
Bool_tGetLocalCovMatrix(Double_t* cov) const
Bool_tGetLocalCovMatrix(TMatrixDSym& lCov) const
virtual Bool_tGetLocalMatrix(TGeoHMatrix& m) const
virtual Bool_tGetLocalPars(Double_t* transl, Double_t* angles) const
virtual Bool_tGetLocalTranslation(Double_t* tr) const
virtual voidGetMatrix(TGeoHMatrix& m) const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
static Bool_tGetOrigGlobalMatrix(const char* symname, TGeoHMatrix& m)
virtual Bool_tGetPars(Double_t* transl, Double_t* angles) const
const char*GetSymName() const
virtual const char*TObject::GetTitle() const
virtual voidGetTranslation(Double_t* tr) const
virtual UInt_tTObject::GetUniqueID() const
UShort_tGetVolUID() const
voidGetVolUID(AliGeomManager::ELayerID& layerId, Int_t& modId) const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
virtual AliAlignObj&Inverse() const
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tIsSortable() const
Bool_tTObject::IsZombie() const
static const char*LayerName(Int_t layerId)
static Int_tLayerSize(Int_t layerId)
static UShort_tLayerToVolUID(AliGeomManager::ELayerID layerId, Int_t modId)
static UShort_tLayerToVolUID(Int_t layerId, Int_t modId)
static UShort_tLayerToVolUIDSafe(AliGeomManager::ELayerID layerId, Int_t modId)
static UShort_tLayerToVolUIDSafe(Int_t layerId, Int_t modId)
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
AliAlignObj&operator*=(const AliAlignObj& theAlignObj)
AliAlignObj&operator=(const AliAlignObj& theAlignObj)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint(Option_t*) const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetCorrMatrix(Double_t* cov)
voidSetCorrMatrix(TMatrixDSym& mcov)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
Bool_tSetFromLocalCov(Double_t* lCov)
Bool_tSetFromLocalCov(TMatrixDSym& lCov)
virtual Bool_tSetLocalMatrix(const TGeoMatrix& m)
virtual Bool_tSetLocalPars(Double_t x, Double_t y, Double_t z, Double_t psi, Double_t theta, Double_t phi)
virtual Bool_tSetLocalRotation(const TGeoMatrix& m)
virtual Bool_tSetLocalRotation(Double_t psi, Double_t theta, Double_t phi)
virtual Bool_tSetLocalTranslation(const TGeoMatrix& m)
virtual Bool_tSetLocalTranslation(Double_t x, Double_t y, Double_t z)
virtual Bool_tSetMatrix(const TGeoMatrix& m)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidSetPars(Double_t x, Double_t y, Double_t z, Double_t psi, Double_t theta, Double_t phi)
virtual Bool_tSetRotation(const TGeoMatrix& m)
virtual voidSetRotation(Double_t psi, Double_t theta, Double_t phi)
voidSetSymName(const TString& symname)
virtual voidSetTranslation(const TGeoMatrix& m)
virtual voidSetTranslation(Double_t x, Double_t y, Double_t z)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetVolUID(UShort_t voluid)
voidSetVolUID(AliGeomManager::ELayerID layerId, Int_t modId)
virtual voidShowMembers(TMemberInspector&)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
static const char*SymName(UShort_t voluid)
static const char*SymName(AliGeomManager::ELayerID layerId, Int_t modId)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
voidTransform(AliTrackPointArray& array) const
voidTransform(AliTrackPoint& p, Bool_t copycov = kFALSE) const
virtual voidTObject::UseCurrentStyle()
static AliGeomManager::ELayerIDVolUIDToLayer(UShort_t voluid)
static AliGeomManager::ELayerIDVolUIDToLayer(UShort_t voluid, Int_t& modId)
static AliGeomManager::ELayerIDVolUIDToLayerSafe(UShort_t voluid)
static AliGeomManager::ELayerIDVolUIDToLayerSafe(UShort_t voluid, Int_t& modId)
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
voidAnglesToMatrix(const Double_t* angles, Double_t* rot) const
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
Bool_tMatrixToAngles(const Double_t* rot, Double_t* angles) const

Data Members

protected:
Double32_tfDiag[6]diagonal elements of the correlation matrix for shifts and rotations (dx,dy,dz,dpsi,dtheta,dphi)
Double32_tfODia[15][-1, 1,8] off-diagonal elements (in 8 bit precision) of the correlation matrix
TStringfVolPathSymbolic volume name; in case could coincide with
UShort_tfVolUIDUnique volume ID

Class Charts

Inheritance Chart:
TObject
AliAlignObj
AliAlignObjMatrix
AliAlignObjParams

Function documentation

AliAlignObj & operator*=(const AliAlignObj& theAlignObj)
 multiplication operator
 The operator can be used to 'combine'
 two alignment objects
~AliAlignObj()
 dummy destructor
void SetVolUID(AliGeomManager::ELayerID layerId, Int_t modId)
 From detector name and module number (according to detector numbering)
 build fVolUID, unique numerical identity of that volume inside ALICE
 fVolUID is 16 bits, first 5 reserved for detID (32 possible values),
 remaining 11 for module ID inside det (2048 possible values).

void GetVolUID(AliGeomManager::ELayerID& layerId, Int_t& modId) const
 From the fVolUID, unique numerical identity of that volume inside ALICE,
 (voluid is 16 bits, first 5 reserved for layerID (32 possible values),
 remaining 11 for module ID inside det (2048 possible values)), sets
 the argument layerId to the identity of the layer to which that volume
 belongs and sets the argument modId to the identity of that volume
 internally to the layer.

Bool_t GetPars(Double_t* transl, Double_t* angles) const
Int_t GetLevel() const
 Return the geometry level of the alignable volume to which
 the alignment object is associated; this is the number of
 slashes in the corresponding volume path

Int_t Compare(const TObject* obj) const
 Compare the levels of two
 alignment objects
 Used in the sorting during
 the application of alignment
 objects to the geometry

void GetCovMatrix(Double_t* cov) const
 Fills the cmat argument with the coefficients of the external cov matrix (21 elements)
 calculating them from the correlation matrix data member

void GetCovMatrix(TMatrixDSym& mcov) const
 Fills the matrix m passed as argument as the covariance matrix calculated
 from the coefficients of the reduced covariance matrix data members

Bool_t GetLocalCovMatrix(TMatrixDSym& lCov) const
 Calculates the covariance matrix (6x6) associated to the six parameters
 defining the current alignment in the global coordinates system (and sets
 in the internal data members) from the covariance matrix (6x6) for the six
 parameters defining the alignment transformation in the local coordinates
 system, passed as an argument.

Bool_t GetLocalCovMatrix(Double_t* cov) const
 Calculates the covariance matrix (6x6) associated to the six parameters
 defining the current alignment in the global coordinates system (and sets
 in the internal data members) from the covariance matrix (6x6) for the six
 parameters defining the alignment transformation in the local coordinates
 system, passed as an argument.

Bool_t GetJacobian(TMatrixD& mJ) const
 Compute the jacobian J of the transformation of the six local to the six global delta parameters

 R00 R01 R02 | (R01Rk2 - R02Rk1)Tk  (R02Rk0 - R00Rk2)Tk  (R00Rk1 - R01Rk0)Tk
 R00 R01 R02 | (R11Rk2 - R12Rk1)Tk  (R12Rk0 - R10Rk2)Tk  (R10Rk1 - R11Rk0)Tk
 R00 R01 R02 | (R21Rk2 - R22Rk1)Tk  (R22Rk0 - R20Rk2)Tk  (R20Rk1 - R21Rk0)Tk
  -  -   -   -   -   -   -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
  0   0   0  |   R11R22 - R12R21      R12R20 - R10R22      R10R21 - R11R20
  0   0   0  |   R21R02 - R22R01      R22R00 - R20R02      R20R01 - R21R00
  0   0   0  |   R01R12 - R02R11      R02R10 - R00R12      R00R11 - R01R10

Bool_t SetFromLocalCov(TMatrixDSym& lCov)
 Calculates the covariance matrix (6x6) associated to the six parameters
 defining the current alignment in the global coordinates system (and sets
 in the internal data members) from the covariance matrix (6x6) for the six
 parameters defining the alignment transformation in the local coordinates
 system, passed as an argument.

Bool_t SetFromLocalCov(Double_t* lCov)
 Calculates the covariance matrix (6x6) associated to the six parameters
 defining the current alignment in the global coordinates system, and sets
 in the internal data members, from the 21 coefficients, passed as argument,
 of the covariance matrix (6x6) for the six parameters defining the
 alignment transformation in the local coordinates system.

void SetCorrMatrix(Double_t* cov)
 Sets the correlation matrix data member from the coefficients of the external covariance
 matrix (21 elements passed as argument).

void SetCorrMatrix(TMatrixDSym& mcov)
 Sets the correlation matrix data member from the covariance matrix mcov passed
 passed as argument.

void AnglesToMatrix(const Double_t* angles, Double_t* rot) const
 Calculates the rotation matrix using the
 Euler angles in "x y z" notation

Bool_t MatrixToAngles(const Double_t* rot, Double_t* angles) const
 Calculates the Euler angles in "x y z" notation
 using the rotation matrix
 Returns false in case the rotation angles can not be
 extracted from the matrix

void Transform(AliTrackPoint& p, Bool_t copycov = kFALSE) const
 The method transforms the space-point coordinates using the
 transformation matrix provided by the AliAlignObj
 In case the copycov flag is set to kTRUE, the covariance matrix
 of the alignment object is copied into the space-point

void Transform(AliTrackPointArray& array) const
 This method is used to transform all the track points
 from the input AliTrackPointArray

void Print(Option_t* ) const
 Print the contents of the
 alignment object in angles and
 matrix representations

void SetPars(Double_t x, Double_t y, Double_t z, Double_t psi, Double_t theta, Double_t phi)
 Set the global delta transformation by passing 3 angles (expressed in
 degrees) and 3 shifts (in centimeters)

Bool_t SetLocalPars(Double_t x, Double_t y, Double_t z, Double_t psi, Double_t theta, Double_t phi)
 Set the global delta transformation by passing the parameters
 for the local delta transformation (3 shifts and 3 angles).
 In case that the TGeo was not initialized or not closed,
 returns false and the object parameters are not set.

Bool_t SetLocalTranslation(Double_t x, Double_t y, Double_t z)
 Set the global delta transformation by passing the three shifts giving
 the translation in the local reference system of the alignable
 volume (known by TGeo geometry).
 In case that the TGeo was not initialized or not closed,
 returns false and the object parameters are not set.

Bool_t SetLocalTranslation(const TGeoMatrix& m)
 Set the global delta transformation by passing the matrix of
 the local delta transformation and taking its translational part
 In case that the TGeo was not initialized or not closed,
 returns false and the object parameters are not set.

Bool_t SetLocalRotation(Double_t psi, Double_t theta, Double_t phi)
 Set the global delta transformation by passing the three angles giving
 the rotation in the local reference system of the alignable
 volume (known by TGeo geometry).
 In case that the TGeo was not initialized or not closed,
 returns false and the object parameters are not set.

Bool_t SetLocalRotation(const TGeoMatrix& m)
 Set the global delta transformation by passing the matrix of
 the local delta transformation and taking its rotational part
 In case that the TGeo was not initialized or not closed,
 returns false and the object parameters are not set.

Bool_t SetLocalMatrix(const TGeoMatrix& m)
 Set the global delta transformation by passing the TGeo matrix
 for the local delta transformation.
 In case that the TGeo was not initialized or not closed,
 returns false and the object parameters are not set.

Bool_t SetMatrix(const TGeoMatrix& m)
 Set the global delta transformation by passing the TGeoMatrix
 for it

Bool_t GetLocalPars(Double_t* transl, Double_t* angles) const
 Get the translations and angles (in degrees) expressing the
 local delta transformation.
 In case that the TGeo was not initialized or not closed,
 returns false and the object parameters are not set.

Bool_t GetLocalTranslation(Double_t* tr) const
 Get the 3 shifts giving the translational part of the local
 delta transformation.
 In case that the TGeo was not initialized or not closed,
 returns false and the object parameters are not set.

Bool_t GetLocalAngles(Double_t* angles) const
 Get the 3 angles giving the rotational part of the local
 delta transformation.
 In case that the TGeo was not initialized or not closed,
 returns false and the object parameters are not set.

Bool_t GetLocalMatrix(TGeoHMatrix& m) const
 Get the matrix for the local delta transformation.
 In case that the TGeo was not initialized or not closed,
 returns false and the object parameters are not set.

Bool_t ApplyToGeometry(Bool_t ovlpcheck = kFALSE)
 Apply the current alignment object to the TGeo geometry
 This method returns FALSE if the symname of the object was not
 valid neither to get a TGeoPEntry nor as a volume path

AliAlignObj& operator=(const AliAlignObj& theAlignObj)
void SetTranslation(Double_t x, Double_t y, Double_t z)
Setters
void SetTranslation(const TGeoMatrix& m)
void SetRotation(Double_t psi, Double_t theta, Double_t phi)
Bool_t SetRotation(const TGeoMatrix& m)
void SetSymName(const TString& symname)
{fVolPath=symname;}
void SetVolUID(UShort_t voluid)
{fVolUID=voluid;}
const char * GetSymName() const
Getters
{return fVolPath.Data();}
UShort_t GetVolUID() const
{return fVolUID;}
void GetTranslation(Double_t* tr) const
Bool_t GetAngles(Double_t* angles) const
void GetMatrix(TGeoHMatrix& m) const
Bool_t IsSortable() const
{return kTRUE;}
AliAlignObj& Inverse() const
Int_t LayerSize(Int_t layerId)
{return AliGeomManager::LayerSize(layerId);}
const char* LayerName(Int_t layerId)
{return AliGeomManager::LayerName(layerId);}
UShort_t LayerToVolUID(AliGeomManager::ELayerID layerId, Int_t modId)
{return AliGeomManager::LayerToVolUID(layerId, modId);}
UShort_t LayerToVolUID(Int_t layerId, Int_t modId)
{return AliGeomManager::LayerToVolUID(layerId, modId);}
AliGeomManager::ELayerID VolUIDToLayer(UShort_t voluid, Int_t& modId)
{return AliGeomManager::VolUIDToLayer(voluid, modId);}
AliGeomManager::ELayerID VolUIDToLayer(UShort_t voluid)
{return AliGeomManager::VolUIDToLayer(voluid);}
UShort_t LayerToVolUIDSafe(AliGeomManager::ELayerID layerId, Int_t modId)
{return AliGeomManager::LayerToVolUIDSafe(layerId, modId);}
UShort_t LayerToVolUIDSafe(Int_t layerId, Int_t modId)
{return AliGeomManager::LayerToVolUIDSafe(layerId, modId);}
AliGeomManager::ELayerID VolUIDToLayerSafe(UShort_t voluid, Int_t& modId)
{return AliGeomManager::VolUIDToLayerSafe(voluid, modId);}
AliGeomManager::ELayerID VolUIDToLayerSafe(UShort_t voluid)
const char* SymName(UShort_t voluid)
{return AliGeomManager::SymName(voluid);}
const char* SymName(AliGeomManager::ELayerID layerId, Int_t modId)
{return AliGeomManager::SymName(layerId, modId);}
Bool_t GetFromGeometry(const char* symname, AliAlignObj& alobj)
{return AliGeomManager::GetFromGeometry(symname, alobj);}
AliAlignObj* GetAlignObj(UShort_t voluid)
{return AliGeomManager::GetAlignObj(voluid);}
AliAlignObj* GetAlignObj(AliGeomManager::ELayerID layerId, Int_t modId)
{return AliGeomManager::GetAlignObj(layerId, modId);}
Bool_t GetOrigGlobalMatrix(const char* symname, TGeoHMatrix& m)
{return AliGeomManager::GetOrigGlobalMatrix(symname, m);}