]>
Commit | Line | Data |
---|---|---|
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 | 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 | 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 | ClassDef(AliMpVPadRowSegment,1) // Row segment | |
67 | }; | |
68 | ||
69 | #endif //ALI_MP_V_PAD_ROW_SEGMENT_H | |
70 |