AliRoot Core  v5-06-15 (45dab64)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliMpVRowSegment.h
Go to the documentation of this file.
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2  * See cxx source for full Copyright notice */
3 
4 // $Id$
5 // $MpId: AliMpVRowSegment.h,v 1.9 2006/05/24 13:58:21 ivana Exp $
6 
12 
13 #ifndef ALI_MP_V_ROW_SEGMENT_H
14 #define ALI_MP_V_ROW_SEGMENT_H
15 
16 #include "AliMpVIndexed.h"
17 
18 class AliMpRow;
19 class AliMpVMotif;
20 
22 {
23  public:
25  virtual ~AliMpVRowSegment();
26 
27  //
28  // methods
29  //
30 
32  virtual Double_t LeftBorderX() const = 0;
34  virtual Double_t RightBorderX() const = 0;
36  virtual Double_t HalfSizeY() const = 0;
37  virtual AliMpVPadIterator* CreateIterator() const;
38 
39  //
40  // find methods
41  //
42 
44  virtual AliMpVMotif* FindMotif(Double_t x, Double_t y) const = 0;
46  virtual Int_t FindMotifPositionId(Double_t x, Double_t y) const = 0;
48  virtual Bool_t HasMotifPosition(Int_t motifPositionId) const = 0;
49 
51  virtual void MotifCenter(Int_t motifPositionId,
52  Double_t& x, Double_t& y) const = 0;
53 
54  //
55  // geometry
56  //
57 
59  virtual Double_t GetPositionX() const = 0;
61  virtual Double_t GetPositionY() const = 0;
62 
64  virtual Double_t GetDimensionX() const = 0;
66  virtual Double_t GetDimensionY() const = 0;
67 
68  //
69  // set methods
70  //
71 
73  virtual void SetOffset(Double_t x, Double_t y) = 0;
75  virtual void SetGlobalIndices(AliMpRow* rowBefore) = 0;
77  virtual Int_t SetIndicesToMotifPosition(Int_t i, MpPair_t indices) = 0;
78 
79  //
80  // get methods
81  //
82 
84  virtual AliMpRow* GetRow() const = 0;
86  virtual Int_t GetNofMotifs() const = 0;
88  virtual AliMpVMotif* GetMotif(Int_t i) const = 0;
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 
virtual AliMpVMotif * FindMotif(Double_t x, Double_t y) const =0
Find the motif in the given positions.
virtual Bool_t HasMotifPosition(Int_t motifPositionId) const =0
Has the motif position with the given Id ?
virtual void SetGlobalIndices(AliMpRow *rowBefore)=0
Set global indices limits.
virtual AliMpRow * GetRow() const =0
Return the row.which this row segment belongs to.
virtual Double_t GetDimensionX() const =0
Return the x dimension of the row segment centre.
virtual ~AliMpVRowSegment()
virtual Int_t SetIndicesToMotifPosition(Int_t i, MpPair_t indices)=0
Set global indices to i-th motif position and returns next index in x.
virtual void MotifCenter(Int_t motifPositionId, Double_t &x, Double_t &y) const =0
Fill the coordinates of the motif specified with the given motif position Id.
Base class that defines the limits of global pad indices.
Definition: AliMpVIndexed.h:22
An interface for a row segment.
virtual Double_t GetPositionX() const =0
Return the x position of the row segment centre.
virtual Double_t GetPositionY() const =0
Return the y position of the row segment centre.
An interface for an iterator over pads.
A row composed of the row segments.
Definition: AliMpRow.h:26
virtual Int_t GetMotifPositionId(Int_t i) const =0
Return the i-th motif position Id of this row segment.
virtual void SetOffset(Double_t x, Double_t y)=0
Calculate offset.
virtual Double_t GetDimensionY() const =0
Return the y dimension of the row segment centre.
Abstract base class for a motif with its unique ID and the motif type.
Definition: AliMpVMotif.h:24
Int_t MpPair_t
virtual Double_t HalfSizeY() const =0
Return the half size in y of this row segment.
virtual Double_t LeftBorderX() const =0
Return the x coordinate of the left border in the global coordinate system.
virtual AliMpVPadIterator * CreateIterator() const
Create iterator over this element.
virtual Int_t FindMotifPositionId(Double_t x, Double_t y) const =0
Find the motif position Id in the given positions.
virtual Double_t RightBorderX() const =0
Return the x coordinate of the right border in the global coordinate system.
virtual Int_t GetNofMotifs() const =0
Return the number of motifs in this this row segment.
virtual AliMpVMotif * GetMotif(Int_t i) const =0
Return the i-th motif of this row segment.