1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
5 // $MpId: AliMpTriggerSegmentation.h,v 1.8 2006/05/24 13:58:27 ivana Exp $
8 /// \class AliMpTriggerSegmentation
9 /// \brief Implementation of AliMpVSegmentation for trigger slats.
11 // Author: Laurent Aphecetche
13 #ifndef ALI_MP_TRIGGER_SEGMENTATION_H
14 #define ALI_MP_TRIGGER_SEGMENTATION_H
20 #ifndef ALI_MP_V_SEGMENTATION_H
21 #include "AliMpVSegmentation.h"
28 class AliMpMotifPosition;
32 class AliMpTriggerSegmentation : public AliMpVSegmentation
35 AliMpTriggerSegmentation();
36 AliMpTriggerSegmentation(const AliMpTrigger* slat, Bool_t own = false);
37 virtual ~AliMpTriggerSegmentation();
39 virtual AliMpVPadIterator* CreateIterator(const AliMpArea& area) const;
40 virtual AliMpVPadIterator* CreateIterator() const;
41 virtual Int_t GetNeighbours(const AliMpPad& pad, TObjArray& neighbours,
42 Bool_t includeSelf=kFALSE,
43 Bool_t includeVoid=kFALSE) const;
44 const char* GetName() const;
46 Int_t MaxPadIndexX() const;
47 Int_t MaxPadIndexY() const;
48 Int_t NofPads() const { return fNofStrips; }
50 virtual AliMpPad PadByLocation(Int_t manuId, Int_t manuChannel,
51 Bool_t warning) const;
53 virtual AliMpPad PadByIndices(Int_t ix, Int_t iy,
54 Bool_t warning) const;
56 virtual AliMpPad PadByPosition(Double_t x, Double_t y,
57 Bool_t warning) const;
59 const AliMpTrigger* Slat() const;
61 virtual void GetAllElectronicCardIDs(TArrayI& ecn) const;
63 virtual AliMp::PlaneType PlaneType() const;
65 virtual AliMp::StationType StationType() const;
67 virtual Double_t GetDimensionX() const;
68 virtual Double_t GetDimensionY() const;
70 virtual Int_t GetNofElectronicCards() const;
72 virtual Double_t GetPositionX() const;
73 virtual Double_t GetPositionY() const;
75 virtual Bool_t HasMotifPosition(Int_t manuId) const;
77 virtual AliMpMotifPosition* MotifPosition(Int_t manuId) const;
81 AliMpTriggerSegmentation(const AliMpTriggerSegmentation& right);
83 AliMpTriggerSegmentation& operator = (const AliMpTriggerSegmentation& right);
85 const AliMpTrigger* fkSlat; ///< Slat
86 Bool_t fIsOwner;///< Trigger slat ownership
87 Int_t fNofStrips; ///< Number of strips in this slat
89 ClassDef(AliMpTriggerSegmentation,3) // Segmentation for slat trigger stations
92 /// Return station type
93 inline AliMp::StationType AliMpTriggerSegmentation::StationType() const
94 { return AliMp::kStationTrigger; }