* See cxx source for full Copyright notice */
// $Id$
-// $MpId: AliMpMotif.h,v 1.5 2005/08/26 15:43:36 ivana Exp $
+// $MpId: AliMpMotif.h,v 1.8 2006/05/24 13:58:18 ivana Exp $
/// \ingroup motif
/// \class AliMpMotif
/// \brief A motif with its unique ID and the motif type.
///
-/// Authors: David Guez, Ivana Hrivnacova; IPN Orsay
+/// \author David Guez, Ivana Hrivnacova; IPN Orsay
#ifndef ALI_MP_MOTIF_H
#define ALI_MP_MOTIF_H
-#include <TObject.h>
-#include <TVector2.h>
-
#include "AliMpVMotif.h"
+#include "AliMpEncodePair.h"
+
+#include <TObject.h>
class TString;
class AliMpMotif : public AliMpVMotif
{
public:
- AliMpMotif(const TString &id,AliMpMotifType *motifType, const TVector2& padDimension);
+ AliMpMotif(const TString& id,
+ AliMpMotifType* motifType,
+ Double_t dx, Double_t dy);
AliMpMotif();
virtual ~AliMpMotif();
// Access methods
virtual Int_t GetNofPadDimensions() const;
- virtual TVector2 GetPadDimensions(Int_t /*i*/ = 0) const;
- virtual TVector2 GetPadDimensions(const AliMpIntPair& localIndices) const;
+ virtual Double_t GetPadDimensionX(Int_t /*i*/ = 0) const;
+ virtual Double_t GetPadDimensionY(Int_t /*i*/ = 0) const;
+
+ virtual void GetPadDimensionsByIndices(MpPair_t localIndices,
+ Double_t& dx, Double_t& dy) const;
+ virtual void GetPadDimensionsByIndices(Int_t ixLocal, Int_t iyLocal,
+ Double_t& dx, Double_t& dy) const;
// Geometry
- virtual TVector2 Dimensions() const;
+ virtual Double_t DimensionX() const;
+ virtual Double_t DimensionY() const;
// Other methods
- virtual TVector2 PadPositionLocal(const AliMpIntPair& localIndices) const;
- virtual AliMpIntPair PadIndicesLocal(const TVector2& localPos) const;
+ virtual void PadPositionLocal(MpPair_t localIndices,
+ Double_t& posx, Double_t& posy ) const;
+ virtual void PadPositionLocal(Int_t ixLocal, Int_t iyLocal,
+ Double_t& posx, Double_t& posy ) const;
+
+ virtual MpPair_t PadIndicesLocal(
+ Double_t localPosX, Double_t localPosY) const;
private:
// methods
// data members
- TVector2 fPadDimensions; //pad dimensions (halflength x, y size)
+ Double_t fPadDimensionX; ///< pad dimensions (halflength x, y size)
+ Double_t fPadDimensionY; ///< pad dimensions (halflength x, y size)
- ClassDef(AliMpMotif,1) // A motif with its ID
+ ClassDef(AliMpMotif,2) // A motif with its ID
};
// inline functions
+ /// Return 1 as the number of pad dimensions
inline Int_t AliMpMotif::GetNofPadDimensions() const
{ return 1; }
-inline TVector2 AliMpMotif::GetPadDimensions(Int_t /*i*/) const
-{ return fPadDimensions; }
+ /// Return the pad x dimension
+inline Double_t AliMpMotif::GetPadDimensionX(Int_t /*i*/) const
+{ return fPadDimensionX; }
+
+ /// Return the pad y dimension
+inline Double_t AliMpMotif::GetPadDimensionY(Int_t /*i*/) const
+{ return fPadDimensionY; }
#endif //ALI_MP_MOTIF_H