1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
5 // $MpId: AliMpTrigger.h,v 1.5 2006/05/24 13:58:27 ivana Exp $
8 /// \class AliMpTrigger
9 /// \brief A trigger slat
11 // Author: Laurent Aphecetche
13 #ifndef ALI_MP_TRIGGER_H
14 #define ALI_MP_TRIGGER_H
24 #ifndef ROOT_TObjArray
25 # include "TObjArray.h"
28 #ifndef ALI_MP_PLANE_TYPE
29 # include "AliMpPlaneType.h"
34 class AliMpVSegmentation;
37 class AliMpTrigger : public TObject
41 AliMpTrigger(const char* slatType, AliMp::PlaneType bendingOrNonBending);
42 virtual ~AliMpTrigger();
44 Bool_t AdoptLayer(AliMpSlat* slat);
46 void GetAllLocalBoardNumbers(TArrayI& lbn) const;
48 const char* GetID() const;
50 const char* GetName() const;
56 Double_t GetPositionX() const { return DX(); }
58 Double_t GetPositionY() const { return DY(); }
60 AliMpSlat* GetLayer(int layer) const;
61 AliMpVSegmentation* GetLayerSegmentation(int layer) const;
63 Int_t GetNofPadsX() const;
65 Int_t GetMaxNofPadsY() const;
67 /// Returns the number of layers.
68 Int_t GetSize() const;
70 void Print(Option_t* option="") const;
72 AliMp::PlaneType PlaneType() const;
74 // Return the x dimension (half-sizes) of that slat (cm)
75 Double_t GetDimensionX() const { return DX(); }
76 // Return the y dimension (half-sizes) of that slat (cm)
77 Double_t GetDimensionY() const { return DY(); }
81 Bool_t IsLayerValid(int layer) const;
83 TString fId; ///< name of that slat
84 AliMp::PlaneType fPlaneType; ///< bending or non-bending
85 TObjArray fSlats; ///< virtual slat composing this trigger slat
86 TObjArray fSlatSegmentations; ///< segmentations for virtual slats
87 Int_t fMaxNofPadsY; ///< max number of pads in y direction
88 Double_t fDX; ///< half-size in x (cm)
89 Double_t fDY; ///< half-size in y (cm)
91 ClassDef(AliMpTrigger,4) // Slat for trigger