befe2c08 |
1 | #ifndef ALIALIGNOBJMATRIX_H |
2 | #define ALIALIGNOBJMATRIX_H |
3 | |
4 | /************************************************************************** |
5 | * AliAlignObjMatrix: derived alignment class storing alignment * |
6 | * information for a single volume in form of TGeoHMatrix, which * |
7 | * includes the information for a translation, a rotation and a scale * |
8 | *************************************************************************/ |
9 | #include "TObject.h" |
10 | #include "TString.h" |
11 | #include "TGeoMatrix.h" |
12 | |
4de0fa4e |
13 | #include "AliAlignObj.h" |
14 | |
befe2c08 |
15 | class AliAlignObjMatrix : public AliAlignObj { |
16 | public: |
17 | AliAlignObjMatrix(); |
18 | AliAlignObjMatrix(const char* volpath, UShort_t voluid, Double_t x, Double_t y, Double_t z, Double_t psi, Double_t theta, Double_t phi); |
48c8e89a |
19 | AliAlignObjMatrix(const char* volpath, ELayerID detId, Int_t volId, Double_t x, Double_t y, Double_t z, Double_t psi, Double_t theta, Double_t phi, Bool_t global=1) throw (const Char_t *); |
befe2c08 |
20 | AliAlignObjMatrix(const char* volpath, UShort_t voluid, TGeoMatrix& m); |
d9cc42ed |
21 | AliAlignObjMatrix(const char* volpath, ELayerID layerId, Int_t volId, TGeoMatrix& m); |
c5304981 |
22 | AliAlignObjMatrix(const AliAlignObj& theAlignObj); |
23 | AliAlignObjMatrix& operator= (const AliAlignObj& theAlignObj); |
befe2c08 |
24 | virtual ~AliAlignObjMatrix(); |
25 | |
26 | //Setters |
27 | virtual void SetTranslation(Double_t x, Double_t y, Double_t z); |
28 | virtual void SetTranslation(const TGeoMatrix& m); |
29 | virtual void SetRotation(Double_t psi, Double_t theta, Double_t phi); |
30 | virtual Bool_t SetRotation(const TGeoMatrix& m); |
31 | virtual void SetMatrix(const TGeoMatrix& m); |
32 | virtual void SetPars(Double_t x, Double_t y, Double_t z, Double_t psi, |
33 | Double_t theta, Double_t phi); |
34 | //Getters |
35 | virtual void GetTranslation(Double_t* tr) const; |
36 | virtual Bool_t GetAngles(Double_t* angles) const; |
37 | virtual void GetPars(Double_t tr[], Double_t rot[]) const; |
38 | virtual void GetMatrix(TGeoHMatrix& m) const; |
03b18860 |
39 | |
40 | virtual AliAlignObj& Inverse() const; |
befe2c08 |
41 | |
42 | protected: |
43 | TGeoHMatrix fMatrix; // Transformation matrix |
44 | |
45 | ClassDef(AliAlignObjMatrix, 1) |
46 | }; |
47 | |
48 | #endif |