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"
19 class AliMpVPadIterator;
21 class AliMpMotifPosition : public AliMpVIndexed
24 AliMpMotifPosition(Int_t id, AliMpVMotif* motif, Double_t x, Double_t y);
26 virtual ~AliMpMotifPosition();
29 virtual AliMpVPadIterator* CreateIterator() const;
33 AliMpVMotif* GetMotif() const;
34 Bool_t HasPadByIndices(MpPair_t indices) const;
35 Bool_t HasPadByManuChannel(Int_t manuChannel) const;
38 Double_t GetPositionX() const;
39 Double_t GetPositionY() const;
40 Double_t GetDimensionX() const;
41 Double_t GetDimensionY() const;
43 // Sets the ID (which is the MANU ID)
46 void SetPosition(Double_t x, Double_t y);
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 Double_t fPositionX; ///< x position
61 Double_t fPositionY; ///< y position
63 ClassDef(AliMpMotifPosition,2) // A motif position
68 /// Return motif position ID = manu id
69 inline Int_t AliMpMotifPosition::GetID() const
73 inline AliMpVMotif* AliMpMotifPosition::GetMotif() const
77 inline Double_t AliMpMotifPosition::GetPositionX() const
78 { return fPositionX; }
81 inline Double_t AliMpMotifPosition::GetPositionY() const
82 { return fPositionY; }
84 /// Return x dimension
85 inline Double_t AliMpMotifPosition::GetDimensionX() const
86 { return fMotif->DimensionX(); }
88 /// Return y dimension
89 inline Double_t AliMpMotifPosition::GetDimensionY() const
90 { return fMotif->DimensionY(); }
92 #endif //ALI_MP_MOTIF_POSITION_H