LCOV - code coverage report
Current view: top level - TPC/TPCbase - AliTPCExBBShape.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 6 11 54.5 %
Date: 2016-06-14 17:26:59 Functions: 4 12 33.3 %

          Line data    Source code
       1             : #ifndef ALI_TPC_EX_BB_SHAPE_H
       2             : #define ALI_TPC_EX_BB_SHAPE_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 AliTPCExBBShape
       8             : /// \brief AliExBBShape class
       9             : ///
      10             : /// The class calculates the space point distortions due to the B field
      11             : /// shape imperfections using a second order technique based on integrals
      12             : /// over Bz (e.g. int By/Bz) obtained via the AliMagF class. The essential
      13             : /// input for this class is the magnetic field maps which can be set via the function SetBField.
      14             : ///
      15             : /// The class allows "effective Omega Tau" corrections.
      16             : /// ![Picture from ROOT macro](AliTPCExBBShape_h_32a8c9f.png)
      17             : ///
      18             : /// \author Magnus Mager, Jim Thomas, Stefan Rossegger
      19             : /// \date 27/04/2010
      20             : 
      21             : #include "AliTPCCorrection.h"
      22             : 
      23             : class AliMagF;
      24             : 
      25             : class AliTPCExBBShape : public AliTPCCorrection {
      26             : public:
      27             :   AliTPCExBBShape();
      28             :   virtual ~AliTPCExBBShape();
      29             :   virtual Bool_t AddCorrectionCompact(AliTPCCorrection* corr, Double_t weight);
      30             : 
      31             :  // initialization and update functions
      32             :   virtual void Init();
      33             :   virtual void Update(const TTimeStamp &timeStamp);
      34             : 
      35             :   // common setters and getters for ExB
      36             :   virtual void SetOmegaTauT1T2(Float_t omegaTau,Float_t t1,Float_t t2) {
      37          18 :     fT1=t1; fT2=t2;
      38           9 :     const Float_t wt1=t1*omegaTau;    fC1=wt1/(1.+wt1*wt1);
      39           9 :     const Float_t wt2=t2*omegaTau;    fC2=wt2*wt2/(1.+wt2*wt2);
      40           9 :   };
      41           0 :   void SetC1C2(Float_t c1,Float_t c2) {fC1=c1;fC2=c2;} // CAUTION: USE WITH CARE
      42           0 :   Float_t GetC1() const {return fC1;}
      43           0 :   Float_t GetC2() const {return fC2;}
      44             : 
      45             :   // setters and getters for the magentic field map
      46          18 :   void SetBField(const AliMagF *bField) {fBField=(AliMagF*)bField;}
      47           0 :   AliMagF* GetBField() const {return fBField;}
      48             : 
      49             :   virtual void GetCorrection(const Float_t x[],const Short_t roc,Float_t dx[]);
      50             :   void GetBxAndByOverBz(const Float_t x[],const Short_t roc,Float_t BxByOverBz[]);
      51             : 
      52             :   virtual void Print(Option_t* option="") const;
      53             :   static Double_t GetBFieldXYZ(Double_t gx, Double_t gy, Double_t gz, Int_t axisType);
      54           0 :   Double_t GetScaling() const {return fScaling;}
      55             : private:
      56             :   Float_t fC1; ///< coefficient C1          (compare Jim Thomas's notes for definitions)
      57             :   Float_t fC2; ///< coefficient C2          (compare Jim Thomas's notes for definitions)
      58             :   Float_t fScaling; ///< scaling factor to rescale distortion    - for tests purposes only
      59             :   AliMagF *fBField;       ///< pointer to magnetic field
      60             : 
      61             :   AliTPCExBBShape & operator =(const AliTPCExBBShape &); // dummy assignment operator
      62             :   AliTPCExBBShape(const AliTPCExBBShape&); //dummy copy contructor
      63             : 
      64             :   /// \cond CLASSIMP
      65          36 :   ClassDef(AliTPCExBBShape,3);
      66             :   /// \endcond
      67             : };
      68             : 
      69             : #endif

Generated by: LCOV version 1.11