Fixing a backward compatibility issue
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpVRowSegment.h
CommitLineData
dee1d5f1 1/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
3
5f91c9e8 4// $Id$
13985652 5// $MpId: AliMpVRowSegment.h,v 1.9 2006/05/24 13:58:21 ivana Exp $
dee1d5f1 6
7/// \ingroup sector
8/// \class AliMpVRowSegment
9/// \brief An interface for a row segment.
10///
13985652 11/// \author David Guez, Ivana Hrivnacova; IPN Orsay
5f91c9e8 12
13#ifndef ALI_MP_V_ROW_SEGMENT_H
14#define ALI_MP_V_ROW_SEGMENT_H
15
5f91c9e8 16#include "AliMpVIndexed.h"
5f91c9e8 17
18class AliMpRow;
19class AliMpVMotif;
20
21class AliMpVRowSegment : public AliMpVIndexed
22{
23 public:
24 AliMpVRowSegment();
25 virtual ~AliMpVRowSegment();
26
f5671fc3 27 //
5f91c9e8 28 // methods
f5671fc3 29 //
30
31 /// Return the x coordinate of the left border in the global coordinate system.
5f91c9e8 32 virtual Double_t LeftBorderX() const = 0;
f5671fc3 33 /// Return the x coordinate of the right border in the global coordinate system.
5f91c9e8 34 virtual Double_t RightBorderX() const = 0;
f5671fc3 35 /// Return the half size in y of this row segment.
5f91c9e8 36 virtual Double_t HalfSizeY() const = 0;
37 virtual AliMpVPadIterator* CreateIterator() const;
38
f5671fc3 39 //
5f91c9e8 40 // find methods
f5671fc3 41 //
42
43 /// Find the motif in the given positions
6e97fbb8 44 virtual AliMpVMotif* FindMotif(Double_t x, Double_t y) const = 0;
f5671fc3 45 /// Find the motif position Id in the given positions
6e97fbb8 46 virtual Int_t FindMotifPositionId(Double_t x, Double_t y) const = 0;
f5671fc3 47 /// Has the motif position with the given Id ?
5f91c9e8 48 virtual Bool_t HasMotifPosition(Int_t motifPositionId) const = 0;
6e97fbb8 49
50 /// Fill the coordinates of the motif specified with the given motif position Id
51 virtual void MotifCenter(Int_t motifPositionId,
52 Double_t& x, Double_t& y) const = 0;
5f91c9e8 53
f5671fc3 54 //
5f91c9e8 55 // geometry
f5671fc3 56 //
57
6e97fbb8 58 /// Return the x position of the row segment centre.
59 virtual Double_t GetPositionX() const = 0;
60 /// Return the y position of the row segment centre.
61 virtual Double_t GetPositionY() const = 0;
62
63 /// Return the x dimension of the row segment centre.
64 virtual Double_t GetDimensionX() const = 0;
65 /// Return the y dimension of the row segment centre.
66 virtual Double_t GetDimensionY() const = 0;
67
f5671fc3 68 //
5f91c9e8 69 // set methods
f5671fc3 70 //
71
72 /// Calculate offset
6e97fbb8 73 virtual void SetOffset(Double_t x, Double_t y) = 0;
f5671fc3 74 /// Set global indices limits.
580c28fd 75 virtual void SetGlobalIndices(AliMpRow* rowBefore) = 0;
f5671fc3 76 /// Set global indices to i-th motif position and returns next index in x.
168e9c4d 77 virtual Int_t SetIndicesToMotifPosition(Int_t i, MpPair_t indices) = 0;
5f91c9e8 78
f5671fc3 79 //
5f91c9e8 80 // get methods
f5671fc3 81 //
82
83 /// Return the row.which this row segment belongs to
5f91c9e8 84 virtual AliMpRow* GetRow() const = 0;
f5671fc3 85 /// Return the number of motifs in this this row segment.
5f91c9e8 86 virtual Int_t GetNofMotifs() const = 0;
f5671fc3 87 /// Return the i-th motif of this row segment.
5f91c9e8 88 virtual AliMpVMotif* GetMotif(Int_t i) const = 0;
f5671fc3 89 /// Return the i-th motif position Id of this row segment.
5f91c9e8 90 virtual Int_t GetMotifPositionId(Int_t i) const = 0;
91
92 ClassDef(AliMpVRowSegment,1) //Row segment
93};
94
95#endif //ALI_MP_V_ROW_SEGMENT_H
96