LCOV - code coverage report
Current view: top level - TRD/TRDbase - AliTRDCommonParam.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 4 12 33.3 %
Date: 2016-06-14 17:26:59 Functions: 4 14 28.6 %

          Line data    Source code
       1             : #ifndef ALITRDCOMMONPARAM_H
       2             : #define ALITRDCOMMONPARAM_H
       3             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       4             :  * See cxx source for full Copyright notice                               */
       5             : 
       6             : ///////////////////////////////////////////////////////////////////////////////
       7             : //                                                                           //
       8             : // Class containing constant common parameters                               //
       9             : //                                                                           //
      10             : ///////////////////////////////////////////////////////////////////////////////
      11             : 
      12             : /* $Id$ */
      13             : 
      14             : #include "TObject.h"
      15             : 
      16             : #include "AliTRDSimParam.h"
      17             : 
      18             : class TRootIoCtor;
      19             : 
      20             : class AliTRDpadPlane;
      21             : 
      22             : class AliTRDCommonParam : public TObject
      23             : {
      24             : 
      25             :   public:
      26             :   
      27             :     enum { kNlayer  = 6
      28             :          , kNstack  = 5
      29             :          , kNsector = 18
      30             :          , kNdet    = 540 };
      31             : 
      32             :     enum { kXenon =   0
      33             :          , kArgon =   1   };
      34             :     
      35             :     AliTRDCommonParam(TRootIoCtor *);
      36             :     AliTRDCommonParam(const AliTRDCommonParam &p);   
      37             :     AliTRDCommonParam &operator=(const AliTRDCommonParam &p); 
      38             :     virtual        ~AliTRDCommonParam();
      39             : 
      40             :     static AliTRDCommonParam *Instance();
      41             :     static  void    Terminate();
      42             : 
      43             :     virtual void    Copy(TObject &p) const;
      44             :     
      45           0 :     void            SetExB(Int_t exbOn = 1)                        { fExBOn             = exbOn;    }
      46           0 :     void            SetSamplingFrequency(Float_t freq)             { fSamplingFrequency = freq;     }
      47           0 :     void            SetXenon()                                     { fGasMixture        = kXenon; 
      48           0 :                                                                      AliTRDSimParam::Instance()->ReInit(); }
      49           0 :     void            SetArgon()                                     { fGasMixture        = kArgon; 
      50           0 :                                                                      AliTRDSimParam::Instance()->ReInit(); }
      51             : 
      52     2344096 :     Bool_t          ExBOn() const                                  { return fExBOn;                 }
      53      206178 :     Bool_t          IsXenon() const                                { return (fGasMixture == kXenon) 
      54             :                                                                      ? kTRUE : kFALSE;              }
      55           0 :     Bool_t          IsArgon() const                                { return (fGasMixture == kArgon) 
      56             :                                                                      ? kTRUE : kFALSE;              }
      57             : 
      58           0 :     Int_t           GetGasMixture() const                          { return fGasMixture;            }
      59       38668 :     Float_t         GetSamplingFrequency() const                   { return fSamplingFrequency;     }
      60             : 
      61             :     Float_t         GetOmegaTau(Float_t vdrift);
      62             :     Bool_t          GetDiffCoeff(Float_t &dl, Float_t &dt, Float_t vdrift);
      63             : 
      64             :     Double_t        TimeStruct(Float_t vdrift, Double_t xd, Double_t z);
      65             : 
      66             :   protected:
      67             : 
      68             :     void            SampleTimeStruct(Float_t vdrift);
      69             : 
      70             :     static AliTRDCommonParam *fgInstance;          //  Instance of this class (singleton implementation)
      71             :     static Bool_t             fgTerminated;        //  Defines if this class has already been terminated    
      72             : 
      73             :     Int_t                     fExBOn;              //  Switch for the ExB effects
      74             : 
      75             :     Float_t                   fDiffusionT;         //  Transverse drift coefficient
      76             :     Float_t                   fDiffusionL;         //  Longitudinal drift coefficient
      77             :     Float_t                   fDiffLastVdrift;     //  The structures are valid for fLastVdrift (caching)
      78             : 
      79             :     Float_t                  *fTimeStruct1;        //! Time Structure of Drift Cells
      80             :     Float_t                  *fTimeStruct2;        //! Time Structure of Drift Cells
      81             :     Float_t                   fVDlo;               //  Lower drift velocity, for interpolation
      82             :     Float_t                   fVDhi;               //  Higher drift velocity, for interpolation
      83             :     Float_t                   fTimeLastVdrift;     //  The structures are valid for fLastVdrift (caching)
      84             : 
      85             :     Float_t                   fSamplingFrequency;  //  Sampling Frequency in MHz
      86             : 
      87             :     Int_t                     fGasMixture;         //  Gas mixture: 0-Xe/C02 1-Ar/CO2. 
      88             :   
      89             :   private:
      90             : 
      91             :     // This is a singleton, constructor is private!  
      92             :     AliTRDCommonParam();
      93             :   
      94          48 :     ClassDef(AliTRDCommonParam,7)                  // The constant parameters common to simulation and reconstruction
      95             : 
      96             : };
      97             : #endif

Generated by: LCOV version 1.11