LCOV - code coverage report
Current view: top level - MUON/MUONbase - AliMUONConstants.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 36 45 80.0 %
Date: 2016-06-14 17:26:59 Functions: 36 53 67.9 %

          Line data    Source code
       1             : #ifndef ALIMUONCONSTANTS_H
       2             : #define ALIMUONCONSTANTS_H
       3             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       4             :  * See cxx source for full Copyright notice                               */
       5             : 
       6             : /* $Id$*/
       7             : // Revision of includes 07/05/2004
       8             : //
       9             : /// \ingroup base
      10             : /// \class AliMUONConstants
      11             : /// \brief MUON global constants
      12             : 
      13             : #include <TObject.h>
      14             : 
      15           0 : class AliMUONConstants : public TObject {
      16             :  public:
      17             :     /// Return number of chambers
      18             :   static Int_t    NCh();
      19             :     /// Return number of tracking chambers
      20             :   static Int_t    NTrackingCh();
      21             :     /// Return number of tracking stations
      22           0 :     static Int_t    NTrackingSt() {return fgNTrackingSt;}
      23             :     /// Return number of trigger chambers
      24      161440 :     static Int_t    NTriggerCh() {return NCh()-NTrackingCh();}
      25             :     /// Return number of trigger circuits
      26      322278 :     static Int_t    NTriggerCircuit() {return fgNTriggerCircuit;}
      27             :     /// Return number of detection element
      28           0 :     static Int_t    NDetElem() {return fgNDetElem;}
      29             :     /// Return number of geometry modules
      30      355524 :     static Int_t    NGeomModules() {return fgNGeomModules;}
      31             :     /// Return position of chamber i
      32        5708 :     static Float_t  DefaultChamberZ(Int_t i) {return fgDefaultChamberZ[i];}
      33             :     /// Return ratio between trigger chambers
      34          48 :     static Float_t  DefaultRatioTriggerChamber(Int_t i) {return fgDefaultRatioTriggerChamber[i];}
      35             :     /// Return Inclination with respect the vertical axis of stations 345
      36           8 :     static Float_t  St345Inclination()       {return fgSt345inclination;}
      37             :     /// Return pointer to array of positions
      38           0 :     static Float_t* DefaultChamberZ()        {return fgDefaultChamberZ;}
      39             :     /// Return chamber i inner diameter
      40          76 :     static Float_t  Dmin(Int_t i)            {return fgDmin[i];}
      41             :     /// Return chamber i inner radius
      42          76 :     static Float_t  Rmin(Int_t i)            {return Dmin(i)/2.0;}
      43             :     /// Return chamber i outer diameter
      44           8 :     static Float_t  Dmax(Int_t i)            {return fgDmax[i];}
      45             :     /// Return chamber i outer radius
      46           8 :     static Float_t  Rmax(Int_t i)            {return Dmax(i)/2.0;}
      47             :     /// Return maximum zoom for event display
      48           0 :     static Int_t    MaxZoom()                {return fgMaxZoom;}
      49             :     /// Return half-distance between two half-chambers
      50           6 :     static Float_t  DzCh()                   {return fgDzCh;}
      51             :     /// Return half-distance between two slats
      52           6 :     static Float_t  DzSlat()                 {return fgDzSlat;}
      53             :     /// Return chamber number according z position of hit.
      54             :     static  Int_t ChamberNumber(Float_t z, bool warn = false); 
      55             :     /// Return SqrtKx3 for Slat
      56         288 :     static Float_t SqrtKx3()                 {return fgSqrtKx3;}
      57             :     /// Return SqrtKy3 for Slat
      58         288 :     static Float_t SqrtKy3()                 {return fgSqrtKy3;}
      59             :     /// Return SqrtKx3 for Station 1 & 2
      60          56 :     static Float_t SqrtKx3St1()              {return fgSqrtKx3St1;}
      61             :     /// Return SqrtKy3 for Station 1 & 2
      62          56 :     static Float_t SqrtKy3St1()              {return fgSqrtKy3St1;}
      63             :     /// Return charge correlation (needed for response and for cluster finder !?)
      64           0 :     static Float_t ChargeCorrel()            {return fgChargeCorrel;}
      65             :     /// Return charge correlation for Station 1 & 2 (needed for response and for cluster finder !?)
      66           0 :     static Float_t ChargeCorrelSt1()         {return fgChargeCorrelSt1;}
      67             :     /// Return wire pitch
      68         292 :     static Float_t Pitch()    {return fgPitch;}
      69             :     /// Return wire pitch for Station 1 & 2
      70          58 :     static Float_t PitchSt1() {return fgPitchSt1;}
      71             :     /// Return coil z-position
      72          18 :     static Double_t CoilZ() {return fgCoilZ;}
      73             :     /// Return coil lenght
      74          18 :     static Double_t CoilL() {return fgCoilL;}
      75             :     /// Return yoke z-position
      76          18 :     static Double_t YokeZ() {return fgYokeZ;}
      77             :     /// Return yoke lenght
      78          18 :     static Double_t YokeL() {return fgYokeL;}
      79             :     /// Return z-position of absorber begining
      80         192 :     static Double_t AbsZBeg() {return fgkAbsZBeg;}
      81             :     /// Return z-position of absorber end
      82         224 :     static Double_t AbsZEnd() {return fgkAbsZEnd;}
      83             :     /// Return chamber thickness in X0
      84        3216 :     static Double_t ChamberThicknessInX0(Int_t chId) {return (chId >= 0 && chId < 10) ? fgChamberThicknessInX0[chId] : 0.;}
      85             :     /// Return Trigger ToF Limit (75 ns)
      86          64 :     static Float_t TriggerTofLimit() {return fgkTriggerTofLimit;}
      87             :     /// Return default trigger chamber resolution DUE TO ALIGNMENT ONLY in non bending direction
      88          28 :     static Double_t TriggerNonBendingReso() {return fgkTriggerNonBendingReso;}
      89             :     /// Return default trigger chamber resolution DUE TO ALIGNMENT ONLY in bending direction
      90          28 :     static Double_t TriggerBendingReso() {return fgkTriggerBendingReso;}
      91             :     /// Return z-position of muon filter begining
      92          32 :     static Double_t MuonFilterZBeg() {return fgkMuonFilterZBeg;}
      93             :     /// Return z-position of muon filter end
      94          32 :     static Double_t MuonFilterZEnd() {return fgkMuonFilterZEnd;}
      95             :     /// Return radiation length (in cm) of muon filter
      96          32 :     static Double_t MuonFilterX0() {return fgkMuonFilterX0;}
      97             : 
      98             :     /// Return the most probable bending momentum (GeV/c) (used when B = 0)
      99           0 :     static Double_t GetMostProbBendingMomentum() { return fgkMostProbBendingMomentum; }
     100             :       
     101             :     /// Return average arrival time to chamber i
     102         230 :     static Float_t  AverageChamberT(Int_t i) {return fgAverageChamberT[i];}
     103             :     /// Return a reduced total charge
     104             :     static Float_t  ReducedQTot(Float_t qtot, Float_t timeDif);
     105             : 
     106             :     // Return conversionfactor fc to adc
     107             :     static Float_t FC2ADC();
     108             :  
     109             :     // Return default a0
     110        7456 :     static Float_t DefaultA0() { return fgkDefaultA0; }
     111             :     // Return default adc2mv
     112        7456 :     static Float_t DefaultADC2MV() { return fgkDefaultADC2MV; }
     113             :     // Return default Capa
     114        7456 :     static Float_t DefaultCapa() { return fgkDefaultCapa; }
     115             : 
     116             :  protected:
     117             :     /// Default constructor
     118             :     AliMUONConstants() : TObject() {}
     119             :     /// Destructor
     120           0 :     virtual ~AliMUONConstants(){}
     121             : 
     122             :  private:
     123             :     static Int_t  fgNTrackingSt;        ///<  Number of Tracking Stations
     124             :     static Int_t  fgNTriggerCircuit;    ///<  Number of Trigger Circuits
     125             :     static Int_t  fgNDetElem;           ///<  Number of Detection Elements.
     126             :     static Int_t  fgNGeomModules;       ///<  Number of Geometry modules   
     127             : 
     128             :     static Float_t  fgDefaultChamberZ[14];              //!<! Z-positions of chambers
     129             :     static Float_t  fgDefaultChamberMinZ[14];           //!<! Minimum z-positions of chambers
     130             :     static Float_t  fgDefaultChamberMaxZ[14];           //!<! Maximum z-positions of chambers
     131             :     static Float_t  fgDefaultRatioTriggerChamber[4];    ///< Ratio between trigger chambers
     132             :     static Float_t  fgSt345inclination;                 //!<! Inclination with respect the vertical axis of stations 345
     133             :     static Float_t  fgDmin[7];                          //!<! Inner diameter
     134             :     static Float_t  fgDmax[7];                          //!<! Outer diameter
     135             : 
     136             :     static Float_t  fgDzCh;             ///< Half-distance between two half-chambers 
     137             :     static Float_t  fgDzSlat;           ///< Half-distance between two slat on the same chamber
     138             :     static Float_t  fgSqrtKx3;          ///< SqrtKx3 for St2 & Slat
     139             :     static Float_t  fgSqrtKy3;          ///< SqrtKy3 for St2 & Slat
     140             :     static Float_t  fgSqrtKx3St1;       ///< SqrtKx3 for Station 1 
     141             :     static Float_t  fgSqrtKy3St1;       ///< SqrtKy3 for Station 1 
     142             :  
     143             :     static Float_t  fgChargeCorrel;      ///< Charge correlation for St2 & Slats
     144             :     static Float_t  fgChargeCorrelSt1;   ///< Charge correlation for Station 1
     145             : 
     146             :     static Float_t  fgPitch;             ///< Wire pitch for St2 & Slats
     147             :     static Float_t  fgPitchSt1;          ///< Wire pitch for Station 1
     148             : 
     149             :     static Double_t  fgChamberThicknessInX0[10]; ///< default chamber thickness in X0 for reconstruction
     150             :     
     151             :     static Double_t fgCoilZ; ///< Coil z-position
     152             :     static Double_t fgCoilL; ///< Coil lenght
     153             :     static Double_t fgYokeZ; ///< Yoke z-position
     154             :     static Double_t fgYokeL; ///< Yoke lenght
     155             : 
     156             :     static const Double_t fgkAbsZBeg; ///< z-position of the begining of the absorber
     157             :     static const Double_t fgkAbsZEnd; ///< z-position of the end of the absorber
     158             :     
     159             :     static Int_t    fgMaxZoom;          ///< Maximum Zoom for event display
     160             :     static Float_t  fgkTriggerTofLimit; ///< Particle above this threshold are discarded in trigger algorithm
     161             :     
     162             :     static const Double_t fgkTriggerNonBendingReso; ///< default trigger chamber resolution in the non-bending direction, DUE TO ALIGNMENT ONLY
     163             :     static const Double_t fgkTriggerBendingReso; ///< default trigger chamber resolution in the bending direction, DUE TO ALIGNMENT ONLY 
     164             :     
     165             :     static const Double_t fgkMuonFilterZBeg; ///< z-position of the begining of the muon filter
     166             :     static const Double_t fgkMuonFilterZEnd; ///< z-position of the end of the muon filter
     167             :     static const Double_t fgkMuonFilterX0; ///< x0 of the muon filter
     168             :     
     169             :     static const Double_t fgkMostProbBendingMomentum; ///< most probable value (GeV/c) of muon momentum in bending plane (used when B = 0) needed to get some "reasonable" corrections for MCS and E loss even if B = 0
     170             : 
     171             :     static Float_t fgAverageChamberT[14]; ///<average arrival time to chamber
     172             :   
     173             :     static const Float_t fgkDefaultA0;     ///< Default gain A0
     174             :     static const Float_t fgkDefaultADC2MV; ///< Default ADC to mv conversion factor 
     175             :     static const Float_t fgkDefaultCapa;   ///< Default Capa
     176             : 
     177          18 :     ClassDef(AliMUONConstants, 0) // MUON global constants 
     178             : };
     179             :         
     180             : #endif
     181             : 

Generated by: LCOV version 1.11