#ifndef ALI_TPC_CALIB_GLOBAL_MISALIGNMENT_H
#define ALI_TPC_CALIB_GLOBAL_MISALIGNMENT_H
#include "AliTPCCorrection.h"
#include "TVectorD.h"
class TGeoMatrix;
class TObjArray;
class TTreeSRedirector;
class AliTPCCalibGlobalMisalignment : public AliTPCCorrection {
public:
AliTPCCalibGlobalMisalignment();
virtual ~AliTPCCalibGlobalMisalignment();
void AddAlign(const AliTPCCalibGlobalMisalignment & add);
void SetXShift(Float_t xShift) {fXShift=xShift;}
void SetYShift(Float_t yShift) {fYShift=yShift;}
void SetZShift(Float_t zShift) {fZShift=zShift;}
void SetRotPhiA(Float_t rotPhiA) {fRotPhiA=rotPhiA;}
void SetRotPhiC(Float_t rotPhiC) {fRotPhiC=rotPhiC;}
void SetdRPhiOffsetA(Float_t dRPhiOffsetA) {fdRPhiOffsetA=dRPhiOffsetA;}
void SetdRPhiOffsetC(Float_t dRPhiOffsetC) {fdRPhiOffsetC=dRPhiOffsetC;}
Float_t GetXShift() const {return fXShift;}
Float_t GetYShift() const {return fYShift;}
Float_t GetZShift() const {return fZShift;}
Float_t GetRotPhiA() const {return fRotPhiA;}
Float_t GetRotPhiC() const {return fRotPhiC;}
Float_t GetdRPhiOffsetA() const {return fdRPhiOffsetA;}
Float_t GetdRPhiOffsetC() const {return fdRPhiOffsetC;}
virtual void Print(Option_t* option="") const;
void SetQuadranAlign(const TVectorD *quadrantQ0, const TVectorD *quadrantRQ0, const TVectorD *quadrantQ1,const TVectorD *quadrantRQ1, const TVectorD *quadrantQ2, const TVectorD *quadrantRQ2);
void SetAlignGlobal(const TGeoMatrix * matrixGlobal);
void SetAlignGlobalDelta(const TGeoMatrix * matrixGlobalDelta);
void SetAlignSectors(const TObjArray *arraySector);
TGeoMatrix* GetAlignGlobal() const {return fMatrixGlobal;}
TGeoMatrix* GetAlignGlobalDelta() const {return fMatrixGlobalDelta;}
TObjArray * GetAlignSectors() const {return fArraySector;}
static AliTPCCalibGlobalMisalignment* CreateOCDBAlign();
static AliTPCCalibGlobalMisalignment* CreateMeanAlign(const AliTPCCalibGlobalMisalignment *alignIn);
static void DumpAlignment( AliTPCCalibGlobalMisalignment* align, TTreeSRedirector *pcstream, const char *name);
protected:
virtual void GetCorrection(const Float_t x[],const Short_t roc,Float_t dx[]);
private:
Float_t fXShift;
Float_t fYShift;
Float_t fZShift;
Float_t fRotPhiA;
Float_t fRotPhiC;
Float_t fdRPhiOffsetA;
Float_t fdRPhiOffsetC;
TVectorD *fQuadrantQ0;
TVectorD *fQuadrantRQ0;
TVectorD *fQuadrantQ1;
TVectorD *fQuadrantQ2;
TVectorD *fQuadrantRQ1;
TVectorD *fQuadrantRQ2;
TGeoMatrix * fMatrixGlobal;
TGeoMatrix * fMatrixGlobalDelta;
TObjArray * fArraySector;
AliTPCCalibGlobalMisalignment& operator=(const AliTPCCalibGlobalMisalignment&);
AliTPCCalibGlobalMisalignment(const AliTPCCalibGlobalMisalignment&);
ClassDef(AliTPCCalibGlobalMisalignment,3);
};
#endif
AliTPCCalibGlobalMisalignment.h:1 AliTPCCalibGlobalMisalignment.h:2 AliTPCCalibGlobalMisalignment.h:3 AliTPCCalibGlobalMisalignment.h:4 AliTPCCalibGlobalMisalignment.h:5 AliTPCCalibGlobalMisalignment.h:6 AliTPCCalibGlobalMisalignment.h:7 AliTPCCalibGlobalMisalignment.h:8 AliTPCCalibGlobalMisalignment.h:9 AliTPCCalibGlobalMisalignment.h:10 AliTPCCalibGlobalMisalignment.h:11 AliTPCCalibGlobalMisalignment.h:12 AliTPCCalibGlobalMisalignment.h:13 AliTPCCalibGlobalMisalignment.h:14 AliTPCCalibGlobalMisalignment.h:15 AliTPCCalibGlobalMisalignment.h:16 AliTPCCalibGlobalMisalignment.h:17 AliTPCCalibGlobalMisalignment.h:18 AliTPCCalibGlobalMisalignment.h:19 AliTPCCalibGlobalMisalignment.h:20 AliTPCCalibGlobalMisalignment.h:21 AliTPCCalibGlobalMisalignment.h:22 AliTPCCalibGlobalMisalignment.h:23 AliTPCCalibGlobalMisalignment.h:24 AliTPCCalibGlobalMisalignment.h:25 AliTPCCalibGlobalMisalignment.h:26 AliTPCCalibGlobalMisalignment.h:27 AliTPCCalibGlobalMisalignment.h:28 AliTPCCalibGlobalMisalignment.h:29 AliTPCCalibGlobalMisalignment.h:30 AliTPCCalibGlobalMisalignment.h:31 AliTPCCalibGlobalMisalignment.h:32 AliTPCCalibGlobalMisalignment.h:33 AliTPCCalibGlobalMisalignment.h:34 AliTPCCalibGlobalMisalignment.h:35 AliTPCCalibGlobalMisalignment.h:36 AliTPCCalibGlobalMisalignment.h:37 AliTPCCalibGlobalMisalignment.h:38 AliTPCCalibGlobalMisalignment.h:39 AliTPCCalibGlobalMisalignment.h:40 AliTPCCalibGlobalMisalignment.h:41 AliTPCCalibGlobalMisalignment.h:42 AliTPCCalibGlobalMisalignment.h:43 AliTPCCalibGlobalMisalignment.h:44 AliTPCCalibGlobalMisalignment.h:45 AliTPCCalibGlobalMisalignment.h:46 AliTPCCalibGlobalMisalignment.h:47 AliTPCCalibGlobalMisalignment.h:48 AliTPCCalibGlobalMisalignment.h:49 AliTPCCalibGlobalMisalignment.h:50 AliTPCCalibGlobalMisalignment.h:51 AliTPCCalibGlobalMisalignment.h:52 AliTPCCalibGlobalMisalignment.h:53 AliTPCCalibGlobalMisalignment.h:54 AliTPCCalibGlobalMisalignment.h:55 AliTPCCalibGlobalMisalignment.h:56 AliTPCCalibGlobalMisalignment.h:57 AliTPCCalibGlobalMisalignment.h:58 AliTPCCalibGlobalMisalignment.h:59 AliTPCCalibGlobalMisalignment.h:60 AliTPCCalibGlobalMisalignment.h:61 AliTPCCalibGlobalMisalignment.h:62 AliTPCCalibGlobalMisalignment.h:63 AliTPCCalibGlobalMisalignment.h:64 AliTPCCalibGlobalMisalignment.h:65 AliTPCCalibGlobalMisalignment.h:66 AliTPCCalibGlobalMisalignment.h:67 AliTPCCalibGlobalMisalignment.h:68 AliTPCCalibGlobalMisalignment.h:69 AliTPCCalibGlobalMisalignment.h:70 AliTPCCalibGlobalMisalignment.h:71 AliTPCCalibGlobalMisalignment.h:72 AliTPCCalibGlobalMisalignment.h:73 AliTPCCalibGlobalMisalignment.h:74 AliTPCCalibGlobalMisalignment.h:75 AliTPCCalibGlobalMisalignment.h:76 AliTPCCalibGlobalMisalignment.h:77 AliTPCCalibGlobalMisalignment.h:78 AliTPCCalibGlobalMisalignment.h:79 AliTPCCalibGlobalMisalignment.h:80 AliTPCCalibGlobalMisalignment.h:81 AliTPCCalibGlobalMisalignment.h:82 AliTPCCalibGlobalMisalignment.h:83 AliTPCCalibGlobalMisalignment.h:84 AliTPCCalibGlobalMisalignment.h:85 AliTPCCalibGlobalMisalignment.h:86 AliTPCCalibGlobalMisalignment.h:87 AliTPCCalibGlobalMisalignment.h:88 AliTPCCalibGlobalMisalignment.h:89 AliTPCCalibGlobalMisalignment.h:90 AliTPCCalibGlobalMisalignment.h:91 AliTPCCalibGlobalMisalignment.h:92 AliTPCCalibGlobalMisalignment.h:93 AliTPCCalibGlobalMisalignment.h:94 AliTPCCalibGlobalMisalignment.h:95 AliTPCCalibGlobalMisalignment.h:96 AliTPCCalibGlobalMisalignment.h:97 AliTPCCalibGlobalMisalignment.h:98 AliTPCCalibGlobalMisalignment.h:99 AliTPCCalibGlobalMisalignment.h:100