]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/mapping/AliMpMotifSpecial.h
In mapping:
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpMotifSpecial.h
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2  * See cxx source for full Copyright notice                               */
3
4 // $Id$
5 // $MpId: AliMpMotifSpecial.h,v 1.11 2006/05/24 13:58:18 ivana Exp $
6
7 /// \ingroup motif
8 /// \class AliMpMotifSpecial
9 /// \brief A special motif with varying pad dimensions
10 ///
11 /// \author David Guez, Ivana Hrivnacova; IPN Orsay
12
13 #ifndef ALI_MP_MOTIF_SPECIAL_H
14 #define ALI_MP_MOTIF_SPECIAL_H
15
16 #include "AliMpVMotif.h"
17 #include "AliMpExMap.h"
18
19 #include <TVector2.h>
20 #include <TObjArray.h>
21
22 class TString;
23
24 class AliMpMotifSpecial : public AliMpVMotif
25 {
26  public:
27   AliMpMotifSpecial(const TString &id, AliMpMotifType *motifType);
28   AliMpMotifSpecial(TRootIOCtor* ioCtor);
29   virtual ~AliMpMotifSpecial();
30
31   // Access methods
32   virtual TVector2 GetPadDimensions(const AliMpIntPair& localIndices) const;
33   virtual Int_t    GetNofPadDimensions() const;
34   virtual TVector2 GetPadDimensions(Int_t i) const;
35
36   // Set methods
37   void SetPadDimensions(const AliMpIntPair& localIndices,
38                         const TVector2& dimensions);
39   
40   // Geometry
41   void CalculateDimensions();
42   virtual TVector2 Dimensions() const;
43
44   // Other methods
45   virtual TVector2     PadPositionLocal(const AliMpIntPair& localIndices) const;
46   virtual AliMpIntPair PadIndicesLocal(const TVector2& localPos) const;
47
48  private:
49   /// Not implemented
50   AliMpMotifSpecial();
51   // methods
52   Int_t VectorIndex(const AliMpIntPair& indices) const;
53
54   // data members
55   TVector2     fDimensions;           ///< motif dimensions
56   AliMpExMap   fPadDimensionsVector;  ///< the vector of pad dimensions
57   TObjArray    fPadDimensionsVector2; ///< the vector of different pad dimensions
58
59   ClassDef(AliMpMotifSpecial,2) // A motif with its ID
60 };
61
62 #endif //ALI_MP_MOTIF_SPECIAL_H