]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - MUON/mapping/AliMpVRowSegment.h
From Laurent
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpVRowSegment.h
... / ...
CommitLineData
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.6 2005/08/26 15:43:36 ivana Exp $
6
7/// \ingroup sector
8/// \class AliMpVRowSegment
9/// \brief An interface for a row segment.
10///
11/// Authors: David Guez, Ivana Hrivnacova; IPN Orsay
12
13#ifndef ALI_MP_V_ROW_SEGMENT_H
14#define ALI_MP_V_ROW_SEGMENT_H
15
16#include <TVector2.h>
17
18#include "AliMpVIndexed.h"
19#include "AliMpDirection.h"
20
21class AliMpRow;
22class AliMpVMotif;
23class AliMpIntPair;
24
25class AliMpVRowSegment : public AliMpVIndexed
26{
27 public:
28 AliMpVRowSegment();
29 virtual ~AliMpVRowSegment();
30
31 // methods
32 virtual Double_t LeftBorderX() const = 0;
33 virtual Double_t RightBorderX() const = 0;
34 virtual Double_t HalfSizeY() const = 0;
35 virtual AliMpVPadIterator* CreateIterator() const;
36
37 // find methods
38 virtual AliMpVMotif* FindMotif(const TVector2& position) const = 0;
39 virtual Int_t FindMotifPositionId(const TVector2& position) const = 0;
40 virtual Bool_t HasMotifPosition(Int_t motifPositionId) const = 0;
41 virtual TVector2 MotifCenter(Int_t motifPositionId) const = 0;
42
43 // geometry
44 virtual TVector2 Position() const = 0;
45 virtual TVector2 Dimensions() const = 0;
46
47 // set methods
48 virtual void SetOffset(const TVector2& offset) = 0;
49 virtual void SetGlobalIndices(AliMpRow* rowBefore) = 0;
50 virtual Int_t SetIndicesToMotifPosition(Int_t i,
51 const AliMpIntPair& indices) = 0;
52
53 // get methods
54 virtual AliMpRow* GetRow() const = 0;
55 virtual Int_t GetNofMotifs() const = 0;
56 virtual AliMpVMotif* GetMotif(Int_t i) const = 0;
57 virtual Int_t GetMotifPositionId(Int_t i) const = 0;
58
59 ClassDef(AliMpVRowSegment,1) //Row segment
60};
61
62#endif //ALI_MP_V_ROW_SEGMENT_H
63