]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - MUON/mapping/AliMpPadRow.h
Adding new libraries
[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 /// Pad row segment vector type
38 typedef std::vector<AliMpVPadRowSegment*> PadRowSegmentVector;
39#endif
40#ifdef WITH_ROOT
41 /// Pad row segment vector type
42 typedef TObjArray PadRowSegmentVector;
43#endif
44
45 public:
46 AliMpPadRow(AliMp::XDirection direction);
47 AliMpPadRow();
48 virtual ~AliMpPadRow();
49
50 // methods
51 AliMpVPadRowSegment* AddPadRowSegment(AliMpMotif* motif,
52 Int_t motifPositionId,
53 Int_t nofPads);
54 AliMpVPadRowSegment* FindPadRowSegment(Double_t x) const;
55 Double_t HalfSizeY() const;
56
57 // set methods
58 void SetID(Int_t id);
59 void SetOffsetX(Double_t offsetX);
60
61 // get methods
62 Int_t GetID() const;
63 Int_t GetNofPadRowSegments() const;
64 AliMpVPadRowSegment* GetPadRowSegment(Int_t i) const;
65 Int_t GetNofPads() const;
66
67 private:
68 // methods
69 Double_t CurrentBorderX() const;
70
71 // data members
72 AliMp::XDirection fDirection; ///< the pad row x direction
73 Int_t fID; ///< the pad row ID
74 Double_t fOffsetX; ///< the x position of the border
75 PadRowSegmentVector fSegments; ///< the pad row segments
76
77 ClassDef(AliMpPadRow,1) // Pad row
78};
79
80#endif //ALI_MP_PAD_ROW_H
81