1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
5 // $MpId: AliMpVPadRowSegment.h,v 1.7 2006/05/24 13:58:21 ivana Exp $
8 /// \class AliMpVPadRowSegment
9 /// \brief The abstract base class for a pad row segment composed of the
12 /// \author David Guez, Ivana Hrivnacova; IPN Orsay
14 #ifndef ALI_MP_V_PAD_ROW_SEGMENT_H
15 #define ALI_MP_V_PAD_ROW_SEGMENT_H
22 class AliMpVPadRowSegment : public TObject
25 AliMpVPadRowSegment(AliMpPadRow* padRow, AliMpMotif* motif,
26 Int_t motifPositionId, Int_t nofPads);
27 AliMpVPadRowSegment();
28 virtual ~AliMpVPadRowSegment();
31 /// Return the x coordinate of the left border
32 /// in the global coordinate system.
33 virtual Double_t LeftBorderX() const = 0;
34 /// Return the x coordinate of the right border
35 /// in the global coordinate system.
36 virtual Double_t RightBorderX() const = 0;
37 virtual Double_t HalfSizeY() const;
40 virtual AliMpPadRow* GetPadRow() const;
41 virtual AliMpMotif* GetMotif() const;
42 virtual Int_t GetMotifPositionId() const;
43 /// Return number of pads
44 Int_t GetNofPads() const {return fNofPads;}
47 void SetOffsetX(Double_t offsetX);
50 /// Return the x position of the right/left border
51 Double_t GetOffsetX() const { return fOffsetX; }
55 AliMpVPadRowSegment(const AliMpVPadRowSegment& right);
57 AliMpVPadRowSegment& operator = (const AliMpVPadRowSegment& right);
60 Int_t fNofPads; ///< number of pads
61 Double_t fOffsetX; ///< the x position of the right/left border
62 AliMpPadRow* fPadRow; ///< the pad row containing this segment
63 AliMpMotif* fMotif; ///< the motif
64 Int_t fMotifPositionId; ///< the motif position id
66 ClassDef(AliMpVPadRowSegment,1) // Row segment
69 #endif //ALI_MP_V_PAD_ROW_SEGMENT_H