AliRoot Core  3dc7879 (3dc7879)
AliTPCCalibGlobalMisalignment.h
Go to the documentation of this file.
1 #ifndef ALI_TPC_CALIB_GLOBAL_MISALIGNMENT_H
2 #define ALI_TPC_CALIB_GLOBAL_MISALIGNMENT_H
3 
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice */
6 
16 
17 #include "AliTPCCorrection.h"
18 #include "TVectorD.h"
19 class TGeoMatrix;
20 class TObjArray;
21 class TTreeSRedirector;
22 
23 
25 public:
28  virtual Bool_t AddCorrectionCompact(AliTPCCorrection* corr, Double_t weight);
29  // initialization and update functions
30  // virtual void Init();
31  // virtual void Update(const TTimeStamp &timeStamp);
32  void AddAlign(const AliTPCCalibGlobalMisalignment & add);
33  // setters and getters for misalignments
34  void SetXShift(Float_t xShift) {fXShift=xShift;}
35  void SetYShift(Float_t yShift) {fYShift=yShift;}
36  void SetZShift(Float_t zShift) {fZShift=zShift;}
37  void SetRotPhiA(Float_t rotPhiA) {fRotPhiA=rotPhiA;}
38  void SetRotPhiC(Float_t rotPhiC) {fRotPhiC=rotPhiC;}
39  void SetdRPhiOffsetA(Float_t dRPhiOffsetA) {fdRPhiOffsetA=dRPhiOffsetA;}
40  void SetdRPhiOffsetC(Float_t dRPhiOffsetC) {fdRPhiOffsetC=dRPhiOffsetC;}
41 
42  Float_t GetXShift() const {return fXShift;}
43  Float_t GetYShift() const {return fYShift;}
44  Float_t GetZShift() const {return fZShift;}
45  Float_t GetRotPhiA() const {return fRotPhiA;}
46  Float_t GetRotPhiC() const {return fRotPhiC;}
47  Float_t GetdRPhiOffsetA() const {return fdRPhiOffsetA;}
48  Float_t GetdRPhiOffsetC() const {return fdRPhiOffsetC;}
49  virtual void Print(Option_t* option="") const ;
50  void SetQuadranAlign(const TVectorD *quadrantQ0, const TVectorD *quadrantRQ0, const TVectorD *quadrantQ1,const TVectorD *quadrantRQ1, const TVectorD *quadrantQ2, const TVectorD *quadrantRQ2);
51  //
52  // Alignment manipulation using TGeoMatrix
53 
54  void SetAlignGlobal(const TGeoMatrix * matrixGlobal);
55  void SetAlignGlobalDelta(const TGeoMatrix * matrixGlobalDelta);
56  void SetAlignSectors(const TObjArray *arraySector);
57  TGeoMatrix* GetAlignGlobal() const {return fMatrixGlobal;}
58  TGeoMatrix* GetAlignGlobalDelta() const {return fMatrixGlobalDelta;}
60  //
64  //
65 protected:
66  virtual void GetCorrection(const Float_t x[],const Short_t roc,Float_t dx[]);
67 
68 private:
69  Float_t fXShift;
70  Float_t fYShift;
71  Float_t fZShift;
72 
73  Float_t fRotPhiA;
74  Float_t fRotPhiC;
75  Float_t fdRPhiOffsetA;
76  Float_t fdRPhiOffsetC;
77  //
78  // Quadrant alignment
79  //
80  TVectorD *fQuadrantQ0;
81  TVectorD *fQuadrantRQ0;
82  TVectorD *fQuadrantQ1;
83  TVectorD *fQuadrantQ2;
84  TVectorD *fQuadrantRQ1;
85  TVectorD *fQuadrantRQ2;
86  //
87  //
88  // Global alignment - use native ROOT representation
89  //
90  TGeoMatrix * fMatrixGlobal;
91  TGeoMatrix * fMatrixGlobalDelta;
93  //
99 };
100 
101 #endif
AliTPCCalibGlobalMisalignment & operator=(const AliTPCCalibGlobalMisalignment &)
void AddAlign(const AliTPCCalibGlobalMisalignment &add)
static AliTPCCalibGlobalMisalignment * CreateMeanAlign(const AliTPCCalibGlobalMisalignment *alignIn)
Float_t fRotPhiC
simple rotation of C side read-out plane around the Z axis [rad]
TObjArray * fArraySector
local Alignmnet Sector
void SetQuadranAlign(const TVectorD *quadrantQ0, const TVectorD *quadrantRQ0, const TVectorD *quadrantQ1, const TVectorD *quadrantRQ1, const TVectorD *quadrantQ2, const TVectorD *quadrantRQ2)
#define TObjArray
AliTPCcalibAlign align
Definition: CalibAlign.C:43
Float_t fYShift
Shift in global Y [cm].
virtual void GetCorrection(const Float_t x[], const Short_t roc, Float_t dx[])
Float_t fXShift
Shift in global X [cm].
TTreeSRedirector * pcstream
TVectorD * fQuadrantQ1
OROC long pads -delta ly+ - ly - shift.
virtual void Print(Option_t *option="") const
AliTPCCorrection class.
TVectorD * fQuadrantQ2
OROC long pads -shift.
static void DumpAlignment(AliTPCCalibGlobalMisalignment *align, TTreeSRedirector *pcstream, const char *name)
void SetAlignSectors(const TObjArray *arraySector)
TGeoMatrix * fMatrixGlobal
global Alignment common
void SetdRPhiOffsetA(Float_t dRPhiOffsetA)
Float_t fdRPhiOffsetA
add a constant offset of dRPhi (or local Y) in [cm]: purely for calibration purposes! ...
void SetAlignGlobalDelta(const TGeoMatrix *matrixGlobalDelta)
TGeoMatrix * fMatrixGlobalDelta
global Alignment common A side-C side
void SetAlignGlobal(const TGeoMatrix *matrixGlobal)
Float_t fZShift
Shift in global Z [cm].
virtual Bool_t AddCorrectionCompact(AliTPCCorrection *corr, Double_t weight)
void SetdRPhiOffsetC(Float_t dRPhiOffsetC)
Float_t fRotPhiA
simple rotation of A side read-out plane around the Z axis [rad]
TVectorD * fQuadrantRQ1
OROC long pads -delta ly+ - ly - rotation.
TVectorD * fQuadrantQ0
OROC medium pads -delta ly+ - ly - shift (cm)
static AliTPCCalibGlobalMisalignment * CreateOCDBAlign()
Float_t fdRPhiOffsetC
add a constant offset of dRPhi (or local Y) in [cm]: purely for calibration purposes! ...
TVectorD * fQuadrantRQ0
OROC medium pads -delta ly+ - ly - rotation (rad)
TVectorD * fQuadrantRQ2
OROC long pads -rotation.