ATLAS Offline Software
MuonLayerROTs.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUON_MUONLAYERROTS_H
6 #define MUON_MUONLAYERROTS_H
7 
8 #include <vector>
9 
11 
12 namespace Muon {
13 
14  class MdtDriftCircleOnTrack;
15  class MuonClusterOnTrack;
16 
18  class MuonLayerROTs {
19  public:
21  MuonLayerROTs();
22 
25 
27  void addMdts(const std::vector<const MdtDriftCircleOnTrack*>& mdts);
28 
30  void replaceMdts(const std::vector<const MdtDriftCircleOnTrack*>& mdts);
31 
33  void addClusters(const std::vector<const MuonClusterOnTrack*>& clusters, MuonStationIndex::TechnologyIndex tech);
34 
36  void replaceClusters(const std::vector<const MuonClusterOnTrack*>& clusters, MuonStationIndex::TechnologyIndex tech);
37 
39  const std::vector<const MdtDriftCircleOnTrack*>& getMdts() const;
40 
42  const std::vector<const MuonClusterOnTrack*>& getClusters(MuonStationIndex::TechnologyIndex tech) const;
43 
44  private:
47  MuonLayerROTs(const MuonLayerROTs&) = delete;
48 
50  std::vector<const MdtDriftCircleOnTrack*> m_mdts;
51  std::vector<std::vector<const MuonClusterOnTrack*> > m_clustersPerTechnology;
52  };
53 
54  inline const std::vector<const MdtDriftCircleOnTrack*>& MuonLayerROTs::getMdts() const { return m_mdts; }
55 
56  inline const std::vector<const MuonClusterOnTrack*>& MuonLayerROTs::getClusters(MuonStationIndex::TechnologyIndex tech) const {
57  return m_clustersPerTechnology[tech];
58  }
59 } // namespace Muon
60 
61 #endif
Muon::MuonLayerROTs::getClusters
const std::vector< const MuonClusterOnTrack * > & getClusters(MuonStationIndex::TechnologyIndex tech) const
access calibrated MuonClusters for a given technolgy
Definition: MuonLayerROTs.h:56
Muon::MuonLayerROTs::operator=
MuonLayerROTs & operator=(const MuonLayerROTs &)=delete
no copying nor assignment allow, use shared pointers instead
Muon::MuonLayerROTs::getMdts
const std::vector< const MdtDriftCircleOnTrack * > & getMdts() const
access calibrated MDT's
Definition: MuonLayerROTs.h:54
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:49
Muon::MuonLayerROTs::MuonLayerROTs
MuonLayerROTs()
constructor
Definition: MuonLayerROTs.cxx:12
Muon::MuonLayerROTs::addMdts
void addMdts(const std::vector< const MdtDriftCircleOnTrack * > &mdts)
add MDTs, will merge them with existing MDT's.
Definition: MuonLayerROTs.cxx:22
Muon::MuonLayerROTs::addClusters
void addClusters(const std::vector< const MuonClusterOnTrack * > &clusters, MuonStationIndex::TechnologyIndex tech)
add MuonClusters of a given technology, will merge them with existing clusters.
Definition: MuonLayerROTs.cxx:26
Muon::MuonLayerROTs::m_mdts
std::vector< const MdtDriftCircleOnTrack * > m_mdts
payload
Definition: MuonLayerROTs.h:50
Muon::MuonLayerROTs::replaceClusters
void replaceClusters(const std::vector< const MuonClusterOnTrack * > &clusters, MuonStationIndex::TechnologyIndex tech)
add MuonClusters of a given technology, will remove any existing clusters.
Definition: MuonLayerROTs.cxx:37
Muon::MuonLayerROTs::m_clustersPerTechnology
std::vector< std::vector< const MuonClusterOnTrack * > > m_clustersPerTechnology
Definition: MuonLayerROTs.h:51
Muon::MuonLayerROTs::replaceMdts
void replaceMdts(const std::vector< const MdtDriftCircleOnTrack * > &mdts)
add MDTs, will remove any existing MDT's.
Definition: MuonLayerROTs.cxx:30
Muon::MuonLayerROTs
struct holding RIO_OnTracks for a given layer
Definition: MuonLayerROTs.h:18
Muon::MuonLayerROTs::~MuonLayerROTs
~MuonLayerROTs()
destructor
Definition: MuonLayerROTs.cxx:14
Muon::MuonLayerROTs::MuonLayerROTs
MuonLayerROTs(const MuonLayerROTs &)=delete
RunTileMonitoring.clusters
clusters
Definition: RunTileMonitoring.py:133
MuonStationIndex.h
Muon::MuonStationIndex::TechnologyIndex
TechnologyIndex
enum to classify the different layers in the muon spectrometer
Definition: MuonStationIndex.h:54