]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/mapping/AliMpVMotif.h
PadByLocation() - pass warning parameter to sector segmentation
[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();
27
28 // Access methods
29 AliMpMotifType *GetMotifType() const;
30 TString GetID() const;
31 virtual Int_t GetNofPadDimensions() const=0;
32 virtual TVector2 GetPadDimensions(Int_t i) const=0;
33 virtual TVector2 GetPadDimensions(const AliMpIntPair& localIndices) const=0;
34
35 // Geometry
36 virtual TVector2 Dimensions() const=0;
37
38 // Other methods
39 AliMpConnection *FindConnectionByLocalPos(const TVector2& localPos) const;
40 virtual void Print(Option_t *option) const;
41 virtual TVector2 PadPositionLocal(const AliMpIntPair& localIndices) const=0;
42 virtual AliMpIntPair PadIndicesLocal(const TVector2& localPos) const=0;
43
44 private:
45 // methods
46
47 // data members
48 TString fID; //identifier
49 AliMpMotifType *fMotifType; //the motif type
50
51 ClassDef(AliMpVMotif,1) // A motif with its ID
52};
53
54// inline functions
55
56inline AliMpMotifType* AliMpVMotif::GetMotifType() const {return fMotifType;}
57inline TString AliMpVMotif::GetID() const {return fID;}
58
59#endif //ALI_MP_V_MOTIF_H