ATLAS Offline Software
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 
11 #include "Acts/Utilities/Helpers.hpp"
12 
13 #include <ostream>
14 
15 namespace MuonR4{
21  struct HitSummary{
26  HitSummary() = default;
29  Precision=0,
30  TriggerEta,
31  TriggerPhi,
33  };
35  enum class Status {
36  OnTrack = 0,
37  Outlier,
38  Hole,
39  MaxValue
40  };
42  static std::string toString(const HitCategory c);
44  static std::string toString(const Status s);
50  value_type value(const HitCategory cat,
51  const Status status,
52  const LayerIndex layer,
53  const bool isSmall) const;
54 
61  value_type& value(const HitCategory cat,
62  const Status status,
63  const LayerIndex layer,
64  const bool isSmall);
66  friend std::ostream& operator<<(std::ostream& ostr, const HitSummary& sum){
67  sum.print(ostr);
68  return ostr;
69  }
70  private:
77  unsigned translate(const HitCategory cat,
78  const Status status,
80  const bool isSmall) const;
82  void print(std::ostream& ostr) const;
84  using Counter_t = std::array<value_type, Acts::toUnderlying(HitCategory::nCategories) *
85  (Acts::toUnderlying(LayerIndex::LayerIndexMax) -1)*
86  Acts::toUnderlying(Status::MaxValue) * 2>;
87 
89  };
90 }
91 
92 #endif
Muon::MuonStationIndex::LayerIndex
LayerIndex
enum to classify the different layers in the muon spectrometer
Definition: MuonStationIndex.h:38
MuonR4::HitSummary::HitCategory::TriggerPhi
@ TriggerPhi
Trigger eta hits (Tgc, Rpc)
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:553
MuonR4::HitSummary::HitCategory::Precision
@ Precision
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:36
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:86
MuonR4::HitSummary::HitCategory::nCategories
@ nCategories
Trigger phi hits (Tgc, Rpc)
MuonR4::HitSummary::operator<<
friend std::ostream & operator<<(std::ostream &ostr, const HitSummary &sum)
Output string stream operator.
Definition: HitSummary.h:66
MuonR4::HitSummary::value_type
std::uint8_t value_type
Definition: HitSummary.h:22
MuonR4::HitSummary::Status::MaxValue
@ MaxValue
Expected hit but missing.
convertTimingResiduals.sum
sum
Definition: convertTimingResiduals.py:55
MuonR4::HitSummary::print
void print(std::ostream &ostr) const
Print the summary as an ASCII table.
Definition: HitSummary.cxx:60
MuonR4::HitSummary::Status::OnTrack
@ OnTrack
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
MuonR4::HitSummary::HitCategory
HitCategory
Category of the hit.
Definition: HitSummary.h:28
MuonR4::HitSummary::toString
static std::string toString(const HitCategory c)
Converts the hit category to a string.
Definition: HitSummary.cxx:16
lumiFormat.array
array
Definition: lumiFormat.py:91
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:51
MuonR4::HitSummary::Status::Hole
@ Hole
Added to the trajectory but rejected.
MuonR4::HitSummary::HitSummary
HitSummary()=default
Default constructor.
MuonR4
This header ties the generic definitions in this package.
Definition: HoughEventData.h:16
MuonR4::HitSummary::Status::Outlier
@ Outlier
Added to the trajectory & contributing to the fit.
MuonR4::HitSummary::Status
Status
Contribution to the track fit.
Definition: HitSummary.h:35
MuonR4::HitSummary
Summary struct to hold the hit counts on the track per MS layer.
Definition: HitSummary.h:21
python.SystemOfUnits.s
float s
Definition: SystemOfUnits.py:147
merge.status
status
Definition: merge.py:16
MuonStationIndex.h
MuonR4::HitSummary::m_counts
Counter_t m_counts
Definition: HitSummary.h:88
value_type
Definition: EDM_MasterSearch.h:11
MuonR4::HitSummary::HitCategory::TriggerEta
@ TriggerEta
Precision hits (Mdt, NSW) on track.
python.compressB64.c
def c
Definition: compressB64.py:93
Muon::MuonStationIndex::isSmall
bool isSmall(const ChIndex index)
Returns true if the chamber index is in a small sector.