ATLAS Offline Software
Loading...
Searching...
No Matches
Muon::MuonLayerROTs Class Reference

struct holding RIO_OnTracks for a given layer More...

#include <MuonLayerROTs.h>

Collaboration diagram for Muon::MuonLayerROTs:

Public Member Functions

 MuonLayerROTs ()=default
 constructor
 MuonLayerROTs (MuonLayerROTs &&other)=default
 Move constructor.
MuonLayerROTsoperator= (MuonLayerROTs &&)=default
 Move assignment.
 ~MuonLayerROTs ()=default
 destructor
void addMdts (const std::vector< const MdtDriftCircleOnTrack * > &mdts)
 add MDTs, will merge them with existing MDT's.
void replaceMdts (const std::vector< const MdtDriftCircleOnTrack * > &mdts)
 add MDTs, will remove any 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.
void replaceClusters (const std::vector< const MuonClusterOnTrack * > &clusters, MuonStationIndex::TechnologyIndex tech)
 add MuonClusters of a given technology, will remove any existing clusters.
const std::vector< const MdtDriftCircleOnTrack * > & getMdts () const
 access calibrated MDT's
const std::vector< const MuonClusterOnTrack * > & getClusters (MuonStationIndex::TechnologyIndex tech) const
 access calibrated MuonClusters for a given technolgy

Private Attributes

std::vector< const MdtDriftCircleOnTrack * > m_mdts {}
 payload
std::array< std::vector< const MuonClusterOnTrack * >, s_techMaxm_clustersPerTechnology {}
std::vector< std::unique_ptr< const Trk::RIO_OnTrack > > m_garbage {}

Static Private Attributes

static constexpr int s_techMax = MuonStationIndex::toInt(MuonStationIndex::TechnologyIndex::TechnologyIndexMax)

Detailed Description

struct holding RIO_OnTracks for a given layer

Definition at line 18 of file MuonLayerROTs.h.

Constructor & Destructor Documentation

◆ MuonLayerROTs() [1/2]

Muon::MuonLayerROTs::MuonLayerROTs ( )
default

constructor

◆ MuonLayerROTs() [2/2]

Muon::MuonLayerROTs::MuonLayerROTs ( MuonLayerROTs && other)
default

Move constructor.

◆ ~MuonLayerROTs()

Muon::MuonLayerROTs::~MuonLayerROTs ( )
default

destructor

Member Function Documentation

◆ addClusters()

void Muon::MuonLayerROTs::addClusters ( const std::vector< const MuonClusterOnTrack * > & clusters,
MuonStationIndex::TechnologyIndex tech )

add MuonClusters of a given technology, will merge them with existing clusters.

Takes ownership of all pointers

Definition at line 17 of file MuonLayerROTs.cxx.

18 {
19
20 std::vector<const MuonClusterOnTrack*>& insertMe{m_clustersPerTechnology[toInt(tech)]};
21 insertMe.insert(insertMe.end(), clusters.begin(), clusters.end());
22 std::for_each(clusters.begin(), clusters.end(),
23 [this](const MuonClusterOnTrack* rot){
24 m_garbage.emplace_back(rot);
25 });
26 }
std::array< std::vector< const MuonClusterOnTrack * >, s_techMax > m_clustersPerTechnology
constexpr int toInt(const EnumType enumVal)

◆ addMdts()

void Muon::MuonLayerROTs::addMdts ( const std::vector< const MdtDriftCircleOnTrack * > & mdts)

add MDTs, will merge them with existing MDT's.

Takes ownership of all pointers

Definition at line 9 of file MuonLayerROTs.cxx.

9 {
10 m_mdts.insert(m_mdts.end(), mdts.begin(), mdts.end());
11 std::for_each(mdts.begin(), mdts.end(),
12 [this](const MdtDriftCircleOnTrack* rot){
13 m_garbage.emplace_back(rot);
14 });
15 }
std::vector< const MdtDriftCircleOnTrack * > m_mdts
payload

◆ getClusters()

const std::vector< const MuonClusterOnTrack * > & Muon::MuonLayerROTs::getClusters ( MuonStationIndex::TechnologyIndex tech) const
inline

access calibrated MuonClusters for a given technolgy

Definition at line 59 of file MuonLayerROTs.h.

59 {
60 using namespace MuonStationIndex;
61 return m_clustersPerTechnology[toInt(tech)];
62 }

◆ getMdts()

const std::vector< const MdtDriftCircleOnTrack * > & Muon::MuonLayerROTs::getMdts ( ) const
inline

access calibrated MDT's

Definition at line 56 of file MuonLayerROTs.h.

56{ return m_mdts; }

◆ operator=()

MuonLayerROTs & Muon::MuonLayerROTs::operator= ( MuonLayerROTs && )
default

Move assignment.

◆ replaceClusters()

void Muon::MuonLayerROTs::replaceClusters ( const std::vector< const MuonClusterOnTrack * > & clusters,
MuonStationIndex::TechnologyIndex tech )

add MuonClusters of a given technology, will remove any existing clusters.

Takes ownership of all pointers

Definition at line 33 of file MuonLayerROTs.cxx.

34 {
35 m_clustersPerTechnology[toInt(tech)].clear();
36 addClusters(clusters, tech);
37 }
void addClusters(const std::vector< const MuonClusterOnTrack * > &clusters, MuonStationIndex::TechnologyIndex tech)
add MuonClusters of a given technology, will merge them with existing clusters.

◆ replaceMdts()

void Muon::MuonLayerROTs::replaceMdts ( const std::vector< const MdtDriftCircleOnTrack * > & mdts)

add MDTs, will remove any existing MDT's.

Takes ownership of all pointers

Definition at line 28 of file MuonLayerROTs.cxx.

28 {
29 m_mdts.clear();
30 addMdts(mdts);
31 }
void addMdts(const std::vector< const MdtDriftCircleOnTrack * > &mdts)
add MDTs, will merge them with existing MDT's.

Member Data Documentation

◆ m_clustersPerTechnology

std::array<std::vector<const MuonClusterOnTrack*>, s_techMax> Muon::MuonLayerROTs::m_clustersPerTechnology {}
private

Definition at line 51 of file MuonLayerROTs.h.

51{};

◆ m_garbage

std::vector<std::unique_ptr<const Trk::RIO_OnTrack> > Muon::MuonLayerROTs::m_garbage {}
private

Definition at line 53 of file MuonLayerROTs.h.

53{};

◆ m_mdts

std::vector<const MdtDriftCircleOnTrack*> Muon::MuonLayerROTs::m_mdts {}
private

payload

Definition at line 49 of file MuonLayerROTs.h.

49{};

◆ s_techMax

int Muon::MuonLayerROTs::s_techMax = MuonStationIndex::toInt(MuonStationIndex::TechnologyIndex::TechnologyIndexMax)
staticconstexprprivate

Definition at line 50 of file MuonLayerROTs.h.


The documentation for this class was generated from the following files: