1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
5 // $MpId: AliMpMotifSpecial.h,v 1.7 2005/09/26 16:10:46 ivana Exp $
8 /// \class AliMpMotifSpecial
9 /// \brief A special motif with varying pad dimensions
11 /// Authors: David Guez, Ivana Hrivnacova; IPN Orsay
13 #ifndef ALI_MP_MOTIF_SPECIAL_H
14 #define ALI_MP_MOTIF_SPECIAL_H
16 #include "AliMpContainers.h"
23 #include <TObjArray.h>
24 #include "AliMpExMap.h"
29 #include "AliMpVMotif.h"
33 class AliMpMotifSpecial : public AliMpVMotif
37 typedef std::vector< TVector2 > DimensionsMap;
38 typedef std::vector< TVector2 > DimensionsMap2;
41 typedef AliMpExMap DimensionsMap;
42 typedef TObjArray DimensionsMap2;
46 AliMpMotifSpecial(const TString &id, AliMpMotifType *motifType);
48 virtual ~AliMpMotifSpecial();
51 virtual TVector2 GetPadDimensions(const AliMpIntPair& localIndices) const;
52 virtual Int_t GetNofPadDimensions() const;
53 virtual TVector2 GetPadDimensions(Int_t i) const;
56 void SetPadDimensions(const AliMpIntPair& localIndices,
57 const TVector2& dimensions);
60 virtual TVector2 Dimensions() const;
63 virtual TVector2 PadPositionLocal(const AliMpIntPair& localIndices) const;
64 virtual AliMpIntPair PadIndicesLocal(const TVector2& localPos) const;
68 Int_t VectorIndex(const AliMpIntPair& indices) const;
71 DimensionsMap fPadDimensionsVector; // the vector of pad dimensions
72 DimensionsMap2 fPadDimensionsVector2; // the vector of different pad dimensions
74 ClassDef(AliMpMotifSpecial,1) // A motif with its ID
77 #endif //ALI_MP_MOTIF_SPECIAL_H