Line data Source code
1 : #ifndef ALITPCEXBEFFECTIVE_H
2 : #define ALITPCEXBEFFECTIVE_H
3 :
4 : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 : * See cxx source for full Copyright notice */
6 :
7 : /// \class AliTPCExBEffective
8 : ///
9 : /// \author Maarian Ivanov, Jim Thomas, Magnus Mager, Stefan Rossegger
10 : /// \date 02/05/2010
11 :
12 : #include "AliTPCCorrection.h"
13 :
14 : class AliTPCExBEffective : public AliTPCCorrection {
15 : public:
16 : AliTPCExBEffective();
17 : virtual ~AliTPCExBEffective();
18 : // initialization and update functions
19 : virtual void Init();
20 : virtual void Update(const TTimeStamp &timeStamp);
21 : // common setters and getters for ExB
22 : virtual void SetOmegaTauT1T2(Float_t omegaTau,Float_t t1,Float_t t2) {
23 18 : fT1=t1; fT2=t2;
24 9 : const Float_t wt1=t1*omegaTau; fC1=wt1/(1.+wt1*wt1);
25 9 : const Float_t wt2=t2*omegaTau; fC0=1/(1.+wt2*wt2);
26 9 : };
27 0 : Float_t GetC1() const {return fC1;}
28 0 : Float_t GetC0() const {return fC0;}
29 : Double_t GetSum(const TMatrixD& pol, const TMatrixD&coef, Double_t r, Double_t drift, Double_t phi, Int_t coord=0) const;
30 : void SetPolynoms(const TMatrixD *polA, const TMatrixD *polC);
31 : void SetCoeficients(const TMatrixD *valA,const TMatrixD *valC);
32 : void Print(const Option_t* option) const;
33 :
34 : public:
35 : virtual void GetCorrection(const Float_t x[],const Short_t roc,Float_t dx[]);
36 :
37 : private:
38 : Double_t fC0; ///< coefficient C0 (compare Jim Thomas's notes for definitions)
39 : Double_t fC1; ///< coefficient C1 (compare Jim Thomas's notes for definitions)
40 : TMatrixD *fPolynomA; ///< correction polynoms A
41 : TMatrixD *fPolynomC; ///< correction polynoms C
42 : TMatrixD *fPolynomValA; ///< correction polynoms coefficient A
43 : TMatrixD *fPolynomValC; ///< correction polynoms coefficient C
44 :
45 : AliTPCExBEffective(const AliTPCExBEffective&);
46 : AliTPCExBEffective &operator=(const AliTPCExBEffective&);
47 : /// \cond CLASSIMP
48 48 : ClassDef(AliTPCExBEffective,1);
49 : /// \endcond
50 : };
51 :
52 : #endif
|