6d05fb6dbb9b3c09a6ceb6e55dd62bbbaaef7394
[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.8 2006/03/02 16:26:53 ivana Exp $
6
7 /// \ingroup basic
8 /// \class AliMpConstants
9 /// \brief Globally used constants definition.
10 ///
11 /// Authors: 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    NCh();
36   static Int_t    ManuMask(AliMpPlaneType planeType);
37   
38  private:
39   // unused derived functions
40   virtual Bool_t  IsEqual(const TObject*) const { return true; }
41  
42   // static data members
43   static const Double_t  fgkLengthTolerance;// the length precision for tests
44   static const Double_t  fgkLengthStep;     // the step in length used to move from
45                                             // a geometric border inside (pad, motif)
46   static const Int_t     fgkStartPadIndex;  // global pad indices start value
47   static const Int_t     fgkNCh;            // number of chambers
48   static const Int_t     fgkNonBendingManuMask; // bit to set to indicate a manu located in non-bending plane
49   
50   ClassDef(AliMpConstants,3) //Class for globally used constants definition
51 };
52
53 // inline functions
54
55 inline Double_t AliMpConstants::LengthTolerance() {return fgkLengthTolerance;}
56 inline Double_t AliMpConstants::LengthStep()      {return fgkLengthStep;}
57 inline Int_t    AliMpConstants::StartPadIndex()   {return fgkStartPadIndex;}
58 inline Int_t    AliMpConstants::NCh()             {return fgkNCh;}
59
60 #endif //ALI_MP_CONSTANTS_H
61