]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/mapping/AliMpMotif.h
Mapping test macros (D. Guez, I. Hrivnacova)
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpMotif.h
1 // $Id$
2 // Category: motif
3 //
4 // Class AliMpMotif
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_MOTIF_H
12 #define ALI_MP_MOTIF_H
13
14 #include <TObject.h>
15 #include <TVector2.h>
16
17 #include "AliMpVMotif.h"
18
19 class TString;
20
21 class AliMpMotif : public AliMpVMotif
22 {
23  public:
24   AliMpMotif(const TString &id,AliMpMotifType *motifType, const TVector2& padDimension);
25   AliMpMotif();
26   virtual ~AliMpMotif();
27
28   // Access methods
29   virtual Int_t    GetNofPadDimensions() const;
30   virtual TVector2 GetPadDimensions(Int_t /*i*/ = 0) const;
31   virtual TVector2 GetPadDimensions(const AliMpIntPair& localIndices) const;
32
33   // Geometry
34   virtual TVector2 Dimensions() const;
35
36   // Other methods
37   virtual TVector2 PadPositionLocal(const AliMpIntPair& localIndices) const;
38   virtual AliMpIntPair PadIndicesLocal(const TVector2& localPos) const;
39
40  private:
41   // methods
42
43   // data members 
44   TVector2    fPadDimensions; //pad dimensions (halflength x, y size) 
45
46   ClassDef(AliMpMotif,1) // A motif with its ID
47 };
48
49 // inline functions
50
51 inline Int_t    AliMpMotif::GetNofPadDimensions() const 
52 { return 1; }
53
54 inline TVector2 AliMpMotif::GetPadDimensions(Int_t /*i*/) const 
55 { return fPadDimensions; }  
56
57 #endif //ALI_MP_MOTIF_H