1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
5 // $MpId: AliMpMotifPosition.h,v 1.9 2006/05/24 13:58:18 ivana Exp $
8 /// \class AliMpMotifPosition
9 /// \brief A placed motif.
11 /// \author David Guez, Ivana Hrivnacova; IPN Orsay
13 #ifndef ALI_MP_MOTIF_POSITION_H
14 #define ALI_MP_MOTIF_POSITION_H
16 #include "AliMpVIndexed.h"
17 #include "AliMpVMotif.h"
21 class AliMpVPadIterator;
23 class AliMpMotifPosition : public AliMpVIndexed
26 AliMpMotifPosition(Int_t id, AliMpVMotif* motif, TVector2 position);
28 virtual ~AliMpMotifPosition();
31 virtual AliMpVPadIterator* CreateIterator() const;
35 AliMpVMotif* GetMotif() const;
36 Bool_t HasPadByIndices(MpPair_t indices) const;
37 Bool_t HasPadByManuChannel(Int_t manuChannel) const;
40 TVector2 Position() const;
41 TVector2 Dimensions() const;
43 // Sets the ID (which is the MANU ID)
46 void SetPosition(const TVector2& pos);
48 void Print(Option_t* option="") const;
52 AliMpMotifPosition(const AliMpMotifPosition& right);
54 AliMpMotifPosition& operator = (const AliMpMotifPosition& right);
58 Int_t fID; ///< identifier=manu id
59 AliMpVMotif* fMotif; ///< motif
60 TVector2 fPosition; ///< position
62 ClassDef(AliMpMotifPosition,1) // A motif position
67 /// Return motif position ID = manu id
68 inline Int_t AliMpMotifPosition::GetID() const
72 inline AliMpVMotif* AliMpMotifPosition::GetMotif() const
76 inline TVector2 AliMpMotifPosition::Position() const
80 inline TVector2 AliMpMotifPosition::Dimensions() const
81 { return fMotif->Dimensions(); }
83 #endif //ALI_MP_MOTIF_POSITION_H