]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - MUON/mapping/AliMpPadRow.h
Commenting out the infamous speed eater = StdoutToAliDebug until a better solution...
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpPadRow.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: AliMpPadRow.h,v 1.10 2006/05/24 13:58:21 ivana Exp $
6
7/// \ingroup sector
8/// \class AliMpPadRow
9/// \brief A pad row composed of the pad row segments.
10///
11/// \author David Guez, Ivana Hrivnacova; IPN Orsay
12
13#ifndef ALI_MP_PAD_ROW_H
14#define ALI_MP_PAD_ROW_H
15
16#include <TObject.h>
17
18#include "AliMpContainers.h"
19
20#include "AliMpXDirection.h"
21
22#ifdef WITH_ROOT
23#include <TObjArray.h>
24#endif
25
26#ifdef WITH_STL
27#include <vector>
28#endif
29
30class AliMpVPadRowSegment;
31class AliMpMotif;
32
33class AliMpPadRow : public TObject
34{
35 public:
36#ifdef WITH_STL
37 typedef std::vector<AliMpVPadRowSegment*> PadRowSegmentVector;
38#endif
39#ifdef WITH_ROOT
40 typedef TObjArray PadRowSegmentVector;
41#endif
42
43 public:
44 AliMpPadRow(AliMp::XDirection direction);
45 AliMpPadRow();
46 virtual ~AliMpPadRow();
47
48 // methods
49 AliMpVPadRowSegment* AddPadRowSegment(AliMpMotif* motif,
50 Int_t motifPositionId,
51 Int_t nofPads);
52 AliMpVPadRowSegment* FindPadRowSegment(Double_t x) const;
53 Double_t HalfSizeY() const;
54
55 // set methods
56 void SetID(Int_t id);
57 void SetOffsetX(Double_t offsetX);
58
59 // get methods
60 Int_t GetID() const;
61 Int_t GetNofPadRowSegments() const;
62 AliMpVPadRowSegment* GetPadRowSegment(Int_t i) const;
63 Int_t GetNofPads() const;
64
65 private:
66 // methods
67 Double_t CurrentBorderX() const;
68
69 // data members
70 AliMp::XDirection fDirection; ///< the pad row x direction
71 Int_t fID; ///< the pad row ID
72 Double_t fOffsetX; ///< the x position of the border
73 PadRowSegmentVector fSegments; ///< the pad row segments
74
75 ClassDef(AliMpPadRow,1) // Pad row
76};
77
78#endif //ALI_MP_PAD_ROW_H
79