ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonPhaseII
Event
MuonTrackEvent
MuonTrackEvent
HitSummary.h
Go to the documentation of this file.
1
2
3
/*
4
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
5
*/
6
#ifndef MUONTRACKEVENT_HITSUMMARY_H
7
#define MUONTRACKEVENT_HITSUMMARY_H
8
9
10
#include "
MuonStationIndex/MuonStationIndex.h
"
11
#include "Acts/Utilities/Helpers.hpp"
12
#include "Acts/Utilities/OstreamFormatter.hpp"
13
14
#include <ostream>
15
#include <cstdint>
16
17
namespace
MuonR4
{
23
struct
HitSummary
{
24
using
value_type
= std::uint8_t;
26
using
LayerIndex
=
Muon::MuonStationIndex::LayerIndex
;
28
HitSummary
() =
default
;
30
enum class
HitCategory
: std::uint8_t{
31
Precision
=0,
32
TriggerEta
,
33
TriggerPhi
,
34
sTgcPad
,
35
nCategories
36
37
};
38
39
enum class
Status
{
40
OnTrack
= 0,
41
Outlier
,
42
Hole
,
43
MaxValue
44
};
45
46
static
std::string
toString
(
const
HitCategory
c);
47
48
friend
std::ostream&
operator<<
(std::ostream& ostr,
const
HitCategory
c) {
49
return
(ostr<<
toString
(c));
50
}
51
52
static
std::string
toString
(
const
Status
s);
53
54
friend
std::ostream&
operator<<
(std::ostream& ostr,
const
Status
s) {
55
return
(ostr<<
toString
(s));
56
}
57
62
value_type
value
(
const
HitCategory
cat,
63
const
Status
status,
64
const
LayerIndex
layer,
65
const
bool
isSmall
)
const
;
66
73
value_type
&
value
(
const
HitCategory
cat,
74
const
Status
status,
75
const
LayerIndex
layer,
76
const
bool
isSmall
);
78
friend
std::ostream&
operator<<
(std::ostream& ostr,
const
HitSummary
& sum){
79
sum.print(ostr);
80
return
ostr;
81
}
82
83
value_type
nPrecisionStations
()
const
;
84
85
private
:
92
unsigned
translate
(
const
HitCategory
cat,
93
const
Status
status,
94
LayerIndex
layer,
95
const
bool
isSmall
)
const
;
97
void
print
(std::ostream& ostr)
const
;
99
using
Counter_t
= std::array<
value_type
, Acts::toUnderlying(
HitCategory::nCategories
) *
100
(Acts::toUnderlying(LayerIndex::LayerIndexMax) -1)*
101
Acts::toUnderlying(Status::MaxValue) * 2>;
102
103
Counter_t
m_counts
{};
104
};
105
}
106
ACTS_OSTREAM_FORMATTER
(
MuonR4::HitSummary::Status
);
107
ACTS_OSTREAM_FORMATTER
(
MuonR4::HitSummary::HitCategory
);
108
109
110
#endif
ACTS_OSTREAM_FORMATTER
ACTS_OSTREAM_FORMATTER(MuonR4::HitSummary::Status)
MuonStationIndex.h
MuonR4
This header ties the generic definitions in this package.
Definition
GlobalPattern.h:14
MuonValR4::Status
MuonR4::HitSummary::Status Status
Definition
TrackSummaryModule.cxx:15
Muon::MuonStationIndex::isSmall
bool isSmall(const ChIndex index)
Returns true if the chamber index is in a small sector.
Muon::MuonStationIndex::LayerIndex
LayerIndex
enum to classify the different layers in the muon spectrometer
Definition
MuonStationIndex.h:39
MuonR4::HitSummary::print
void print(std::ostream &ostr) const
Print the summary as an ASCII table.
Definition
HitSummary.cxx:76
MuonR4::HitSummary::value_type
std::uint8_t value_type
Definition
HitSummary.h:24
MuonR4::HitSummary::operator<<
friend std::ostream & operator<<(std::ostream &ostr, const HitCategory c)
Definition
HitSummary.h:48
MuonR4::HitSummary::LayerIndex
Muon::MuonStationIndex::LayerIndex LayerIndex
Abrivation of the layer index.
Definition
HitSummary.h:26
MuonR4::HitSummary::operator<<
friend std::ostream & operator<<(std::ostream &ostr, const HitSummary &sum)
Output string stream operator.
Definition
HitSummary.h:78
MuonR4::HitSummary::nPrecisionStations
value_type nPrecisionStations() const
Returns the number of precision stations with at least 3 precision hits.
Definition
HitSummary.cxx:62
MuonR4::HitSummary::m_counts
Counter_t m_counts
Definition
HitSummary.h:103
MuonR4::HitSummary::translate
unsigned translate(const HitCategory cat, const Status status, LayerIndex layer, const bool isSmall) const
Translates the 4 classification indices to a unique consecutive number (used for storage access).
Definition
HitSummary.cxx:37
MuonR4::HitSummary::toString
static std::string toString(const HitCategory c)
Converts the hit category to a string.
Definition
HitSummary.cxx:16
MuonR4::HitSummary::HitCategory
HitCategory
Category of the hit.
Definition
HitSummary.h:30
MuonR4::HitSummary::HitCategory::nCategories
@ nCategories
sTgc pad hits
Definition
HitSummary.h:35
MuonR4::HitSummary::HitCategory::TriggerPhi
@ TriggerPhi
Trigger eta hits (Tgc, Rpc).
Definition
HitSummary.h:33
MuonR4::HitSummary::HitCategory::Precision
@ Precision
Definition
HitSummary.h:31
MuonR4::HitSummary::HitCategory::sTgcPad
@ sTgcPad
Trigger phi hits (Tgc, Rpc).
Definition
HitSummary.h:34
MuonR4::HitSummary::HitCategory::TriggerEta
@ TriggerEta
Precision hits (Mdt, NSW) on track.
Definition
HitSummary.h:32
MuonR4::HitSummary::operator<<
friend std::ostream & operator<<(std::ostream &ostr, const Status s)
Definition
HitSummary.h:54
MuonR4::HitSummary::HitSummary
HitSummary()=default
Default constructor.
MuonR4::HitSummary::Counter_t
std::array< value_type, Acts::toUnderlying(HitCategory::nCategories) *(Acts::toUnderlying(LayerIndex::LayerIndexMax) -1) * Acts::toUnderlying(Status::MaxValue) *2 > Counter_t
Abrivation to store the hits per layer.
Definition
HitSummary.h:99
MuonR4::HitSummary::Status
Status
Contribution to the track fit.
Definition
HitSummary.h:39
MuonR4::HitSummary::Status::OnTrack
@ OnTrack
Definition
HitSummary.h:40
MuonR4::HitSummary::Status::Hole
@ Hole
Added to the trajectory but rejected.
Definition
HitSummary.h:42
MuonR4::HitSummary::Status::Outlier
@ Outlier
Added to the trajectory & contributing to the fit.
Definition
HitSummary.h:41
MuonR4::HitSummary::Status::MaxValue
@ MaxValue
Expected hit but missing.
Definition
HitSummary.h:43
MuonR4::HitSummary::value
value_type value(const HitCategory cat, const Status status, const LayerIndex layer, const bool isSmall) const
Returns the value type for a defined hit category & layer.
Definition
HitSummary.cxx:52
Generated on
for ATLAS Offline Software by
1.17.0