from Alex Kalweit:
[u/mrichter/AliRoot.git] / TPC / AliTPCExBConical.h
1 #ifndef ALITPCEXBCONICAL_H
2 #define ALITPCEXBCONICAL_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 ////////////////////////////////////////////////////////////////////////////
8 //                                                                        //
9 // AliTPCExBConical class                                                   //
10 // date: 02/05/2010                                                       //
11 // Authors: Maarian Ivanov, Jim Thomas, Magnus Mager, Stefan Rossegger                    //
12 ////////////////////////////////////////////////////////////////////////////
13
14 #include "AliTPCCorrection.h"
15
16 class AliTPCExBConical : public AliTPCCorrection {
17 public:
18   AliTPCExBConical();
19   virtual ~AliTPCExBConical();
20
21   // initialization and update functions
22   virtual void Init();
23   virtual void Update(const TTimeStamp &timeStamp);
24
25
26   // common setters and getters for ExB
27   virtual void SetOmegaTauT1T2(Float_t omegaTau,Float_t t1,Float_t t2) {
28     fT1=t1; fT2=t2;
29     const Float_t wt1=t1*omegaTau;    fC1=wt1/(1.+wt1*wt1);
30     const Float_t wt2=t2*omegaTau;    fC2=wt2*wt2/(1.+wt2*wt2);
31   };
32   void SetC1C2(Float_t c1,Float_t c2) {fC1=c1;fC2=c2;} // CAUTION: USE WITH CARE
33   Float_t GetC1() const {return fC1;}
34   Float_t GetC2() const {return fC2;}
35
36   // setters and getters for conical
37   void SetConicalA(Float_t conicalA[3]);
38   void SetConicalC(Float_t conicalC[3]);
39   void SetConicalFactor(Float_t factor) { fConicalFactor=factor;}
40
41   Float_t GetConicalA(Int_t i) const {return fConicalA[i];}
42   Float_t GetConicalC(Int_t i) const {return fConicalC[i];}
43   Float_t GetConicalFactor() const {return fConicalFactor;}
44
45   virtual void Print(const Option_t* option="") const;
46
47 protected:
48   virtual void GetCorrection(const Float_t x[],const Short_t roc,Float_t dx[]);
49
50 private:
51   Float_t fC1; // coefficient C1                 (compare Jim Thomas's notes for definitions)
52   Float_t fC2; // coefficient C2                 (compare Jim Thomas's notes for definitions)
53   Float_t  fConicalFactor;                  // empirical factor - transform conical angle to delta
54   Float_t  fConicalA[3];               // Conical shape parameterization A side
55   Float_t  fConicalC[3];               // Conical shape parameterization C side
56
57   ClassDef(AliTPCExBConical,1);
58 };
59
60 #endif