]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCTransformation.h
update DHC task (Constantin Loizides <cloizides@lbl.gov>)
[u/mrichter/AliRoot.git] / TPC / AliTPCTransformation.h
index e805584d4b93246aca98bb7fbb10de4a70614c11..cb19422d7147623cbee69b7f66973580a4903355 100644 (file)
@@ -1,6 +1,17 @@
 #ifndef ALITPCTRANSFORMATION_H
 #define ALITPCTRANSFORMATION_H
 
+//-------------------------------------------------------
+//                       TPC transformations
+//   
+//
+//   Origin: marian.ivanov@cern.ch
+//           Code is not used anymore for the TPC corrections
+//           Obsolete - will be removed soon 
+// 
+//-------------------------------------------------------
+
+
 #include "TNamed.h"
 #include "TMatrixD.h"
 #include "TVectorD.h"
@@ -21,18 +32,24 @@ public:
   ~AliTPCTransformation();
   //
   virtual Double_t GetDeltaXYZ(Int_t coord, Int_t volID, Double_t param, Double_t x, Double_t y, Double_t z);
-  void SetParams(Double_t param, Double_t sigma, Double_t sigma2Time, TVectorD* fixedParams);
+  void SetParams(Double_t param, Double_t sigma, Double_t sigma2Time, const TVectorD *const fixedParams);
   Bool_t Init();
   void   SetActive(Bool_t flag){ fIsActive = flag;}
-  Bool_t IsActive(){return fIsActive;}
+  Bool_t IsActive() const {return fIsActive;}
   //
+  Double_t GetParam() const {return fParam;}
+  void SetParam(Double_t param) {fParam=param;}
+  Double_t GetSigma() const {return fSigma;}
+  Double_t GetSigmaMax() const {return fSigmaMax;}
+  Double_t GetSigma2Time() const {return fSigma2Time;}
   //
   static TBits * BitsSide(Bool_t aside);
   static TBits * BitsAll();
   static void RegisterFormula(const char * name, GenFuncG formula);
   static AliTPCTransformation::GenFuncG FindFormula(const char * name);
   static Double_t Eval(const char * name, const Double_t*x,const Double_t*par);
-public:
+
+ private:
   //
   TString  * fNameX;         // x formula
   TString  * fNameY;         // y formula
@@ -42,6 +59,7 @@ public:
   Int_t      fCoordSystem;   // coord system of  output deltas 
   Double_t   fParam;         // free parameter of transformation
   Double_t   fSigma;         // error of the parameter
+  Double_t   fSigmaMax;      // maximal sigma (Not allowed to increase in propagate time by bigger factor)
   Double_t   fSigma2Time;    // change of the error in time (per hour) - (For kalman filter) 
   TVectorD  *fFixedParam;    // fixed parameters of tranformation
   Bool_t     fIsActive;      // switch - is transformation active
@@ -49,26 +67,32 @@ public:
   // predefined formulas
   //
   static  Int_t          BuildBasicFormulas(); //build list of basic formulas
-  static  Double_t       TPCscalingRPol(Double_t *xyz, Double_t * param);
-  static  Double_t       TPCscalingZDrift(Double_t *xyz, Double_t * param);
-  static  Double_t       TPCscalingZDriftGy(Double_t *xyz, Double_t * param);
-  static  Double_t       TPCscalingZDriftT0(Double_t *xyz, Double_t * param);
-  static  Double_t       TPCscalingPhiLocal(Double_t *xyz, Double_t * param);
-  static  Double_t       TPClocalRPhiEdge(Double_t *xyz, Double_t * param);
+  static  Double_t       TPCscalingRPol(Double_t *xyz, const Double_t * const param);
+  static  Double_t       TPCscalingZDrift(Double_t *xyz, const Double_t * const param);
+  static  Double_t       TPCscalingZDriftGy(Double_t *xyz, const Double_t * const param);
+  static  Double_t       TPCscalingZDriftT0(Double_t *xyz, const Double_t * const param);
+  static  Double_t       TPCscalingPhiLocal(Double_t *xyz, const Double_t * const param);
+  static  Double_t       TPClocalRPhiEdge(Double_t *xyz, const Double_t *const param);
   //
   // TPC Field cage + ROC misalingment induced distortion
   //
-  static  Double_t       TPCscalingRIFC(Double_t *xyz, Double_t * param); // inner field cage r distorion
-  static  Double_t       TPCscalingROFC(Double_t *xyz, Double_t * param); // outer field cage r distorion
+  static  Double_t       TPCscalingRIFC(Double_t *xyz, const Double_t * const param); // inner field cage r distorion
+  static  Double_t       TPCscalingROFC(Double_t *xyz, const Double_t * const param); // outer field cage r distorion
+  //
+  // TPC field cage + ROC misalignemnt induced distortion
+  //
+  static  Double_t       TPCdeltaFCROC(Double_t *xyz, const Double_t *const param); 
+  static  Double_t       TPCdeltaFCCE(Double_t *xyz, const Double_t *const param); 
+
   //
   // TPC local misalignment
   //
-  static  Double_t       TPClocaldLxdGX(Double_t *xyz, Double_t * param);
-  static  Double_t       TPClocaldLxdGY(Double_t *xyz, Double_t * param);
-  static  Double_t       TPClocaldLydGX(Double_t *xyz, Double_t * param);
-  static  Double_t       TPClocaldLydGY(Double_t *xyz, Double_t * param);
-  static  Double_t       TPClocaldRzdGX(Double_t *xyz, Double_t * param);
-  static  Double_t       TPClocaldRzdGY(Double_t *xyz, Double_t * param);
+  static  Double_t       TPClocaldLxdGX(Double_t *xyz, const Double_t *const param);
+  static  Double_t       TPClocaldLxdGY(Double_t *xyz, const Double_t *const param);
+  static  Double_t       TPClocaldLydGX(Double_t *xyz, const Double_t *const param);
+  static  Double_t       TPClocaldLydGY(Double_t *xyz, const Double_t *const param);
+  static  Double_t       TPClocaldRzdGX(Double_t *xyz, const Double_t *const param);
+  static  Double_t       TPClocaldRzdGY(Double_t *xyz, const Double_t *const param);
 
   //
   // TPC  quadrant misalignment
@@ -78,9 +102,9 @@ public:
   //
   // Z shift -
   //
-  static  Double_t       TPCDeltaZ(Double_t *xyz, Double_t * param);
+  static  Double_t       TPCDeltaZ(Double_t *xyz, const Double_t *const param);
   static  Double_t       TPCDeltaZMediumLong(Double_t *xyz, Double_t * param);
-  static  Double_t       TPCTiltingZ(Double_t *xyz, Double_t * param);
+  static  Double_t       TPCTiltingZ(Double_t *xyz, const Double_t *const param);
   //
   Bool_t    fInit;          // initialization flag
   GenFuncG  fFormulaX;      //! x formula
@@ -88,10 +112,10 @@ public:
   GenFuncG  fFormulaZ;      //! z formula
   static  GenFuncG    fgFormulas[10000];   //! array of pointers to formula
   static  TObjArray*  fgFormulasName;      //! array of formalas name
-private:
+
   AliTPCTransformation &operator=(const AliTPCTransformation&);    // not implemented
 
-  ClassDef(AliTPCTransformation,1);
+  ClassDef(AliTPCTransformation,2);
 };
 
 #endif