New macro to keep track of timing performances of the segmentation methods (Laurent)
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpVPadRowSegment.h
CommitLineData
dee1d5f1 1/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
3
ea4cae7a 4// $Id$
13985652 5// $MpId: AliMpVPadRowSegment.h,v 1.7 2006/05/24 13:58:21 ivana Exp $
dee1d5f1 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///
13985652 12/// \author David Guez, Ivana Hrivnacova; IPN Orsay
ea4cae7a 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
f5671fc3 31 /// Return the x coordinate of the left border
32 /// in the global coordinate system.
ea4cae7a 33 virtual Double_t LeftBorderX() const = 0;
f5671fc3 34 /// Return the x coordinate of the right border
35 /// in the global coordinate system.
ea4cae7a 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;
f5671fc3 43 /// Return number of pads
ea4cae7a 44 Int_t GetNofPads() const {return fNofPads;}
45
46 // set methods
47 void SetOffsetX(Double_t offsetX);
48
49 protected:
f5671fc3 50 /// Return the x position of the right/left border
ea4cae7a 51 Double_t GetOffsetX() const { return fOffsetX; }
52
53 private:
f5671fc3 54 /// Not implemented
13e7956b 55 AliMpVPadRowSegment(const AliMpVPadRowSegment& right);
f5671fc3 56 /// Not implemented
13e7956b 57 AliMpVPadRowSegment& operator = (const AliMpVPadRowSegment& right);
58
ea4cae7a 59 // data members
829425a5 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
ea4cae7a 65
829425a5 66 ClassDef(AliMpVPadRowSegment,1) // Row segment
ea4cae7a 67};
68
69#endif //ALI_MP_V_PAD_ROW_SEGMENT_H
70