]>
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 | ||
26 | // common setters and getters for ExB | |
27 | virtual void SetOmegaTauT1T2(Float_t omegaTau,Float_t t1,Float_t t2) { | |
28 | const Double_t wt0=t2*omegaTau; | |
29 | fC0=1./(1.+wt0*wt0); | |
30 | const Double_t wt1=t1*omegaTau; | |
31 | fC1=wt1/(1.+wt1*wt1); | |
32 | }; | |
33 | ||
34 | void SetC0C1(Double_t c0,Double_t c1) {fC0=c0;fC1=c1;} // CAUTION: USE WITH CARE | |
35 | Float_t GetC0() const {return fC0;} | |
36 | Float_t GetC1() const {return fC1;} | |
37 | ||
38 | // setters and getters for GG | |
39 | void SetDeltaVGGA(Double_t deltaVGGA) {fDeltaVGGA=deltaVGGA;} | |
40 | void SetDeltaVGGC(Double_t deltaVGGC) {fDeltaVGGC=deltaVGGC;} | |
41 | Double_t GetDeltaVGGA() const {return fDeltaVGGA;} | |
42 | Double_t GetDeltaVGGC() const {return fDeltaVGGC;} | |
43 | ||
44 | void InitGGVoltErrorDistortion(); | |
45 | ||
46 | Float_t GetIntErOverEz(const Float_t x[],const Short_t roc); | |
47 | ||
48 | virtual void Print(Option_t* option="") const; | |
49 | ||
50 | protected: | |
51 | virtual void GetCorrection(const Float_t x[],const Short_t roc, Float_t dx[]); | |
52 | private: | |
53 | ||
54 | Float_t fC0; // coefficient C0 (compare Jim Thomas's notes for definitions) | |
55 | Float_t fC1; // coefficient C1 (compare Jim Thomas's notes for definitions) | |
56 | ||
57 | Double_t fDeltaVGGA; // Missmatch of gating grid voltage on A-side [V] | |
58 | Double_t fDeltaVGGC; // Missmatch of gating grid voltage on C-side [V] | |
59 | Double_t fGGVoltErrorER[kNZ][kNR]; // Array to store electric field for GGVoltError calculation | |
60 | ||
61 | ClassDef(AliTPCGGVoltError,1); | |
62 | }; | |
63 | ||
64 | #endif |