1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
5 // $MpId: AliMpConstants.h,v 1.11 2006/05/24 13:58:07 ivana Exp $
8 /// \class AliMpConstants
9 /// \brief Globally used constants definition.
11 /// \author David Guez, Ivana Hrivnacova; IPN Orsay
13 #ifndef ALI_MP_CONSTANTS_H
14 #define ALI_MP_CONSTANTS_H
17 #include "AliMpPlaneType.h"
21 class AliMpConstants : public TObject
25 virtual ~AliMpConstants();
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);
32 static Double_t LengthTolerance();
33 static Double_t LengthStep();
34 static Int_t StartPadIndex();
35 static Int_t NofCathodes();
36 static Int_t NofChambers();
37 static Int_t NofTrackingChambers();
38 static Int_t NofTriggerChambers();
39 static Int_t NofGeomModules();
40 static Int_t ManuMask(AliMp::PlaneType planeType);
41 static Int_t NofLocalBoards();
42 static Int_t TotalNofLocalBoards();
43 static Int_t ManuNofChannels();
44 static Int_t LocalBoardNofChannels();
47 /// unused derived functions
48 virtual Bool_t IsEqual(const TObject*) const { return true; }
50 // static data members
51 static const Double_t fgkLengthTolerance;///< the length precision for tests
52 static const Double_t fgkLengthStep; ///< \brief the step in length used to move from
53 /// a geometric border inside (pad, motif)
54 static const Int_t fgkStartPadIndex; ///< global pad indices start value
55 static const Int_t fgkNofCathodes; ///< number of cathodes
56 static const Int_t fgkNofChambers; ///< number of chambers
57 static const Int_t fgkNofTrackingChambers; ///< number of tracking chambers
58 static const Int_t fgkNofGeomModules; ///< number of geometry modules
59 static const Int_t fgkNonBendingManuMask; ///< bit to set to indicate a manu located in non-bending plane
60 static const Int_t fgkNofLocalBoards; ///< number of notified trigger local boards
61 static const Int_t fgkTotalNofLocalBoards; ///< total number of trigger local boards
62 static const Int_t fgkManuNofChannels; ///< max number of channels per manu
63 static const Int_t fgkLocalBoardNofChannels; ///< max number of channels per local trigger board
65 ClassDef(AliMpConstants,6) //Class for globally used constants definition
70 /// Return the length precision for tests
71 inline Double_t AliMpConstants::LengthTolerance() { return fgkLengthTolerance;}
72 /// Return the step in length used to move from a geometric border
73 inline Double_t AliMpConstants::LengthStep() { return fgkLengthStep;}
74 /// Return global pad indices start value
75 inline Int_t AliMpConstants::StartPadIndex() { return fgkStartPadIndex;}
76 /// Return number of cathodes
77 inline Int_t AliMpConstants::NofCathodes() { return fgkNofCathodes;}
78 /// Return number of chambers
79 inline Int_t AliMpConstants::NofChambers() { return fgkNofChambers;}
80 /// Return number of tracking chambers
81 inline Int_t AliMpConstants::NofTrackingChambers() { return fgkNofTrackingChambers;}
82 /// Return number of geometry modules
83 inline Int_t AliMpConstants::NofGeomModules() { return fgkNofGeomModules;}
84 /// Return number of trigger local boards
85 inline Int_t AliMpConstants::NofLocalBoards() { return fgkNofLocalBoards;}
86 /// Return total number of trigger local boards
87 inline Int_t AliMpConstants::TotalNofLocalBoards() { return fgkTotalNofLocalBoards;}
88 /// Max number of channels per manu
89 inline Int_t AliMpConstants::ManuNofChannels() { return fgkManuNofChannels; }
90 /// Max number of channels per local board
91 inline Int_t AliMpConstants::LocalBoardNofChannels() { return fgkLocalBoardNofChannels; }
93 #endif //ALI_MP_CONSTANTS_H