ATLAS Offline Software
MuonPrdPattern.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 // MuonPrdPattern.h
6 // Header file for class MuonPrdPattern
8 // (c) ATLAS Detector software
10 // nveldik@nikhef.nl
12 
13 #ifndef MUON_MUONPRDPATTERN_H
14 #define MUON_MUONPRDPATTERN_H
15 
16 #include <vector>
17 
19 
20 namespace Muon {
21 
27  class MuonPrdPattern : public MuonPattern {
28  public:
29  typedef std::vector<const Trk::PrepRawData*> PrdVector;
30 
31  public:
34 
36  MuonPrdPattern(const Amg::Vector3D& pos, const Amg::Vector3D& dir, const PrdVector& prds);
37 
40 
42  virtual void addPrd(const Trk::PrepRawData* prd);
43 
45  virtual unsigned int numberOfContainedPrds() const;
46 
48  virtual const Trk::PrepRawData* prd(unsigned int index) const;
49 
51  virtual MuonPrdPattern* clone() const;
52 
53  const PrdVector& prepRawDataVec() const;
54 
55  private:
58  };
59 
60  inline void MuonPrdPattern::addPrd(const Trk::PrepRawData* prd) {
61  if (prd) m_prds.push_back(prd);
62  }
63 
64  inline unsigned int MuonPrdPattern::numberOfContainedPrds() const { return m_prds.size(); }
65 
66  inline const Trk::PrepRawData* MuonPrdPattern::prd(unsigned int index) const {
67  if (index < numberOfContainedPrds()) return m_prds[index];
68  return 0;
69  }
70 
71  inline MuonPrdPattern* MuonPrdPattern::clone() const { return new MuonPrdPattern(*this); }
72 
73  inline const std::vector<const Trk::PrepRawData*>& MuonPrdPattern::prepRawDataVec() const { return m_prds; }
74 } // namespace Muon
75 
76 #endif
Muon::MuonPrdPattern::m_prds
PrdVector m_prds
vector of PrepRawData pointers
Definition: MuonPrdPattern.h:57
Muon::MuonPrdPattern::prd
virtual const Trk::PrepRawData * prd(unsigned int index) const
returns the PrepRawData objects depending on the integer, return zero if index out of range
Definition: MuonPrdPattern.h:66
Muon::MuonPrdPattern::addPrd
virtual void addPrd(const Trk::PrepRawData *prd)
add hit to pattern
Definition: MuonPrdPattern.h:60
Muon::MuonPrdPattern::MuonPrdPattern
MuonPrdPattern(const Amg::Vector3D &pos, const Amg::Vector3D &dir)
Constructor.
Definition: MuonPrdPattern.cxx:25
index
Definition: index.py:1
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:49
Muon::MuonPrdPattern
Class to store a pattern in the muon system containing PrepRawData pointers.
Definition: MuonPrdPattern.h:27
Muon::MuonPrdPattern::~MuonPrdPattern
~MuonPrdPattern()
Destructor.
Muon::MuonPattern
Basic class for patterns in the muon spectrometer consistig out of a list of Trk::PrepRawData objects...
Definition: MuonPattern.h:23
Muon::MuonPrdPattern::clone
virtual MuonPrdPattern * clone() const
clone methode
Definition: MuonPrdPattern.h:71
beamspotman.dir
string dir
Definition: beamspotman.py:623
Trk::PrepRawData
Definition: PrepRawData.h:62
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
Muon::MuonPrdPattern::PrdVector
std::vector< const Trk::PrepRawData * > PrdVector
Definition: MuonPrdPattern.h:29
DeMoScan.index
string index
Definition: DeMoScan.py:362
MuonPattern.h
Muon::MuonPrdPattern::numberOfContainedPrds
virtual unsigned int numberOfContainedPrds() const
Number or PrepRawData contained by this Pattern.
Definition: MuonPrdPattern.h:64
Muon::MuonPrdPattern::prepRawDataVec
const PrdVector & prepRawDataVec() const
Definition: MuonPrdPattern.h:73