LCOV - code coverage report
Current view: top level - TPC/TPCbase - AliTPCGGVoltError.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 12 8.3 %
Date: 2016-06-14 17:26:59 Functions: 1 13 7.7 %

          Line data    Source code
       1             : #ifndef ALI_TPCGG_VOLT_ERROR_H
       2             : #define ALI_TPCGG_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             : /// \class AliTPCGGVoltError
       8             : /// \brief AliTPCGGVoltError class
       9             : ///
      10             : /// The class calculates the electric field and the resulting space point distortions
      11             : /// due a Gating Grid (GG) voltage error. It uses the analytical solution for such a problem.
      12             : ///
      13             : /// The input is the effective GG voltage residual in respect to the ideal setting. The effective
      14             : /// residual voltage can be set via the functions SetDeltaVGGx. Note that this effective
      15             : /// voltage-residuals are approx. a factor 0.9 lower than the actual difference in the setting
      16             : /// of the GG due to the fact that the voltage on the GG is partially screened by the wire
      17             : /// structure. The calculation has to be performed with the observable effective voltage difference.
      18             : ///
      19             : /// Unfortunately, the class is not capable of calculation the $dz$ offset due to possible changes
      20             : /// of the drift velocity in dependence of the electric field. The special case of the numerical
      21             : /// approximation (AliTPCBoundaryVoltError), which is capable of calculating the same effect, should
      22             : /// be used for this purpose.
      23             : /// ![Picture from ROOT macro](AliTPCGGVoltError_h_359f7ec.png)
      24             : ///
      25             : /// \author Jim Thomas, Stefan Rossegger, Magnus Mager
      26             : /// \date 27/04/2010
      27             : 
      28             : 
      29             : #include "AliTPCCorrection.h"
      30             : 
      31             : class AliTPCGGVoltError : public AliTPCCorrection {
      32             : public:
      33             :   AliTPCGGVoltError();
      34             :   virtual ~AliTPCGGVoltError();
      35             : 
      36             :   // initialization and update functions
      37             :   virtual void Init();
      38             :   virtual void Update(const TTimeStamp &timeStamp);
      39             : 
      40             :   // common setters and getters for ExB
      41             :   virtual void SetOmegaTauT1T2(Float_t omegaTau,Float_t t1,Float_t t2) {
      42           0 :     fT1=t1; fT2=t2;
      43           0 :     const Double_t wt0=t2*omegaTau;     fC0=1./(1.+wt0*wt0);
      44           0 :     const Double_t wt1=t1*omegaTau;     fC1=wt1/(1.+wt1*wt1);
      45           0 :   };
      46             : 
      47           0 :   void SetC0C1(Double_t c0,Double_t c1) {fC0=c0;fC1=c1;} // CAUTION: USE WITH CARE
      48           0 :   Float_t GetC0() const {return fC0;}
      49           0 :   Float_t GetC1() const {return fC1;}
      50             : 
      51             :   // setters and getters for GG
      52           0 :   void SetDeltaVGGA(Double_t deltaVGGA) {fDeltaVGGA=deltaVGGA;}
      53           0 :   void SetDeltaVGGC(Double_t deltaVGGC) {fDeltaVGGC=deltaVGGC;}
      54           0 :   Double_t GetDeltaVGGA() const {return fDeltaVGGA;}
      55           0 :   Double_t GetDeltaVGGC() const {return fDeltaVGGC;}
      56             : 
      57             :   void InitGGVoltErrorDistortion();
      58             : 
      59             :   Float_t GetIntErOverEz(const Float_t x[],const Short_t roc);
      60             : 
      61             :   virtual void Print(const Option_t* option="") const;
      62             : 
      63             : protected:
      64             :   virtual void GetCorrection(const Float_t x[],const Short_t roc, Float_t dx[]);
      65             : private:
      66             : 
      67             :   Float_t fC0; ///< coefficient C0                 (compare Jim Thomas's notes for definitions)
      68             :   Float_t fC1; ///< coefficient C1                 (compare Jim Thomas's notes for definitions)
      69             : 
      70             :   Double_t fDeltaVGGA;            ///< Missmatch of gating grid voltage on A-side [V]
      71             :   Double_t fDeltaVGGC;            ///< Missmatch of gating grid voltage on C-side [V]
      72             :   Double_t fGGVoltErrorER[kNZ][kNR]; ///< Array to store electric field for GGVoltError calculation
      73             : 
      74             :   Bool_t fInitLookUp;             ///< flag to check it the Look Up table was created
      75             : 
      76             :   /// \cond CLASSIMP
      77          24 :   ClassDef(AliTPCGGVoltError,1);
      78             :   /// \endcond
      79             : };
      80             : 
      81             : #endif

Generated by: LCOV version 1.11