ATLAS Offline Software
Loading...
Searching...
No Matches
TgcL0FloatingData.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef L0MUONS1TGCFLOATINGTOOLS_TGCL0FLOATINGDATA_H
5#define L0MUONS1TGCFLOATINGTOOLS_TGCL0FLOATINGDATA_H
6
7#include <cstddef>
8#include <cstdint>
9#include <map>
10#include <tuple>
11#include <vector>
12
13namespace L0Muon {
14namespace TgcL0Floating {
15
16enum class Station : std::uint8_t { M1, M2M3, Inner, Unknown, NumberOfStations };
17
20 using Tuple =
21 std::tuple<std::uint16_t, std::uint16_t, std::uint16_t, Station, bool>;
22
23 std::uint16_t subDetectorId{0};
24 std::uint16_t detectorSector{0};
25 std::uint16_t bcTag{0};
27 bool isStrip{false};
28
29 Tuple tie() const;
30 bool operator<(const HitGroupKey& other) const;
31};
32
33struct Hit {
34 std::uint16_t subDetectorId{0};
35 std::uint16_t detectorSector{0};
36 std::uint16_t bcTag{0};
37 std::uint16_t sswId{0};
38 std::uint16_t slbId{0};
39 std::uint16_t channel{0};
41 bool isStrip{false};
42};
43
44using HitContainer = std::vector<Hit>;
45using HitGroups = std::map<HitGroupKey, HitContainer>;
46
48 std::size_t nRawData{0};
49 std::size_t nHits{0};
50 std::size_t nWireHits{0};
51 std::size_t nStripHits{0};
52 std::size_t nUnknownStation{0};
53 std::size_t nM1Hits{0};
54 std::size_t nM2M3Hits{0};
55 std::size_t nInnerHits{0};
56};
57
58struct Segment {
59 Segment(const HitGroupKey& key, std::uint16_t firstChannel,
60 std::uint16_t lastChannel, std::size_t nHits)
61 : key{key},
64 nHits{nHits} {}
65
67 std::uint16_t firstChannel{0};
68 std::uint16_t lastChannel{0};
69 std::size_t nHits{0};
70};
71
72using SegmentContainer = std::vector<Segment>;
73
74} // namespace TgcL0Floating
75} // namespace L0Muon
76
77#endif
@ Unknown
Definition TruthClasses.h:9
std::vector< Segment > SegmentContainer
std::map< HitGroupKey, HitContainer > HitGroups
std::vector< Hit > HitContainer
Event-local key used to group decoded Run-3 TGC hits.
std::tuple< std::uint16_t, std::uint16_t, std::uint16_t, Station, bool > Tuple
bool operator<(const HitGroupKey &other) const
Segment(const HitGroupKey &key, std::uint16_t firstChannel, std::uint16_t lastChannel, std::size_t nHits)