LCOV - code coverage report
Current view: top level - TRD/TRDbase - AliTRDltuParam.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 9 20 45.0 %
Date: 2016-06-14 17:26:59 Functions: 9 26 34.6 %

          Line data    Source code
       1             : // This class is used in both AliRoot and libTRD. If you update it in
       2             : // one place you have to update also the other.
       3             : 
       4             : #ifndef ALITRDLTUPARAM_H
       5             : #define ALITRDLTUPARAM_H
       6             : 
       7             : #include "TObject.h"
       8             : 
       9           0 : class AliTRDltuParam : public TObject
      10             : {
      11             :  public:
      12             :   AliTRDltuParam();
      13             :   ~AliTRDltuParam();
      14             : 
      15             :   // configuration settings
      16             :   // called with special SCSN commands
      17           0 :   void SetPtMin(Int_t data)     { fPtMin = Float_t(data) / 1000.; }
      18           0 :   void SetMagField(Int_t data)  { fMagField = Float_t(data) / 1000.; }
      19           0 :   void SetOmegaTau(Int_t data)  { fOmegaTau = Float_t(data) / 1.e6; }
      20           2 :   void SetNtimebins(Int_t data) { fNtimebins = data; }
      21           0 :   void SetScaleQ0(Int_t data)   { fScaleQ0 = data; }
      22           0 :   void SetScaleQ1(Int_t data)   { fScaleQ1 = data; }
      23           0 :   void SetLengthCorrectionEnable(Int_t data) { fPidTracklengthCorr = Bool_t (data); }
      24           0 :   void SetTiltCorrectionEnable(Int_t data)   { fTiltCorr = Bool_t (data); }
      25           0 :   void SetPIDgainCorrectionEnable(Bool_t data)   { fPidGainCorr = data; }
      26             : 
      27             :   // set values directly
      28           2 :   void SetRawPtMin(Float_t data)     { fPtMin = data; }
      29           2 :   void SetRawMagField(Float_t data)  { fMagField = data; }
      30           2 :   void SetRawOmegaTau(Float_t data)  { fOmegaTau = data; }
      31           0 :   void SetRawNtimebins(Int_t data)   { fNtimebins = data; }
      32           2 :   void SetRawScaleQ0(Int_t data)     { fScaleQ0 = data; }
      33           2 :   void SetRawScaleQ1(Int_t data)     { fScaleQ1 = data; }
      34           1 :   void SetRawLengthCorrectionEnable(Bool_t data) { fPidTracklengthCorr = data; }
      35           1 :   void SetRawTiltCorrectionEnable(Bool_t data)   { fTiltCorr = data; }
      36           0 :   void SetRawPIDgainCorrectionEnable(Bool_t data)   { fPidGainCorr = data; }
      37             : 
      38             :   // retrieve the calculated information
      39             :   // which is written to the TRAPs
      40             :   Int_t GetDyCorrection(Int_t det, Int_t rob, Int_t mcm) const;
      41             :   void  GetDyRange(Int_t det, Int_t rob, Int_t mcm, Int_t ch, Int_t &dyMinInt, Int_t &dyMaxInt) const;
      42             :   void  GetCorrectionFactors(Int_t det, Int_t rob, Int_t mcm, Int_t ch,
      43             :                              UInt_t &cor0, UInt_t &cor1, Float_t gain = 1.) const;
      44             :   Int_t GetNtimebins() const;
      45             : 
      46             :   Float_t GetX(Int_t det, Int_t rob, Int_t mcm) const;
      47             :   Float_t GetLocalY(Int_t det, Int_t rob, Int_t mcm, Int_t ch) const;
      48             :   Float_t GetLocalZ(Int_t det, Int_t rob, Int_t mcm) const;
      49             : 
      50             :   Float_t GetDist(Int_t det, Int_t rob, Int_t mcm, Int_t ch) const;
      51             :   Float_t GetElongation(Int_t det, Int_t rob, Int_t mcm, Int_t ) const;
      52             :   Float_t GetPhi(Int_t det, Int_t rob, Int_t mcm, Int_t ch) const;
      53             :   Float_t GetPerp(Int_t det, Int_t rob, Int_t mcm, Int_t ch) const;
      54             : 
      55             :  protected:
      56             :   // geometry constants
      57             :   static Float_t fgZrow[6][5];             // z-position of pad row edge
      58             :   static Float_t fgX[6];                   // x-position for all layers
      59             :   static Float_t fgTiltingAngle[6];        // tilting angle for every layer
      60             :   static Float_t fgWidthPad[6];            // pad width for all layers
      61             :   static Float_t fgLengthInnerPadC0;       // inner pad length C0 chamber
      62             :   static Float_t fgLengthOuterPadC0;       // outer pad length C0 chamber
      63             :   static Float_t fgLengthInnerPadC1[6];    // inner pad length C1 chambers
      64             :   static Float_t fgLengthOuterPadC1[6];    // outer pad length C1 chambers
      65             :   static Float_t fgScalePad;               // scaling factor for pad width
      66             :   static Float_t fgDriftLength;            // length of the  parse gaintbl Krypton_2009-01 drift region
      67             :   static Float_t fgBinDy;                  // bin in dy (140 um)
      68             :   static Int_t   fgDyMax;                  // max dy for a tracklet (hard limit)
      69             :   static Int_t   fgDyMin;                  // min dy for a tracklet (hard limit)
      70             : 
      71             :   // settings
      72             :   Float_t fMagField;            // magnetic field
      73             :   Float_t fOmegaTau;            // omega tau, i.e. tan(Lorentz angle)
      74             :   Float_t fPtMin;               // min. pt for deflection cut
      75             :   Int_t   fNtimebins;           // drift time in units of timebins << 5n
      76             :   UInt_t  fScaleQ0;             // scale factor for accumulated charge Q0
      77             :   UInt_t  fScaleQ1;             // scale factor for accumulated charge Q1
      78             :   Bool_t  fPidTracklengthCorr;  // enable tracklet length correction
      79             :   Bool_t  fTiltCorr;            // enable tilt correction
      80             :   Bool_t  fPidGainCorr;         // enable MCM gain correction factor for PID
      81             : 
      82          48 :   ClassDef(AliTRDltuParam, 1);
      83             : };
      84             : 
      85             : #endif

Generated by: LCOV version 1.11