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