]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - MUON/mapping/AliMpVPadRowSegment.h
New macro to keep track of timing performances of the segmentation methods (Laurent)
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpVPadRowSegment.h
... / ...
CommitLineData
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
19class AliMpPadRow;
20class AliMpMotif;
21
22class 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