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"
19 class AliMpConstants : public TObject
23 virtual ~AliMpConstants();
25 // static compare methods
26 static Bool_t IsEqual(Double_t length1, Double_t length2);
27 static Bool_t IsEqual(Double_t v1x, Double_t v1y,
28 Double_t v2x, Double_t v2y);
31 static Double_t LengthTolerance();
32 static Double_t LengthStep();
33 static Int_t StartPadIndex();
34 static Int_t NofCathodes();
35 static Int_t NofChambers();
36 static Int_t NofTrackingChambers();
37 static Int_t NofTriggerChambers();
38 static Int_t NofGeomModules();
39 static Int_t ManuMask(AliMp::PlaneType planeType);
40 static Int_t NofLocalBoards();
41 static Int_t TotalNofLocalBoards();
42 static Int_t ManuNofChannels();
43 static Int_t LocalBoardNofChannels();
46 /// unused derived functions
47 virtual Bool_t IsEqual(const TObject*) const { return true; }
49 // static data members
50 static const Double_t fgkLengthTolerance;///< the length precision for tests
51 static const Double_t fgkLengthStep; ///< \brief the step in length used to move from
52 /// a geometric border inside (pad, motif)
53 static const Int_t fgkStartPadIndex; ///< global pad indices start value
54 static const Int_t fgkNofCathodes; ///< number of cathodes
55 static const Int_t fgkNofChambers; ///< number of chambers
56 static const Int_t fgkNofTrackingChambers; ///< number of tracking chambers
57 static const Int_t fgkNofGeomModules; ///< number of geometry modules
58 static const Int_t fgkNonBendingManuMask; ///< bit to set to indicate a manu located in non-bending plane
59 static const Int_t fgkNofLocalBoards; ///< number of notified trigger local boards
60 static const Int_t fgkTotalNofLocalBoards; ///< total number of trigger local boards
61 static const Int_t fgkManuNofChannels; ///< max number of channels per manu
62 static const Int_t fgkLocalBoardNofChannels; ///< max number of channels per local trigger board
64 ClassDef(AliMpConstants,6) //Class for globally used constants definition
69 /// Return the length precision for tests
70 inline Double_t AliMpConstants::LengthTolerance() { return fgkLengthTolerance;}
71 /// Return the step in length used to move from a geometric border
72 inline Double_t AliMpConstants::LengthStep() { return fgkLengthStep;}
73 /// Return global pad indices start value
74 inline Int_t AliMpConstants::StartPadIndex() { return fgkStartPadIndex;}
75 /// Return number of cathodes
76 inline Int_t AliMpConstants::NofCathodes() { return fgkNofCathodes;}
77 /// Return number of chambers
78 inline Int_t AliMpConstants::NofChambers() { return fgkNofChambers;}
79 /// Return number of tracking chambers
80 inline Int_t AliMpConstants::NofTrackingChambers() { return fgkNofTrackingChambers;}
81 /// Return number of geometry modules
82 inline Int_t AliMpConstants::NofGeomModules() { return fgkNofGeomModules;}
83 /// Return number of trigger local boards
84 inline Int_t AliMpConstants::NofLocalBoards() { return fgkNofLocalBoards;}
85 /// Return total number of trigger local boards
86 inline Int_t AliMpConstants::TotalNofLocalBoards() { return fgkTotalNofLocalBoards;}
87 /// Max number of channels per manu
88 inline Int_t AliMpConstants::ManuNofChannels() { return fgkManuNofChannels; }
89 /// Max number of channels per local board
90 inline Int_t AliMpConstants::LocalBoardNofChannels() { return fgkLocalBoardNofChannels; }
92 #endif //ALI_MP_CONSTANTS_H