]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/MUONmapping/AliMpRow.h
Fixes for object target dependencies
[u/mrichter/AliRoot.git] / MUON / MUONmapping / AliMpRow.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: AliMpRow.h,v 1.11 2006/05/24 13:58:21 ivana Exp $
dee1d5f1 6
7/// \ingroup sector
8/// \class AliMpRow
9/// \brief A row composed of the row segments.
10///
13985652 11/// \author David Guez, Ivana Hrivnacova; IPN Orsay
5f91c9e8 12
13#ifndef ALI_MP_ROW_H
14#define ALI_MP_ROW_H
15
2a7ea2e6 16#include "AliMpVIndexed.h"
17#include "AliMpDirection.h"
5006ec94 18
5006ec94 19#include <TList.h>
5f91c9e8 20
21class AliMpVRowSegment;
22class AliMpVPadIterator;
23class AliMpMotifPosition;
24class AliMpMotifMap;
25
26class AliMpRow : public AliMpVIndexed
27{
28 public:
29 AliMpRow(Int_t id, AliMpMotifMap* motifMap);
30 AliMpRow();
31 virtual ~AliMpRow();
32
33 // methods
34 void AddRowSegment(AliMpVRowSegment* rowSegment);
35 void AddRowSegmentInFront(AliMpVRowSegment* rowSegment);
36 AliMpVRowSegment* FindRowSegment(Double_t x) const;
37 Double_t LowBorderY() const;
38 Double_t UpperBorderY() const;
39 virtual AliMpVPadIterator* CreateIterator() const;
40
6e97fbb8 41 void SetRowSegmentOffsets(Double_t offsetx);
5f91c9e8 42 Double_t SetOffsetY(Double_t offsetY);
43 void SetMotifPositions();
cddd101e 44 void SetGlobalIndices(AliMp::Direction constPadSizeDirection,
5f91c9e8 45 AliMpRow* rowBefore);
46
47 // geometry
6e97fbb8 48 Double_t GetPositionX() const;
49 Double_t GetPositionY() const;
50 Double_t GetDimensionX() const;
51 Double_t GetDimensionY() const;
5f91c9e8 52
53 // get methods
54 UInt_t GetID() const;
55 Int_t GetNofRowSegments() const;
56 AliMpVRowSegment* GetRowSegment(Int_t i) const;
57 AliMpMotifMap* GetMotifMap() const;
58
13e7956b 59 private:
f5671fc3 60 /// Not implemented
fb1bf5c0 61 AliMpRow(const AliMpRow& right);
f5671fc3 62 /// Not implemented
fb1bf5c0 63 AliMpRow& operator = (const AliMpRow& right);
64
5f91c9e8 65 // methods
66 AliMpVRowSegment* FindRowSegment(Int_t ix) const;
67 AliMpMotifPosition* FindMotifPosition(AliMpVRowSegment* segment, Int_t ix) const;
68 void SetHighIndicesLimits(Int_t iy);
69 void CheckEmpty() const;
70
71 // data members
829425a5 72 UInt_t fID; ///< row ID
73 Double_t fOffsetY; ///< the y position of the centre of motifs
2294822d 74 TList fSegments;///< row segments
829425a5 75 AliMpMotifMap* fMotifMap;///< the motif map associated with its sector
5f91c9e8 76
829425a5 77 ClassDef(AliMpRow,1) // Row
5f91c9e8 78};
79
80// inline functions
81
f5671fc3 82/// Return row ID
5f91c9e8 83inline UInt_t AliMpRow::GetID() const { return fID; }
f5671fc3 84
85/// Return the motif map associated with its sector
5f91c9e8 86inline AliMpMotifMap* AliMpRow::GetMotifMap() const { return fMotifMap; }
87
88#endif //ALI_MP_ROW_H
89