]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCCalibGlobalMisalignment.h
Removing obsolete macros
[u/mrichter/AliRoot.git] / TPC / AliTPCCalibGlobalMisalignment.h
index 12f3056114d6a810b4561d07233efb62ffeef15c..4e849f8d1e81007d9dee8bbd13b099791e795d25 100644 (file)
 ////////////////////////////////////////////////////////////////////////////
 
 #include "AliTPCCorrection.h"
+#include "TVectorD.h"
+class TGeoMatrix;
+class TObjArray;
+class TTreeSRedirector;
+
 
 class AliTPCCalibGlobalMisalignment : public AliTPCCorrection {
 public:
   AliTPCCalibGlobalMisalignment();
   virtual ~AliTPCCalibGlobalMisalignment();
-
+  
   // initialization and update functions
   //  virtual void Init();
   //  virtual void Update(const TTimeStamp &timeStamp);
-
+  void AddAlign(const  AliTPCCalibGlobalMisalignment & add);
   // setters and getters for misalignments
   void SetXShift(Float_t xShift) {fXShift=xShift;}
   void SetYShift(Float_t yShift) {fYShift=yShift;}
@@ -34,7 +39,7 @@ public:
   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;}
@@ -42,9 +47,22 @@ public:
   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);
+  // 
+  // Alignment manipulation using TGeoMatrix
+  
+  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[]);
 
@@ -57,8 +75,26 @@ private:
   Float_t fRotPhiC;      // simple rotation of C side read-out plane around the Z axis [rad]
   Float_t fdRPhiOffsetA;  // add a constant offset of dRPhi (or local Y) in [cm]: purely for calibration purposes!
   Float_t fdRPhiOffsetC;  // add a constant offset of dRPhi (or local Y) in [cm]: purely for calibration purposes!
-
-  ClassDef(AliTPCCalibGlobalMisalignment,1);
+  //
+  // Quadrant alignment
+  //
+  TVectorD *fQuadrantQ0;   //OROC medium pads -delta ly+ - ly - shift (cm)
+  TVectorD *fQuadrantRQ0;  //OROC medium pads -delta ly+ - ly - rotation (rad) 
+  TVectorD *fQuadrantQ1;   //OROC long   pads -delta ly+ - ly - shift
+  TVectorD *fQuadrantQ2;   //OROC long   pads -shift
+  TVectorD *fQuadrantRQ1;  //OROC long   pads -delta ly+ - ly - rotation
+  TVectorD *fQuadrantRQ2;  //OROC long   pads -rotation
+  // 
+  //
+  // Global alignment - use native ROOT representation
+  //
+  TGeoMatrix * fMatrixGlobal; // global Alignment common
+  TGeoMatrix * fMatrixGlobalDelta; // global Alignment common A side-C side
+  TObjArray   * fArraySector; //  local Alignmnet Sector
+  //
+  AliTPCCalibGlobalMisalignment& operator=(const AliTPCCalibGlobalMisalignment&);
+  AliTPCCalibGlobalMisalignment(const AliTPCCalibGlobalMisalignment&);
+  ClassDef(AliTPCCalibGlobalMisalignment,3);
 };
 
 #endif