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

Private Attributes

std::vector< const MdtDriftCircleOnTrack * > m_mdts {}
 payload More...
 
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  }

◆ 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  }

◆ 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  }

◆ 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  }

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.

◆ m_garbage

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

Definition at line 53 of file MuonLayerROTs.h.

◆ m_mdts

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

payload

Definition at line 49 of file MuonLayerROTs.h.

◆ s_techMax

constexpr 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:
Muon::MuonLayerROTs::m_clustersPerTechnology
std::array< std::vector< const MuonClusterOnTrack * >, s_techMax > m_clustersPerTechnology
Definition: MuonLayerROTs.h:51
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
MuonR4::SegmentFit::toInt
constexpr int toInt(const ParamDefs p)
Definition: MuonHoughDefs.h:42
RunTileMonitoring.clusters
clusters
Definition: RunTileMonitoring.py:133