]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/mapping/AliMpVMotif.h
Mapping test macros (D. Guez, I. Hrivnacova)
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpVMotif.h
CommitLineData
5f91c9e8 1// $Id$
2// Category: motif
3//
4// Class AliMpVMotif
5// -----------------
6// Class that defines a motif with its unique ID
7// and the motif type.
8//
9// Authors: David Guez, Ivana Hrivnacova; IPN Orsay
10
11#ifndef ALI_MP_V_MOTIF_H
12#define ALI_MP_V_MOTIF_H
13
14#include <TObject.h>
15#include <TString.h>
16#include <TVector2.h>
17
18class AliMpMotifType;
19class AliMpConnection;
20class AliMpIntPair;
21
22class AliMpVMotif : public TObject
23{
24 public:
25 AliMpVMotif(const TString &id, AliMpMotifType *motifType);
26 AliMpVMotif();
2998a151 27 virtual ~AliMpVMotif();
5f91c9e8 28
29 // Access methods
30 AliMpMotifType *GetMotifType() const;
31 TString GetID() const;
32 virtual Int_t GetNofPadDimensions() const=0;
33 virtual TVector2 GetPadDimensions(Int_t i) const=0;
34 virtual TVector2 GetPadDimensions(const AliMpIntPair& localIndices) const=0;
35
36 // Geometry
37 virtual TVector2 Dimensions() const=0;
38
39 // Other methods
40 AliMpConnection *FindConnectionByLocalPos(const TVector2& localPos) const;
41 virtual void Print(Option_t *option) const;
42 virtual TVector2 PadPositionLocal(const AliMpIntPair& localIndices) const=0;
43 virtual AliMpIntPair PadIndicesLocal(const TVector2& localPos) const=0;
44
fb1bf5c0 45 protected:
46 AliMpVMotif(const AliMpVMotif& right);
47 AliMpVMotif& operator = (const AliMpVMotif& right);
48
5f91c9e8 49 private:
50 // methods
51
52 // data members
53 TString fID; //identifier
54 AliMpMotifType *fMotifType; //the motif type
55
56 ClassDef(AliMpVMotif,1) // A motif with its ID
57};
58
59// inline functions
60
61inline AliMpMotifType* AliMpVMotif::GetMotifType() const {return fMotifType;}
62inline TString AliMpVMotif::GetID() const {return fID;}
63
64#endif //ALI_MP_V_MOTIF_H