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

          Line data    Source code
       1             : #ifndef ALITPCBOUNDARYVOLTERROR_H
       2             : #define ALITPCBOUNDARYVOLTERROR_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 AliTPCBoundaryVoltError
       8             : ///
       9             : /// AliTPCBoundaryVoltError class
      10             : ///
      11             : /// \author Jim Thomas, Stefan Rossegger
      12             : /// \date 01/06/2010
      13             : 
      14             : #include "AliTPCCorrection.h"
      15             : 
      16             : 
      17             : class AliTPCBoundaryVoltError : public AliTPCCorrection {
      18             : public:
      19             :   AliTPCBoundaryVoltError();
      20             :   virtual ~AliTPCBoundaryVoltError();
      21             :   virtual Bool_t AddCorrectionCompact(AliTPCCorrection* corr, Double_t weight);
      22             :   // initialization and update functions
      23             :   virtual void Init();
      24             :   virtual void Update(const TTimeStamp &timeStamp);
      25             : 
      26             : 
      27             :   // common setters and getters for tangled ExB effect
      28             :   virtual void SetOmegaTauT1T2(Float_t omegaTau,Float_t t1,Float_t t2) {
      29           0 :     fT1=t1; fT2=t2;
      30           0 :     const Double_t wt0=t2*omegaTau;     fC0=1./(1.+wt0*wt0);
      31           0 :     const Double_t wt1=t1*omegaTau;     fC1=wt1/(1.+wt1*wt1);
      32           0 :   };
      33           0 :   void SetC0C1(Float_t c0,Float_t c1) {fC0=c0;fC1=c1;} // CAUTION: USE WITH CARE
      34           0 :   Float_t GetC0() const {return fC0;}
      35           0 :   Float_t GetC1() const {return fC1;}
      36             : 
      37             :   // setters and getters for conical
      38             :   void SetBoundariesA(Float_t boundariesA[8]);
      39             :   void SetBoundariesC(Float_t boundariesC[6]); // CE settings from the A side
      40           0 :   Float_t GetBoundariesA(Int_t i) const {return fBoundariesA[i]; }
      41           0 :   Float_t GetBoundariesC(Int_t i) const {return fBoundariesC[i]; }
      42             : 
      43             :   void SetROCDisplacement(Bool_t flag) { 
      44           0 :     if (flag!=fROCdisplacement) { fROCdisplacement = flag; fInitLookUp=kFALSE; }
      45           0 :   }
      46           0 :   Bool_t GetROCDisplacement() const { return fROCdisplacement; }
      47             : 
      48             :   void InitBoundaryVoltErrorDistortion();
      49             : 
      50             :   virtual void Print(const Option_t* option="") const;
      51             : 
      52             : protected:
      53             :   virtual void GetCorrection(const Float_t x[],const Short_t roc,Float_t dx[]);
      54             : 
      55             : private:
      56             :   Float_t fC0; ///< coefficient C0                 (compare Jim Thomas's notes for definitions)
      57             :   Float_t fC1; ///< coefficient C1                 (compare Jim Thomas's notes for definitions)
      58             :   Float_t  fBoundariesA[8];            ///< Boundary values on the A side (see Setter function)
      59             :   Float_t  fBoundariesC[8];            ///< Boundary values on the C side (see Setter function)
      60             : 
      61             :   Bool_t fROCdisplacement;      ///< flag for ROC displacement (important for z distortions)
      62             :   Bool_t fInitLookUp;           ///< flag to check it the Look Up table was created
      63             : 
      64             :   Double_t fLookUpErOverEz[kNZ][kNR];  ///< Array to store electric field integral (int Er/Ez)
      65             :   Double_t fLookUpDeltaEz[kNZ][kNR];   ///< Array to store electric field integral (int Delta Ez)
      66             : 
      67             :   // basic numbers for the poisson relaxation //can be set individually in each class
      68             :   enum {kRows   =257}; // grid size in r direction used in the poisson relaxation // ( 2**n + 1 ) eg. 65, 129, 257 etc.
      69             :   enum {kColumns=257}; // grid size in r direction used in the poisson relaxation // ( 2**m + 1 ) eg. 65, 129, 257 etc.
      70             :   enum {kIterations=100}; // Number of iterations within the poisson relaxation 
      71             : 
      72             :   /// \cond CLASSIMP
      73          24 :   ClassDef(AliTPCBoundaryVoltError,1); 
      74             :   /// \endcond
      75             : };
      76             : 
      77             : #endif

Generated by: LCOV version 1.11