]>
Commit | Line | Data |
---|---|---|
0116859c | 1 | #ifndef ALI_TPC_GG_VOLT_ERROR_H |
2 | #define ALI_TPC_GG_VOLT_ERROR_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 | // AliTPCGGVoltError class // | |
10 | // The class calculates the electric field and space point distortions // | |
11 | // due a Gating Grid (GG) Error voltage. It uses the exact calculation // | |
12 | // technique based on bessel functions. (original code from STAR) // | |
13 | // The class allows "effective Omega Tau" corrections. // | |
14 | // // | |
15 | // date: 27/04/2010 // | |
16 | // Authors: Jim Thomas, Stefan Rossegger, Magnus Mager // | |
17 | //////////////////////////////////////////////////////////////////////////// | |
18 | ||
19 | #include "AliTPCCorrection.h" | |
20 | ||
21 | class AliTPCGGVoltError : public AliTPCCorrection { | |
22 | public: | |
23 | AliTPCGGVoltError(); | |
24 | virtual ~AliTPCGGVoltError(); | |
25 | ||
e527a1b9 | 26 | // initialization and update functions |
27 | virtual void Init(); | |
28 | virtual void Update(const TTimeStamp &timeStamp); | |
29 | ||
0116859c | 30 | // common setters and getters for ExB |
31 | virtual void SetOmegaTauT1T2(Float_t omegaTau,Float_t t1,Float_t t2) { | |
32 | const Double_t wt0=t2*omegaTau; | |
33 | fC0=1./(1.+wt0*wt0); | |
34 | const Double_t wt1=t1*omegaTau; | |
35 | fC1=wt1/(1.+wt1*wt1); | |
36 | }; | |
37 | ||
38 | void SetC0C1(Double_t c0,Double_t c1) {fC0=c0;fC1=c1;} // CAUTION: USE WITH CARE | |
39 | Float_t GetC0() const {return fC0;} | |
40 | Float_t GetC1() const {return fC1;} | |
41 | ||
42 | // setters and getters for GG | |
43 | void SetDeltaVGGA(Double_t deltaVGGA) {fDeltaVGGA=deltaVGGA;} | |
44 | void SetDeltaVGGC(Double_t deltaVGGC) {fDeltaVGGC=deltaVGGC;} | |
45 | Double_t GetDeltaVGGA() const {return fDeltaVGGA;} | |
46 | Double_t GetDeltaVGGC() const {return fDeltaVGGC;} | |
47 | ||
48 | void InitGGVoltErrorDistortion(); | |
49 | ||
50 | Float_t GetIntErOverEz(const Float_t x[],const Short_t roc); | |
51 | ||
52 | virtual void Print(Option_t* option="") const; | |
53 | ||
54 | protected: | |
55 | virtual void GetCorrection(const Float_t x[],const Short_t roc, Float_t dx[]); | |
56 | private: | |
57 | ||
58 | Float_t fC0; // coefficient C0 (compare Jim Thomas's notes for definitions) | |
59 | Float_t fC1; // coefficient C1 (compare Jim Thomas's notes for definitions) | |
60 | ||
61 | Double_t fDeltaVGGA; // Missmatch of gating grid voltage on A-side [V] | |
62 | Double_t fDeltaVGGC; // Missmatch of gating grid voltage on C-side [V] | |
63 | Double_t fGGVoltErrorER[kNZ][kNR]; // Array to store electric field for GGVoltError calculation | |
64 | ||
65 | ClassDef(AliTPCGGVoltError,1); | |
66 | }; | |
67 | ||
68 | #endif |