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