Line data Source code
1 : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 : * See cxx source for full Copyright notice */
3 :
4 : // $Id$
5 : // $MpId: AliMpVPadRowSegment.h,v 1.7 2006/05/24 13:58:21 ivana Exp $
6 :
7 : /// \ingroup sector
8 : /// \class AliMpVPadRowSegment
9 : /// \brief The abstract base class for a pad row segment composed of the
10 : /// the identic pads.
11 : ///
12 : /// \author David Guez, Ivana Hrivnacova; IPN Orsay
13 :
14 : #ifndef ALI_MP_V_PAD_ROW_SEGMENT_H
15 : #define ALI_MP_V_PAD_ROW_SEGMENT_H
16 :
17 : #include <TObject.h>
18 :
19 : class AliMpPadRow;
20 : class AliMpMotif;
21 :
22 : class AliMpVPadRowSegment : public TObject
23 : {
24 : public:
25 : AliMpVPadRowSegment(AliMpPadRow* padRow, AliMpMotif* motif,
26 : Int_t motifPositionId, Int_t nofPads);
27 : AliMpVPadRowSegment();
28 : virtual ~AliMpVPadRowSegment();
29 :
30 : // methods
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;
38 :
39 : // get methods
40 : virtual AliMpPadRow* GetPadRow() const;
41 : virtual AliMpMotif* GetMotif() const;
42 : virtual Int_t GetMotifPositionId() const;
43 : /// Return number of pads
44 58430 : Int_t GetNofPads() const {return fNofPads;}
45 :
46 : // set methods
47 : void SetOffsetX(Double_t offsetX);
48 :
49 : protected:
50 : /// Return the x position of the right/left border
51 78220 : Double_t GetOffsetX() const { return fOffsetX; }
52 :
53 : private:
54 : /// Not implemented
55 : AliMpVPadRowSegment(const AliMpVPadRowSegment& right);
56 : /// Not implemented
57 : AliMpVPadRowSegment& operator = (const AliMpVPadRowSegment& right);
58 :
59 : // data members
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
65 :
66 18 : ClassDef(AliMpVPadRowSegment,1) // Row segment
67 : };
68 :
69 : #endif //ALI_MP_V_PAD_ROW_SEGMENT_H
70 :
|