ATLAS Offline Software
Loading...
Searching...
No Matches
NSW_PadTriggerData.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef MUONRDO_NSW_PADTRIGGERDATA
5#define MUONRDO_NSW_PADTRIGGERDATA
6
7#include "GaudiKernel/MsgStream.h"
8
9#include <iosfwd>
10#include <string>
11#include <tuple>
12#include <vector>
13#include <cstdint>
14
15namespace Muon {
16
17using uint32_vt = std::vector<uint32_t>;
18
20public:
21
22 // constructor for data
23 NSW_PadTriggerData(uint32_t sourceid,
24 uint32_t flags,
25 uint32_t ec,
26 uint32_t fragid,
27 uint32_t secid,
28 uint32_t spare,
29 uint32_t orbit,
30 uint32_t bcid,
31 uint32_t l1id,
32 uint32_t orbitid,
33 uint32_t orbit1,
34 uint32_t status,
35 uint32_t hit_n,
36 uint32_t pfeb_n,
37 uint32_t trigger_n,
38 uint32_t bcid_n,
39 const uint32_vt& hit_relbcid,
40 const uint32_vt& hit_pfeb,
41 const uint32_vt& hit_tdschannel,
42 const uint32_vt& hit_vmmchannel,
43 const uint32_vt& hit_vmm,
44 const uint32_vt& hit_padchannel,
45 const uint32_vt& pfeb_addr,
46 const uint32_vt& pfeb_nchan,
47 const uint32_vt& pfeb_disconnected,
48 const uint32_vt& trigger_bandid,
49 const uint32_vt& trigger_phiid,
50 const uint32_vt& trigger_relbcid,
51 const uint32_vt& bcid_rel,
52 const uint32_vt& bcid_status,
53 const uint32_vt& bcid_multzero,
54 const uint32_vt& bcid_multiplicity);
55
56 // constructor for sim
57 NSW_PadTriggerData(bool side_A, uint32_t sector, uint32_t bcid, uint32_t l1id);
58
59 uint32_t getSourceid() const { return m_sourceid; }
60 uint32_t getFlags() const { return m_flags; }
61 uint32_t getEc() const { return m_ec; }
62 uint32_t getFragid() const { return m_fragid; }
63 uint32_t getSecid() const { return m_secid; }
64 uint32_t getSpare() const { return m_spare; }
65 uint32_t getOrbit() const { return m_orbit; }
66 uint32_t getBcid() const { return m_bcid; }
67 uint32_t getL1id() const { return m_l1id; }
68 uint32_t getOrbitid() const { return m_orbitid; }
69 uint32_t getOrbit1() const { return m_orbit1; }
70 uint32_t getStatus() const { return m_status; }
71 uint32_t getNumberOfHits() const { return m_hit_n; }
72 uint32_t getNumberOfPfebs() const { return m_pfeb_n; }
73 uint32_t getNumberOfTriggers() const { return m_trigger_n; }
74 uint32_t getNumberOfBcids() const { return m_bcid_n; }
75 const uint32_vt& getHitRelBcids() const { return m_hit_relbcid; }
76 const uint32_vt& getHitPfebs() const { return m_hit_pfeb; }
77 const uint32_vt& getHitTdsChannels() const { return m_hit_tdschannel; }
78 const uint32_vt& getHitVmmChannels() const { return m_hit_vmmchannel; }
79 const uint32_vt& getHitVmms() const { return m_hit_vmm; }
80 const uint32_vt& getHitPadChannels() const { return m_hit_padchannel; }
81 const uint32_vt& getPfebAddrs() const { return m_pfeb_addr; }
82 const uint32_vt& getPfebNChannels() const { return m_pfeb_nchan; }
84 const uint32_vt& getTriggerBandIds() const { return m_trigger_bandid; }
85 const uint32_vt& getTriggerPhiIds() const { return m_trigger_phiid; }
87 const uint32_vt& getBcidRels() const { return m_bcid_rel; }
88 const uint32_vt& getBcidStatuses() const { return m_bcid_status; }
89 const uint32_vt& getBcidMultZeros() const { return m_bcid_multzero; }
91
92 std::string string() const;
93 friend std::ostream& operator<<(std::ostream& stream, const NSW_PadTriggerData& rhs);
94 friend MsgStream& operator<<(MsgStream& stream, const NSW_PadTriggerData& rhs);
95
96 void addTrigger(uint32_t bandid, uint32_t phiid, uint32_t relbcid);
97
98 bool sideA() const;
99 bool sideC() const;
100 bool largeSector() const;
101 bool smallSector() const;
102
103private:
104
105 static std::tuple< uint32_vt, uint32_vt, uint32_vt >
106 filterNonNulls(const uint32_vt & bandids, const uint32_vt & phiids, const uint32_vt & bcids) ;
107
108 uint32_t m_sourceid{0};
109 uint32_t m_flags{0};
110 uint32_t m_ec{0};
111 uint32_t m_fragid{0};
112 uint32_t m_secid{0};
113 uint32_t m_spare{0};
114 uint32_t m_orbit{0};
115 uint32_t m_bcid{0};
116 uint32_t m_l1id{0};
117 uint32_t m_orbitid{0};
118 uint32_t m_orbit1{0};
119 uint32_t m_status{0};
120 uint32_t m_hit_n{0};
121 uint32_t m_pfeb_n{0};
122 uint32_t m_trigger_n{0};
123 uint32_t m_bcid_n{0};
140
141 static constexpr uint32_t NULL_BANDID{0xff};
142 static constexpr uint32_t NULL_PHIID{0x3f};
143 static constexpr uint32_t SIDE_A = 0x6d0000;
144 static constexpr uint32_t SIDE_C = 0x6e0000;
145
146};
147} // namespace Muon
148
149#endif // MUONRDO_NSW_PADTRIGGERDATA
uint32_t getNumberOfPfebs() const
const uint32_vt & getHitPfebs() const
const uint32_vt & getHitRelBcids() const
const uint32_vt & getBcidRels() const
uint32_t getNumberOfBcids() const
static constexpr uint32_t SIDE_A
friend std::ostream & operator<<(std::ostream &stream, const NSW_PadTriggerData &rhs)
const uint32_vt & getHitTdsChannels() const
static std::tuple< uint32_vt, uint32_vt, uint32_vt > filterNonNulls(const uint32_vt &bandids, const uint32_vt &phiids, const uint32_vt &bcids)
const uint32_vt & getPfebDisconnecteds() const
const uint32_vt & getBcidStatuses() const
const uint32_vt & getPfebAddrs() const
static constexpr uint32_t NULL_PHIID
uint32_t getNumberOfTriggers() const
const uint32_vt & getPfebNChannels() const
const uint32_vt & getTriggerBandIds() const
const uint32_vt & getTriggerRelBcids() const
const uint32_vt & getHitVmmChannels() const
const uint32_vt & getHitVmms() const
uint32_t getNumberOfHits() const
const uint32_vt & getBcidMultiplicities() const
const uint32_vt & getTriggerPhiIds() const
static constexpr uint32_t SIDE_C
void addTrigger(uint32_t bandid, uint32_t phiid, uint32_t relbcid)
static constexpr uint32_t NULL_BANDID
const uint32_vt & getBcidMultZeros() const
const uint32_vt & getHitPadChannels() const
NSW_PadTriggerData(uint32_t sourceid, uint32_t flags, uint32_t ec, uint32_t fragid, uint32_t secid, uint32_t spare, uint32_t orbit, uint32_t bcid, uint32_t l1id, uint32_t orbitid, uint32_t orbit1, uint32_t status, uint32_t hit_n, uint32_t pfeb_n, uint32_t trigger_n, uint32_t bcid_n, const uint32_vt &hit_relbcid, const uint32_vt &hit_pfeb, const uint32_vt &hit_tdschannel, const uint32_vt &hit_vmmchannel, const uint32_vt &hit_vmm, const uint32_vt &hit_padchannel, const uint32_vt &pfeb_addr, const uint32_vt &pfeb_nchan, const uint32_vt &pfeb_disconnected, const uint32_vt &trigger_bandid, const uint32_vt &trigger_phiid, const uint32_vt &trigger_relbcid, const uint32_vt &bcid_rel, const uint32_vt &bcid_status, const uint32_vt &bcid_multzero, const uint32_vt &bcid_multiplicity)
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
std::vector< uint32_t > uint32_vt