]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCCalibGlobalMisalignment.h
Add histograms with masked regions due to frame, setting of the regions added, some...
[u/mrichter/AliRoot.git] / TPC / AliTPCCalibGlobalMisalignment.h
index 0e2c30fe68efe932a58931320d92047471e411bc..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;}
@@ -37,7 +39,6 @@ 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;}
@@ -46,10 +47,22 @@ 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 );
+  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[]);
 
@@ -65,20 +78,23 @@ private:
   //
   // 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
+  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 * fMatrixASide; // global Alignment A side
-  TGeoMatrix * fMatrixCSide; // global Alignment C side
+  TGeoMatrix * fMatrixGlobalDelta; // global Alignment common A side-C side
+  TObjArray   * fArraySector; //  local Alignmnet Sector
   //
-  Bool_t  fUseGeomanager;  // switch to use GeoManager - for visualization purposes
   AliTPCCalibGlobalMisalignment& operator=(const AliTPCCalibGlobalMisalignment&);
   AliTPCCalibGlobalMisalignment(const AliTPCCalibGlobalMisalignment&);
-  ClassDef(AliTPCCalibGlobalMisalignment,2);
+  ClassDef(AliTPCCalibGlobalMisalignment,3);
 };
 
 #endif