ATLAS Offline Software
Loading...
Searching...
No Matches
MuonLayerROTs.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 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#include <memory>
10
14
15namespace Muon {
16
19 public:
21 MuonLayerROTs() = default;
23 MuonLayerROTs(MuonLayerROTs&& other) = default;
27 ~MuonLayerROTs() = default;
28
30 void addMdts(const std::vector<const MdtDriftCircleOnTrack*>& mdts);
31
33 void replaceMdts(const std::vector<const MdtDriftCircleOnTrack*>& mdts);
34
36 void addClusters(const std::vector<const MuonClusterOnTrack*>& clusters, MuonStationIndex::TechnologyIndex tech);
37
39 void replaceClusters(const std::vector<const MuonClusterOnTrack*>& clusters, MuonStationIndex::TechnologyIndex tech);
40
42 const std::vector<const MdtDriftCircleOnTrack*>& getMdts() const;
43
45 const std::vector<const MuonClusterOnTrack*>& getClusters(MuonStationIndex::TechnologyIndex tech) const;
46
47 private:
49 std::vector<const MdtDriftCircleOnTrack*> m_mdts{};
51 std::array<std::vector<const MuonClusterOnTrack*>, s_techMax> m_clustersPerTechnology{};
52
53 std::vector<std::unique_ptr<const Trk::RIO_OnTrack>> m_garbage{};
54 };
55
56 inline const std::vector<const MdtDriftCircleOnTrack*>& MuonLayerROTs::getMdts() const { return m_mdts; }
57
58 inline const std::vector<const MuonClusterOnTrack*>&
63} // namespace Muon
64
65#endif
std::vector< std::unique_ptr< const Trk::RIO_OnTrack > > m_garbage
const std::vector< const MuonClusterOnTrack * > & getClusters(MuonStationIndex::TechnologyIndex tech) const
access calibrated MuonClusters for a given technolgy
static constexpr int s_techMax
MuonLayerROTs & operator=(MuonLayerROTs &&)=default
Move assignment.
const std::vector< const MdtDriftCircleOnTrack * > & getMdts() const
access calibrated MDT's
MuonLayerROTs()=default
constructor
MuonLayerROTs(MuonLayerROTs &&other)=default
Move constructor.
void addMdts(const std::vector< const MdtDriftCircleOnTrack * > &mdts)
add MDTs, will merge them with existing MDT's.
void addClusters(const std::vector< const MuonClusterOnTrack * > &clusters, MuonStationIndex::TechnologyIndex tech)
add MuonClusters of a given technology, will merge them with existing clusters.
std::vector< const MdtDriftCircleOnTrack * > m_mdts
payload
std::array< std::vector< const MuonClusterOnTrack * >, s_techMax > m_clustersPerTechnology
~MuonLayerROTs()=default
destructor
void replaceMdts(const std::vector< const MdtDriftCircleOnTrack * > &mdts)
add MDTs, will remove any existing MDT's.
void replaceClusters(const std::vector< const MuonClusterOnTrack * > &clusters, MuonStationIndex::TechnologyIndex tech)
add MuonClusters of a given technology, will remove any existing clusters.
TechnologyIndex
enum to classify the different layers in the muon spectrometer
constexpr int toInt(const EnumType enumVal)
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.