]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/mapping/AliMpVMotif.h
Coding conventions corrections only
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpVMotif.h
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
18 class AliMpMotifType;
19 class AliMpConnection;
20 class AliMpIntPair;
21
22 class AliMpVMotif : public TObject
23 {
24  public:
25   AliMpVMotif(const TString &id, AliMpMotifType *motifType);
26   AliMpVMotif();
27   virtual ~AliMpVMotif();
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
45  private:
46   // methods
47
48   // data members 
49   TString         fID;            //identifier
50   AliMpMotifType *fMotifType;     //the motif type
51
52   ClassDef(AliMpVMotif,1) // A motif with its ID
53 };
54
55 // inline functions
56
57 inline  AliMpMotifType* AliMpVMotif::GetMotifType() const {return fMotifType;}
58 inline  TString  AliMpVMotif::GetID() const {return fID;}
59
60 #endif //ALI_MP_V_MOTIF_H