ATLAS Offline Software
Loading...
Searching...
No Matches
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/JEMRoI.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef TRIGT1CALO_JEMROI_H
5#define TRIGT1CALO_JEMROI_H
6
7#include <stdint.h>
8
9namespace LVL1 {
10
18
19class JEMRoI {
20
21 public:
22
23 JEMRoI();
24 JEMRoI(uint32_t roiWord);
25 JEMRoI(int crate, int jem, int frame, int location, int forward,
26 int hits, int error);
27
28 ~JEMRoI();
29
31 int crate() const;
33 int jem() const;
35 int frame() const;
37 int location() const;
39 int forward() const;
41 int hits() const;
43 int error() const;
44
46 uint32_t roiWord() const;
48 bool setRoiWord(uint32_t roiWord);
49
50 private:
51
53 static const unsigned int s_wordIdVal = 0x4;
54 // Data locations
55 static const int s_wordIdBit = 29;
56 static const int s_crateBit = 28;
57 static const int s_jemBit = 24;
58 static const int s_frameBit = 21;
59 static const int s_locationBit = 19;
60 static const int s_forwardBit = 18;
61 static const int s_parityBit = 17;
62 static const int s_saturationBit = 16;
63 static const int s_forwardHitsBit = 8;
64 static const int s_mainHitsBit = 0;
65 // Data masks
66 static const int s_wordIdMask = 0x7;
67 static const int s_crateMask = 0x1;
68 static const int s_jemMask = 0xf;
69 static const int s_frameMask = 0x7;
70 static const int s_locationMask = 0x3;
71 static const int s_forwardMask = 0x1;
72 static const int s_parityMask = 0x1;
73 static const int s_saturationMask = 0x1;
74 static const int s_forwardHitsMask = 0xf;
75 static const int s_mainHitsMask = 0xff;
76
78 int parity() const;
80 int saturation() const;
81
83 uint32_t m_roiWord;
84
85};
86
87inline int JEMRoI::crate() const
88{
89 return (m_roiWord >> s_crateBit) & s_crateMask;
90}
91
92inline int JEMRoI::jem() const
93{
94 return (m_roiWord >> s_jemBit) & s_jemMask;
95}
96
97inline int JEMRoI::frame() const
98{
99 return (m_roiWord >> s_frameBit) & s_frameMask;
100}
101
102inline int JEMRoI::location() const
103{
105}
106
107inline int JEMRoI::forward() const
108{
110}
111
112inline int JEMRoI::error() const
113{
114 return (parity() << 1) | saturation();
115}
116
117inline uint32_t JEMRoI::roiWord() const
118{
119 return m_roiWord;
120}
121
122inline int JEMRoI::parity() const
123{
124 return (m_roiWord >> s_parityBit) & s_parityMask;
125}
126
127inline int JEMRoI::saturation() const
128{
130}
131
132} // end namespace
133
134#ifndef JEMRoI_ClassDEF_H
136#endif
137
138#endif
static const unsigned int s_wordIdVal
RoI word ID.
bool setRoiWord(uint32_t roiWord)
Set RoI word with ID check.
Definition JEMRoI.cxx:74
uint32_t roiWord() const
Return packed RoI word.
int error() const
Return error flags (bit 0 Saturation, bit 1 Parity)
int location() const
Return location (RoI local coords) (0-3)
int parity() const
Return parity error flag (0/1)
int hits() const
Return Jet hit map (8 bits Main or 4 bits Forward)
Definition JEMRoI.cxx:64
int frame() const
Return RoI frame number (0-7)
int saturation() const
Return saturation flag (0/1)
int forward() const
Return forward jet flag (0/1)
int jem() const
Return JEM number (0-15)
int crate() const
Return crate number (0-1)
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...