ATLAS Offline Software
MuonSegmentCombiSummary.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_MUONSEGMENTCOMBISUMMARY_H
6 #define MUON_MUONSEGMENTCOMBISUMMARY_H
7 
8 #include <memory>
9 #include <set>
10 #include <vector>
11 
14 
15 namespace Muon {
16 
17  class MuonSegment;
18 
20  public:
21  // vector of segments
22  typedef std::vector<MuonSegment*> SegVec;
23 
24  // vector of SegVec per chamber, indexed using MuonStationIndex::ChIndex
25  typedef std::vector<SegVec> ChSegVec;
26 
27  public:
29  MuonSegmentCombiSummary(std::unique_ptr<MuonSegmentCombination> segment);
32 
34  bool has_ownership() const;
36  const MuonSegmentCombination* get() const;
39  std::unique_ptr<MuonSegmentCombination> release();
40  virtual ~MuonSegmentCombiSummary() = default;
41 
44  // access to all segments
46 
47  // access to segments in a given chamber layer
48  SegVec& chamberSegments(unsigned int chIndex);
49 
50  // counter for station layers
51  std::set<MuonStationIndex::StIndex> stations;
52  std::set<MuonStationIndex::StIndex> stationsGood;
53  std::set<MuonStationIndex::StIndex> stationsTrigger;
54 
55  unsigned int nsegments{0};
56 
57  private:
60  std::unique_ptr<MuonSegmentCombination> m_owner_combi{};
62  };
63 
64 } // namespace Muon
65 
66 #endif
Muon::MuonSegmentCombination
Definition: MuonSegmentCombination.h:30
Muon::MuonSegmentCombiSummary::stations
std::set< MuonStationIndex::StIndex > stations
number of station layers
Definition: MuonSegmentCombiSummary.h:51
Muon::MuonSegmentCombiSummary::nsegments
unsigned int nsegments
Definition: MuonSegmentCombiSummary.h:55
Muon::MuonSegmentCombiSummary::MuonSegmentCombiSummary
MuonSegmentCombiSummary(MuonSegmentCombiSummary &&)=default
Muon::MuonSegmentCombiSummary::chamberSegments
SegVec & chamberSegments(unsigned int chIndex)
Definition: MuonSegmentCombiSummary.cxx:19
Muon::MuonSegmentCombiSummary::SegVec
std::vector< MuonSegment * > SegVec
Definition: MuonSegmentCombiSummary.h:22
Muon::MuonSegmentCombiSummary::segmentsPerLayer
ChSegVec & segmentsPerLayer()
Definition: MuonSegmentCombiSummary.cxx:18
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:49
Muon::MuonSegmentCombiSummary::operator=
MuonSegmentCombiSummary & operator=(MuonSegmentCombiSummary &&other)=default
xAOD::MuonSegment
MuonSegment_v1 MuonSegment
Reference the current persistent version:
Definition: Event/xAOD/xAODMuon/xAODMuon/MuonSegment.h:13
Muon::MuonSegmentCombiSummary::m_observer_ptr
const MuonSegmentCombination * m_observer_ptr
Definition: MuonSegmentCombiSummary.h:61
Muon::MuonSegmentCombiSummary::m_owner_combi
std::unique_ptr< MuonSegmentCombination > m_owner_combi
This pointer is valid if the summary does hold the.
Definition: MuonSegmentCombiSummary.h:60
Muon::MuonSegmentCombiSummary::stationsTrigger
std::set< MuonStationIndex::StIndex > stationsTrigger
number of station layers with trigger hit
Definition: MuonSegmentCombiSummary.h:53
MuonSegmentCombinationCollection.h
Muon::MuonSegmentCombiSummary::release
std::unique_ptr< MuonSegmentCombination > release()
Releases the ownership over the SegmentCombination if the segment was constructed with a unique_ptr.
Definition: MuonSegmentCombiSummary.cxx:16
Muon::MuonSegmentCombiSummary
Definition: MuonSegmentCombiSummary.h:19
Muon::MuonSegmentCombiSummary::get
const MuonSegmentCombination * get() const
Returns the pointer used to create the segment collection.
Definition: MuonSegmentCombiSummary.cxx:14
Muon::MuonSegmentCombiSummary::m_segmentsPerChamberLayer
ChSegVec m_segmentsPerChamberLayer
Definition: MuonSegmentCombiSummary.h:58
Muon::MuonSegmentCombiSummary::stationsGood
std::set< MuonStationIndex::StIndex > stationsGood
number of station layers with good segment
Definition: MuonSegmentCombiSummary.h:52
Muon::MuonSegmentCombiSummary::has_ownership
bool has_ownership() const
States whether the Summary has ownership over the contained segment or not.
Definition: MuonSegmentCombiSummary.cxx:10
Muon::MuonStationIndex::ChIndexMax
@ ChIndexMax
Definition: MuonStationIndex.h:19
Muon::MuonSegmentCombiSummary::~MuonSegmentCombiSummary
virtual ~MuonSegmentCombiSummary()=default
Muon::MuonSegmentCombiSummary::MuonSegmentCombiSummary
MuonSegmentCombiSummary(const MuonSegmentCombination &segment)
Definition: MuonSegmentCombiSummary.cxx:9
Muon::MuonSegmentCombiSummary::segmentCombination
const MuonSegmentCombination & segmentCombination() const
access to combi
Definition: MuonSegmentCombiSummary.cxx:15
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
MuonStationIndex.h
Muon::MuonSegmentCombiSummary::ChSegVec
std::vector< SegVec > ChSegVec
Definition: MuonSegmentCombiSummary.h:25
NSWL1::PadTriggerAdapter::segment
Muon::NSW_PadTriggerSegment segment(const NSWL1::PadTrigger &data)
Definition: PadTriggerAdapter.cxx:5