]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/Base/AliTPCCorrection.h
The speed-up of the Poisson relaxation was lost adding it back
[u/mrichter/AliRoot.git] / TPC / Base / AliTPCCorrection.h
index d1d55dd92f45b6ce3a47c647af488e28a09fc996..54400c352229e9119b52d667c7ce20b21807d0c3 100644 (file)
@@ -40,13 +40,16 @@ public:
 
   virtual void GetCorrectionDz(const Float_t x[],const Short_t roc,Float_t dx[], Float_t delta);
   virtual void GetCorrectionIntegralDz(const Float_t x[],const Short_t roc,Float_t dx[], Float_t delta);
-
+  
   // functions to distort a space point
           void DistortPoint (      Float_t x[],const Short_t roc);
           void DistortPointLocal(Float_t x[],const Short_t roc);
           void DistortPoint (const Float_t x[],const Short_t roc,Float_t xp[]);
   virtual void GetDistortion(const Float_t x[],const Short_t roc,Float_t dx[]);
 
+  virtual void GetDistortionDz(const Float_t x[],const Short_t roc,Float_t dx[], Float_t delta);
+  virtual void GetDistortionIntegralDz(const Float_t x[],const Short_t roc,Float_t dx[], Float_t delta);
+  
   // initialization and update functions
   virtual void Init();
   virtual void Update(const TTimeStamp &timeStamp);
@@ -84,6 +87,11 @@ public:
   //
   static Double_t GetCorrXYZDz(Double_t gx, Double_t gy, Double_t gz, Int_t axisType, Int_t corrType=0,Double_t delta=5);
   static Double_t GetCorrXYZIntegrateZ(Double_t gx, Double_t gy, Double_t gz, Int_t axisType, Int_t corrType=0, Double_t delta=5);
+
+  static Double_t GetDistXYZ(Double_t gx, Double_t gy, Double_t gz, Int_t axisType, Int_t corrType=0);
+  //
+  static Double_t GetDistXYZDz(Double_t gx, Double_t gy, Double_t gz, Int_t axisType, Int_t corrType=0,Double_t delta=5);
+  static Double_t GetDistXYZIntegrateZ(Double_t gx, Double_t gy, Double_t gz, Int_t axisType, Int_t corrType=0, Double_t delta=5);
   
 
 protected:
@@ -158,10 +166,12 @@ protected:
                            const Int_t rows, const Int_t columns,  const Int_t phislices, 
                            const Float_t deltaphi, const Int_t iterations, const Int_t summetry,
                            const Bool_t rocDisplacement = kTRUE); 
-    
+  void   SetIsLocal(Bool_t isLocal){fIsLocal=isLocal;}
+  Bool_t IsLocal() const  { return fIsLocal;}
 protected:
   Double_t fT1;         // tensor term of wt - T1
   Double_t fT2;         // tensor term of wt - T2
+  Bool_t fIsLocal;      // switch to indicate that the distortion is a local vector drphi/dz, dr/dz
   static TObjArray *fgVisualCorrection;  // array of orrection for visualization
 private:
   AliTPCCorrection(const AliTPCCorrection &);               // not implemented