]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/mapping/AliMpConstants.h
Adding new option to get the DE by its name (moreover to get it by its ID).
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpConstants.h
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2  * See cxx source for full Copyright notice                               */
3
4 // $Id$
5 // $MpId: AliMpConstants.h,v 1.11 2006/05/24 13:58:07 ivana Exp $
6
7 /// \ingroup basic
8 /// \class AliMpConstants
9 /// \brief Globally used constants definition.
10 ///
11 /// \author David Guez, Ivana Hrivnacova; IPN Orsay
12
13 #ifndef ALI_MP_CONSTANTS_H
14 #define ALI_MP_CONSTANTS_H
15
16 #include <TObject.h>
17 #include "AliMpPlaneType.h"
18
19 class TVector2;
20
21 class AliMpConstants : public TObject
22 {
23  public:
24   AliMpConstants();
25   virtual ~AliMpConstants();
26
27   // static compare methods
28   static Bool_t  IsEqual(Double_t length1, Double_t length2);
29   static Bool_t  IsEqual(const TVector2& v1, const TVector2& v2);
30
31   // static get methods
32   static Double_t LengthTolerance();
33   static Double_t LengthStep();
34   static Int_t    StartPadIndex();
35   static Int_t    NofChambers();
36   static Int_t    NofTrackingChambers();
37   static Int_t    NofGeomModules();
38   static Int_t    ManuMask(AliMp::PlaneType planeType);
39   
40  private:
41                   /// unused derived functions
42   virtual Bool_t  IsEqual(const TObject*) const { return true; }
43  
44   // static data members
45   static const Double_t  fgkLengthTolerance;///< the length precision for tests
46   static const Double_t  fgkLengthStep;     ///< \brief the step in length used to move from
47                                             /// a geometric border inside (pad, motif)
48   static const Int_t     fgkStartPadIndex;  ///< global pad indices start value
49   static const Int_t     fgkNofChambers;    ///< number of chambers
50   static const Int_t     fgkNofTrackingChambers; ///< number of tracking chambers
51   static const Int_t     fgkNofGeomModules; ///< number of geometry modules
52   static const Int_t     fgkNonBendingManuMask; ///< bit to set to indicate a manu located in non-bending plane
53   
54   ClassDef(AliMpConstants,4) //Class for globally used constants definition
55 };
56
57 // inline functions
58
59                 /// Return the length precision for tests
60 inline Double_t AliMpConstants::LengthTolerance() { return fgkLengthTolerance;}
61                 /// Return the step in length used to move from a geometric border
62 inline Double_t AliMpConstants::LengthStep()      { return fgkLengthStep;}
63                 /// Return global pad indices start value
64 inline Int_t    AliMpConstants::StartPadIndex()   { return fgkStartPadIndex;}
65                 /// Return number of chambers
66 inline Int_t    AliMpConstants::NofChambers()     { return fgkNofChambers;}
67                 /// Return number of tracking chambers
68 inline Int_t    AliMpConstants::NofTrackingChambers() { return fgkNofTrackingChambers;}
69                 /// Return number of geometry modules
70 inline Int_t    AliMpConstants::NofGeomModules()  { return fgkNofGeomModules;}
71
72 #endif //ALI_MP_CONSTANTS_H
73