]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCCalibGlobalMisalignment.h
Possibility to use TGeoMatrix functionality
[u/mrichter/AliRoot.git] / TPC / AliTPCCalibGlobalMisalignment.h
index 12f3056114d6a810b4561d07233efb62ffeef15c..0e2c30fe68efe932a58931320d92047471e411bc 100644 (file)
@@ -16,6 +16,9 @@
 ////////////////////////////////////////////////////////////////////////////
 
 #include "AliTPCCorrection.h"
+#include "TVectorD.h"
+class TGeoMatrix;
+
 
 class AliTPCCalibGlobalMisalignment : public AliTPCCorrection {
 public:
@@ -34,7 +37,8 @@ public:
   void SetRotPhiC(Float_t rotPhiC) {fRotPhiC=rotPhiC;}
   void SetdRPhiOffsetA(Float_t dRPhiOffsetA) {fdRPhiOffsetA=dRPhiOffsetA;}
   void SetdRPhiOffsetC(Float_t dRPhiOffsetC) {fdRPhiOffsetC=dRPhiOffsetC;}
-
+  void SetUseGeoManager(Bool_t useGeomanager) {fUseGeomanager = useGeomanager;}
+  
   Float_t GetXShift() const {return fXShift;}
   Float_t GetYShift() const {return fYShift;}
   Float_t GetZShift() const {return fZShift;}
@@ -42,9 +46,10 @@ public:
   Float_t GetRotPhiC() const {return fRotPhiC;}
   Float_t GetdRPhiOffsetA() const {return fdRPhiOffsetA;}
   Float_t GetdRPhiOffsetC() const {return fdRPhiOffsetC;}
-
+  Bool_t  GetUseGeoManager() const { return fUseGeomanager;}
   virtual void Print(Option_t* option="") const;
-
+  void SetQuadranAlign(const TVectorD *dq1, const TVectorD *dq2, const TVectorD *q2); 
+  void SetGlobalAlign(const TGeoMatrix * matrixGlobal, const TGeoMatrix *matrixA, const TGeoMatrix *matrixC );
 protected:
   virtual void GetCorrection(const Float_t x[],const Short_t roc,Float_t dx[]);
 
@@ -57,8 +62,23 @@ 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 *fQuadrantDQ1;   //OROC medium pads delta ly+ - ly-
+  TVectorD *fQuadrantDQ2;   //OROC long   pads delta ly+ - ly-
+  TVectorD *fQuadrantQ2;   //OROC long   pads - OROC medium pads
+  //
+  // Global alignment - use native ROOT representation
+  //
+  TGeoMatrix * fMatrixGlobal; // global Alignment common
+  TGeoMatrix * fMatrixASide; // global Alignment A side
+  TGeoMatrix * fMatrixCSide; // global Alignment C side
+  //
+  Bool_t  fUseGeomanager;  // switch to use GeoManager - for visualization purposes
+  AliTPCCalibGlobalMisalignment& operator=(const AliTPCCalibGlobalMisalignment&);
+  AliTPCCalibGlobalMisalignment(const AliTPCCalibGlobalMisalignment&);
+  ClassDef(AliTPCCalibGlobalMisalignment,2);
 };
 
 #endif