]>
Commit | Line | Data |
---|---|---|
5f91c9e8 | 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 | ||
2998a151 | 11 | #ifndef ALI_MP_MOTIF_H |
12 | #define ALI_MP_MOTIF_H | |
5f91c9e8 | 13 | |
14 | #include <TObject.h> | |
5f91c9e8 | 15 | #include <TVector2.h> |
16 | ||
17 | #include "AliMpVMotif.h" | |
18 | ||
2998a151 | 19 | class TString; |
20 | ||
5f91c9e8 | 21 | class AliMpMotif : public AliMpVMotif |
22 | { | |
23 | public: | |
24 | AliMpMotif(const TString &id,AliMpMotifType *motifType, const TVector2& padDimension); | |
25 | AliMpMotif(); | |
2998a151 | 26 | virtual ~AliMpMotif(); |
5f91c9e8 | 27 | |
28 | // Access methods | |
29 | virtual Int_t GetNofPadDimensions() const; | |
2998a151 | 30 | virtual TVector2 GetPadDimensions(Int_t /*i*/ = 0) const; |
5f91c9e8 | 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 | ||
2998a151 | 51 | inline Int_t AliMpMotif::GetNofPadDimensions() const |
52 | { return 1; } | |
53 | ||
54 | inline TVector2 AliMpMotif::GetPadDimensions(Int_t /*i*/) const | |
55 | { return fPadDimensions; } | |
5f91c9e8 | 56 | |
2998a151 | 57 | #endif //ALI_MP_MOTIF_H |