+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice */
+
// $Id$
-// Category: sector
-//
-// Class AliMpRowSegment
-// ---------------------
-// Class describing a row segment composed of the
-// the identic motifs.
-//
-// Authors: David Guez, Ivana Hrivnacova; IPN Orsay
+// $MpId: AliMpRowSegment.h,v 1.10 2006/05/24 13:58:21 ivana Exp $
+
+/// \ingroup sector
+/// \class AliMpRowSegment
+/// \brief A row segment composed of the the identic motifs.
+///
+/// \author David Guez, Ivana Hrivnacova; IPN Orsay
#ifndef ALI_MP_ROW_SEGMENT_H
#define ALI_MP_ROW_SEGMENT_H
-#include <TVector2.h>
-
#include "AliMpVRowSegment.h"
class AliMpRow;
class AliMpVMotif;
-class AliMpIntPair;
class AliMpRowSegment : public AliMpVRowSegment
{
public:
- AliMpRowSegment(AliMpRow* row, AliMpVMotif* motif, AliMpIntPair padOffset,
+ AliMpRowSegment(AliMpRow* row, AliMpVMotif* motif,
+ Int_t padOffsetX, Int_t padOffsetY,
Int_t nofMotifs, Int_t motifPositionId, Int_t motifPositionDId);
AliMpRowSegment();
virtual ~AliMpRowSegment();
virtual Double_t HalfSizeY() const;
// find methods
- virtual AliMpVMotif* FindMotif(const TVector2& position) const;
- virtual Int_t FindMotifPositionId(const TVector2& position) const;
+ virtual AliMpVMotif* FindMotif(Double_t x, Double_t y) const;
+ virtual Int_t FindMotifPositionId(Double_t x, Double_t y) const;
virtual Bool_t HasMotifPosition(Int_t motifPositionId) const;
- virtual TVector2 MotifCenter(Int_t motifPositionId) const;
+ virtual void MotifCenter(Int_t motifPositionId,
+ Double_t& x, Double_t& y) const;
// geometry
- virtual TVector2 Position() const;
- virtual TVector2 Dimensions() const;
+ virtual Double_t GetPositionX() const;
+ virtual Double_t GetPositionY() const;
+ virtual Double_t GetDimensionX() const;
+ virtual Double_t GetDimensionY() const;
// set methods
- virtual void SetOffset(const TVector2& offset);
+ virtual void SetOffset(Double_t x, Double_t y);
virtual void SetGlobalIndices(AliMpRow* rowBefore);
- virtual Int_t SetIndicesToMotifPosition(Int_t i,
- const AliMpIntPair& indices);
+ virtual Int_t SetIndicesToMotifPosition(Int_t i, MpPair_t indices);
// get methods
virtual AliMpRow* GetRow() const;
virtual AliMpVMotif* GetMotif(Int_t /*i*/) const;
virtual Int_t GetMotifPositionId(Int_t i) const;
- protected:
- AliMpRowSegment(const AliMpRowSegment& right);
- AliMpRowSegment& operator = (const AliMpRowSegment& right);
-
private:
+ /// Not implemented
+ AliMpRowSegment(const AliMpRowSegment& right);
+ /// Not implemented
+ AliMpRowSegment& operator = (const AliMpRowSegment& right);
+
// methods
Double_t FirstMotifCenterX() const;
Double_t LastMotifCenterX() const;
Double_t MotifCenterX(Int_t motifPositionId) const;
Double_t MotifCenterY(Int_t motifPositionId) const;
- Bool_t IsInside(const TVector2& position, Bool_t warn = true) const;
+ Bool_t IsInside(Double_t x, Double_t y, Bool_t warn = true) const;
// data members
- Int_t fNofMotifs; //number of motifs
- AliMpIntPair fPadOffset; //the offset in nof pads
- TVector2 fOffset; //the position of the centre of the first motif
- //(x wtr to left border, y wtr to row center)
- AliMpRow* fRow; //the row containing this segment
- AliMpVMotif* fMotif; //the motif
- Int_t fMotifPositionId; // the first motif position id
- Int_t fMotifPositionDId; // +1 if ids are increasing, -1 if decreasing
+ Int_t fNofMotifs; ///< number of motifs
+ MpPair_t fLPadOffset; ///< the offset in nof pads
+ Double_t fOffsetX; ///< \brief the x position of the centre of the first motif
+ /// wrt to left border
+ Double_t fOffsetY; ///< \brief the y position of the centre of the first motif
+ /// wrt to row center
+ AliMpRow* fRow; ///< the row containing this segment
+ AliMpVMotif* fMotif; ///< the motif
+ Int_t fMotifPositionId; ///< the first motif position id
+ Int_t fMotifPositionDId; ///< +1 if ids are increasing, -1 if decreasing
- ClassDef(AliMpRowSegment,1) //Row segment
+ ClassDef(AliMpRowSegment,2) // Row segment
};
#endif //ALI_MP_ROW_SEGMENT_H