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.11 2006/05/24 13:58:18 ivana Exp $
8 /// \class AliMpMotifSpecial
9 /// \brief A special motif with varying pad dimensions
11 /// \author David Guez, Ivana Hrivnacova; IPN Orsay
13 #ifndef ALI_MP_MOTIF_SPECIAL_H
14 #define ALI_MP_MOTIF_SPECIAL_H
16 #include "AliMpVMotif.h"
17 #include "AliMpExMap.h"
20 #include <TObjArray.h>
24 class AliMpMotifSpecial : public AliMpVMotif
27 AliMpMotifSpecial(const TString &id, AliMpMotifType *motifType);
28 AliMpMotifSpecial(TRootIOCtor* ioCtor);
29 virtual ~AliMpMotifSpecial();
32 virtual TVector2 GetPadDimensionsByIndices(MpPair_t localIndices) const;
33 virtual TVector2 GetPadDimensionsByIndices(Int_t ixLocal, Int_t iyLocal) const;
34 virtual Int_t GetNofPadDimensions() const;
35 virtual TVector2 GetPadDimensions(Int_t i) const;
38 void SetPadDimensions(MpPair_t localIndices,
39 const TVector2& dimensions);
40 void SetPadDimensions(Int_t ixLocal, Int_t iyLocal,
41 const TVector2& dimensions);
44 void CalculateDimensions();
45 virtual TVector2 Dimensions() const;
48 virtual TVector2 PadPositionLocal(MpPair_t localIndices) const;
49 virtual TVector2 PadPositionLocal(Int_t ixLocal, Int_t iyLocal) const;
50 virtual MpPair_t PadIndicesLocal(const TVector2& localPos) const;
57 TVector2 fDimensions; ///< motif dimensions
58 AliMpExMap fPadDimensionsVector; ///< the vector of pad dimensions
59 TObjArray fPadDimensionsVector2; ///< the vector of different pad dimensions
61 ClassDef(AliMpMotifSpecial,2) // A motif with its ID
64 #endif //ALI_MP_MOTIF_SPECIAL_H