]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCExB.h
Replace plane by layer and chamber by stack
[u/mrichter/AliRoot.git] / TPC / AliTPCExB.h
index e8fd263046e116ff29d356c2f36537a4c5b83cc8..7e03b417fa2f4ada050cd98c73e4cd23d3cfaf56 100644 (file)
@@ -1,18 +1,30 @@
 #ifndef ALITPC_EXB
 #define ALITPC_EXB
 
-#include "AliCorrector.h"
+#include "TObject.h"
 
-class AliTPCExB:public AliCorrector {
+class AliTPCExB:public TObject {
 public:
   virtual ~AliTPCExB() {};
-  void SetDriftVelocity(Double_t driftVelocity) {
-    fDriftVelocity=driftVelocity;
-  };
-protected:
-  Double_t fDriftVelocity; // The electron drift velocity.
-  
-  ClassDef(AliTPCExB,1)
+  virtual void Correct(const Double_t *position,Double_t *corrected)=0;
+  virtual void CorrectInverse(const Double_t *position,Double_t *corrected) {
+    Correct(position,corrected);
+    for (Int_t i=0;i<3;++i)
+      corrected[i]=position[i]-(corrected[i]-position[i]);
+  }
+  //
+  // Test and visulaization
+  //
+  void TestExB(const char* fileName);
+  static Double_t GetDr(Double_t r, Double_t phi, Double_t z);
+  static Double_t GetDrphi(Double_t r, Double_t phi, Double_t z);
+  static Double_t GetDphi(Double_t r, Double_t phi, Double_t z);
+  static Double_t GetDz(Double_t r, Double_t phi, Double_t z);
+  static AliTPCExB*  Instance(){return fgInstance;}
+  static void SetInstance(AliTPCExB*param){fgInstance = param;}
+ protected:
+  static AliTPCExB*   fgInstance; //! Instance of this class (singleton implementation)
+  ClassDef(AliTPCExB,0)
 };
 
 #endif