Code for MUON Station1 (I.Hrivnacova)
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpMotifSpecial.h
CommitLineData
5f91c9e8 1// $Id$
2// Category: motif
3//
4// Class AliMpMotifSpecial
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_SPECIAL_H
12#define ALI_MP_MOTIF_SPECIAL_H
13
14#include <TObject.h>
15#include <TString.h>
16#include <TVector2.h>
17
18#include "AliMpMotifTypes.h"
19#include "AliMpVMotif.h"
20
21class AliMpMotifSpecial : public AliMpVMotif
22{
23 public:
24 AliMpMotifSpecial(const TString &id, AliMpMotifType *motifType);
25 AliMpMotifSpecial();
26
27 // Access methods
28 virtual TVector2 GetPadDimensions(const AliMpIntPair& localIndices) const;
29 virtual Int_t GetNofPadDimensions() const;
30 virtual TVector2 GetPadDimensions(Int_t i) const;
31
32 // Set methods
33 void SetPadDimensions(const AliMpIntPair& localIndices,
34 const TVector2& dimensions);
35
36 // Geometry
37 virtual TVector2 Dimensions() const;
38
39 // Other methods
40 virtual TVector2 PadPositionLocal(const AliMpIntPair& localIndices) const;
41 virtual AliMpIntPair PadIndicesLocal(const TVector2& localPos) const;
42
43 private:
44
45 // methods
46 Int_t VectorIndex(const AliMpIntPair& indices) const;
47
48 // data members
49 DimensionsMap fPadDimensionsVector; // the vector of pad dimensions
50 DimensionsMap fPadDimensionsVector2; // the vector of different pad dimensions
51
52 ClassDef(AliMpMotifSpecial,1) // A motif with its ID
53};
54
55#endif //ALI_MP_MOTIF_SPECIAL_H