1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
5 // $MpId: AliMpVRowSegment.h,v 1.9 2006/05/24 13:58:21 ivana Exp $
8 /// \class AliMpVRowSegment
9 /// \brief An interface for a row segment.
11 /// \author David Guez, Ivana Hrivnacova; IPN Orsay
13 #ifndef ALI_MP_V_ROW_SEGMENT_H
14 #define ALI_MP_V_ROW_SEGMENT_H
16 #include "AliMpVIndexed.h"
24 class AliMpVRowSegment : public AliMpVIndexed
28 virtual ~AliMpVRowSegment();
34 /// Return the x coordinate of the left border in the global coordinate system.
35 virtual Double_t LeftBorderX() const = 0;
36 /// Return the x coordinate of the right border in the global coordinate system.
37 virtual Double_t RightBorderX() const = 0;
38 /// Return the half size in y of this row segment.
39 virtual Double_t HalfSizeY() const = 0;
40 virtual AliMpVPadIterator* CreateIterator() const;
46 /// Find the motif in the given positions
47 virtual AliMpVMotif* FindMotif(const TVector2& position) const = 0;
48 /// Find the motif position Id in the given positions
49 virtual Int_t FindMotifPositionId(const TVector2& position) const = 0;
50 /// Has the motif position with the given Id ?
51 virtual Bool_t HasMotifPosition(Int_t motifPositionId) const = 0;
52 /// Return the coordinates of the motif specified with the given motif position Id
53 virtual TVector2 MotifCenter(Int_t motifPositionId) const = 0;
59 /// Return the position of the row segment centre.
60 virtual TVector2 Position() const = 0;
61 /// Return the dimensions the row segment centre.
62 virtual TVector2 Dimensions() const = 0;
69 virtual void SetOffset(const TVector2& offset) = 0;
70 /// Set global indices limits.
71 virtual void SetGlobalIndices(AliMpRow* rowBefore) = 0;
72 /// Set global indices to i-th motif position and returns next index in x.
73 virtual Int_t SetIndicesToMotifPosition(Int_t i,
74 const AliMpIntPair& indices) = 0;
80 /// Return the row.which this row segment belongs to
81 virtual AliMpRow* GetRow() const = 0;
82 /// Return the number of motifs in this this row segment.
83 virtual Int_t GetNofMotifs() const = 0;
84 /// Return the i-th motif of this row segment.
85 virtual AliMpVMotif* GetMotif(Int_t i) const = 0;
86 /// Return the i-th motif position Id of this row segment.
87 virtual Int_t GetMotifPositionId(Int_t i) const = 0;
89 ClassDef(AliMpVRowSegment,1) //Row segment
92 #endif //ALI_MP_V_ROW_SEGMENT_H