ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonReconstruction
MuonRecEvent
MuonLayerEvent
MuonLayerEvent
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
11
#include "
MuonStationIndex/MuonStationIndex.h
"
12
#include "
MuonRIO_OnTrack/MdtDriftCircleOnTrack.h
"
13
#include "
MuonRIO_OnTrack/MuonClusterOnTrack.h
"
14
15
namespace
Muon
{
16
18
class
MuonLayerROTs
{
19
public
:
21
MuonLayerROTs
() =
default
;
23
MuonLayerROTs
(
MuonLayerROTs
&& other) =
default
;
25
MuonLayerROTs
&
operator=
(
MuonLayerROTs
&&) =
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
{};
50
static
constexpr
int
s_techMax
=
MuonStationIndex::toInt
(
MuonStationIndex::TechnologyIndex::TechnologyIndexMax
);
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*>&
59
MuonLayerROTs::getClusters
(
MuonStationIndex::TechnologyIndex
tech)
const
{
60
using namespace
MuonStationIndex
;
61
return
m_clustersPerTechnology
[
toInt
(tech)];
62
}
63
}
// namespace Muon
64
65
#endif
MdtDriftCircleOnTrack.h
MuonClusterOnTrack.h
MuonStationIndex.h
Muon::MuonLayerROTs::m_garbage
std::vector< std::unique_ptr< const Trk::RIO_OnTrack > > m_garbage
Definition
MuonLayerROTs.h:53
Muon::MuonLayerROTs::getClusters
const std::vector< const MuonClusterOnTrack * > & getClusters(MuonStationIndex::TechnologyIndex tech) const
access calibrated MuonClusters for a given technolgy
Definition
MuonLayerROTs.h:59
Muon::MuonLayerROTs::s_techMax
static constexpr int s_techMax
Definition
MuonLayerROTs.h:50
Muon::MuonLayerROTs::operator=
MuonLayerROTs & operator=(MuonLayerROTs &&)=default
Move assignment.
Muon::MuonLayerROTs::getMdts
const std::vector< const MdtDriftCircleOnTrack * > & getMdts() const
access calibrated MDT's
Definition
MuonLayerROTs.h:56
Muon::MuonLayerROTs::MuonLayerROTs
MuonLayerROTs()=default
constructor
Muon::MuonLayerROTs::MuonLayerROTs
MuonLayerROTs(MuonLayerROTs &&other)=default
Move constructor.
Muon::MuonLayerROTs::addMdts
void addMdts(const std::vector< const MdtDriftCircleOnTrack * > &mdts)
add MDTs, will merge them with existing MDT's.
Definition
MuonLayerROTs.cxx:9
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:17
Muon::MuonLayerROTs::m_mdts
std::vector< const MdtDriftCircleOnTrack * > m_mdts
payload
Definition
MuonLayerROTs.h:49
Muon::MuonLayerROTs::m_clustersPerTechnology
std::array< std::vector< const MuonClusterOnTrack * >, s_techMax > m_clustersPerTechnology
Definition
MuonLayerROTs.h:51
Muon::MuonLayerROTs::~MuonLayerROTs
~MuonLayerROTs()=default
destructor
Muon::MuonLayerROTs::replaceMdts
void replaceMdts(const std::vector< const MdtDriftCircleOnTrack * > &mdts)
add MDTs, will remove any existing MDT's.
Definition
MuonLayerROTs.cxx:28
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:33
Muon::MuonStationIndex
Definition
MuonStationIndex.h:14
Muon::MuonStationIndex::TechnologyIndex
TechnologyIndex
enum to classify the different layers in the muon spectrometer
Definition
MuonStationIndex.h:55
Muon::MuonStationIndex::TechnologyIndex::TechnologyIndexMax
@ TechnologyIndexMax
Definition
MuonStationIndex.h:58
Muon::MuonStationIndex::toInt
constexpr int toInt(const EnumType enumVal)
Definition
MuonStationIndex.h:62
Muon
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Definition
TrackSystemController.h:46
Generated on
for ATLAS Offline Software by
1.17.0