#ifndef ALI_MP_V_MOTIF_H
#define ALI_MP_V_MOTIF_H
+#include "AliMpEncodePair.h"
+
#include <TObject.h>
#include <TString.h>
-#include <TVector2.h>
class AliMpMotifType;
class AliMpConnection;
-class AliMpIntPair;
class AliMpVMotif : public TObject
{
// Access methods
AliMpMotifType *GetMotifType() const;
TString GetID() const;
+
+ /// Return the number of pad dimensions
virtual Int_t GetNofPadDimensions() const=0;
- virtual TVector2 GetPadDimensions(Int_t i) const=0;
- virtual TVector2 GetPadDimensions(const AliMpIntPair& localIndices) const=0;
+ /// Return the i-th pad x dimension
+ virtual Double_t GetPadDimensionX(Int_t i) const=0;
+ /// Return the i-th pad y dimension
+ virtual Double_t GetPadDimensionY(Int_t i) const=0;
+
+ /// Return the dimensions of the pad specified by localIndices
+ virtual void GetPadDimensionsByIndices(MpPair_t localIndices,
+ Double_t& dx, Double_t& dy) const=0;
+ /// Return the dimensions of the pad specified by localIndices
+ virtual void GetPadDimensionsByIndices(Int_t ixLocal, Int_t iyLocal,
+ Double_t& dx, Double_t& dy) const=0;
// Geometry
- virtual TVector2 Dimensions() const=0;
+ /// Return x dimensions
+ virtual Double_t DimensionX() const=0;
+ /// Return y dimensions
+ virtual Double_t DimensionY() const=0;
// Other methods
- AliMpConnection *FindConnectionByLocalPos(const TVector2& localPos) const;
+ /// Fill local position of the pad specified by local indices
+ virtual void PadPositionLocal(MpPair_t localIndices,
+ Double_t& posx, Double_t& posy ) const=0;
+ /// Fill local position of the pad specified by local indices
+ virtual void PadPositionLocal(Int_t ixLocal, Int_t iyLocal,
+ Double_t& posx, Double_t& posy ) const=0;
+
+ AliMpConnection *FindConnectionByLocalPos(
+ Double_t localPosX, Double_t localPosY) const;
+
+ /// Return local indices of the pad specified by local position
+ virtual MpPair_t PadIndicesLocal(Double_t localPosX, Double_t localPosY) const=0;
+
virtual void Print(Option_t *option) const;
- virtual TVector2 PadPositionLocal(const AliMpIntPair& localIndices) const=0;
- virtual AliMpIntPair PadIndicesLocal(const TVector2& localPos) const=0;
- protected:
+ private:
+ /// Not implemented
AliMpVMotif(const AliMpVMotif& right);
+ /// Not implemented
AliMpVMotif& operator = (const AliMpVMotif& right);
- private:
- // methods
-
// data members
TString fID; ///< identifier
AliMpMotifType *fMotifType; ///< the motif type
// inline functions
+/// Return the motif type
inline AliMpMotifType* AliMpVMotif::GetMotifType() const {return fMotifType;}
+
+/// Return the motif identifier
inline TString AliMpVMotif::GetID() const {return fID;}
#endif //ALI_MP_V_MOTIF_H