Coding conventions (Laurent)
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpTrigger.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: AliMpTrigger.h,v 1.2 2006/03/02 16:35:27 ivana Exp $
6
7 /// \ingroup trigger
8 /// \class AliMpTrigger
9 /// \brief A trigger slat
10 /// \author Laurent Aphecetche
11
12 #ifndef ALI_MP_TRIGGER_H
13 #define ALI_MP_TRIGGER_H
14
15 #ifndef ROOT_TObject
16 #  include "TObject.h"
17 #endif
18
19 #ifndef ROOT_TString
20 #  include "TString.h"
21 #endif
22
23 #ifndef ROOT_TObjArray
24 #  include "TObjArray.h"
25 #endif
26
27 #ifndef ROOT_TVector2
28 #  include "TVector2.h"
29 #endif
30
31 #ifndef ALI_MP_PLANE_TYPE
32 #  include "AliMpPlaneType.h"
33 #endif
34
35 class AliMpPCB;
36 class AliMpSlat;
37 class TArrayI;
38
39 class AliMpTrigger : public TObject
40 {
41 public:
42   AliMpTrigger();
43   AliMpTrigger(const char* slatType, AliMpPlaneType bendingOrNonBending);
44   virtual ~AliMpTrigger();
45   
46   Bool_t AdoptLayer(AliMpSlat* slat);
47     
48   void GetAllLocalBoardNumbers(TArrayI& lbn) const;
49   
50   const char* GetID() const;
51   
52   const char* GetName() const;
53
54   Double_t DX() const;
55   Double_t DY() const;
56   
57   TVector2 Position() const;
58   
59   AliMpSlat* GetLayer(int layer) const;
60   
61   Int_t GetNofPadsX() const;
62   
63   Int_t GetMaxNofPadsY() const;
64   
65   /// Returns the number of layers.
66   Int_t GetSize() const;
67   
68   void Print(Option_t* option="") const;
69
70   AliMpPlaneType PlaneType() const;
71   
72   TVector2 Dimensions() const;
73   
74 private:
75     
76   Bool_t IsLayerValid(int layer) const;
77   
78   TString fId; //! name of that slat
79   AliMpPlaneType fPlaneType; //! bending or non-bending
80   TObjArray fSlats; //! virtual slat composing this trigger slat
81   Int_t fMaxNofPadsY; //! max number of pads in y direction
82   Double_t fDX; //! half-size in x (cm)
83   Double_t fDY; //! half-size in y (cm)
84   
85   ClassDef(AliMpTrigger,1) // Slat for trigger
86 };
87
88 #endif