18 const std::vector<unsigned int>& tobWords) :
38 std::vector<unsigned int> allTOBs(8,0);
41 for ( ; itRoI != tobs->
end(); ++itRoI) {
42 if ( (*itRoI)->crate() !=
crate || (*itRoI)->jem() !=
module )
continue;
44 int frame = (*itRoI)->frame();
45 int lc = (*itRoI)->location();
46 int etL = (*itRoI)->energyLarge();
47 int etS = (*itRoI)->energySmall();
53 unsigned int tobdata = etL + (etS<<10) + (lc<<19);
54 allTOBs[frame] = tobdata;
59 for (
int i = 0; i < 8; ++i) {
60 if (allTOBs[i] == 0 )
continue;
62 unsigned int etL = allTOBs[i] & 0x3ff;
63 unsigned int etS = (allTOBs[i] >> 10) & 0x1ff;
64 unsigned int lc = (allTOBs[i] >> 19) & 3;
96 for (
unsigned int word = 0; word < 4; ++word) {
97 unsigned int parity = 1;
98 for (
unsigned int bit = 0; bit < 24; ++bit)
if ( ( (
m_DataWords[word]>>bit) & 1) > 0 ) parity++;
140 for (
unsigned int i = 0; i < 8; ++i) {
160 std::vector<unsigned int> bits;
163 for (
unsigned int i = 0; i < 8; ++i) {
167 if (ntob < 4) bits.push_back(i);
181 std::vector<unsigned int>
data;
187 unsigned int ntob = 0;
188 for (
unsigned int i = 0; i < 8; ++i) {
194 unsigned int word = 0;
195 unsigned int coord = 0;
196 unsigned int etSmall = 0;
197 unsigned int etLarge = 0;
222 word = etLarge + (etSmall<<10) + (
coord<<19);
223 data.push_back(word);
238 std::vector<unsigned int>
data;
244 unsigned int ntob = 0;
245 for (
unsigned int i = 0; i < 8; ++i) {
251 unsigned int frame = i;
255 unsigned int coord = 0;
256 unsigned int etSmall = 0;
257 unsigned int etLarge = 0;
282 word = etLarge + (etSmall<<10) + (
coord<<19) + (frame<<21) + (
m_module<<24);
283 data.push_back(word);
char data[hepevt_bytes_allocation_ATLAS]
DataModel_detail::const_iterator< DataVector > const_iterator
Standard const_iterator.
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
JetCMXData()
Constructors.
bool overflow() const
Report whether TOB overflow occurred.
int crate() const
Data accessors.
std::vector< unsigned int > TOBPresenceBits() const
Locations in Presence Map for up to 4 TOBs.
std::vector< unsigned int > m_DataWords
virtual ~JetCMXData()
Destructor.
unsigned int presenceMap() const
8 bit presence map
int module() const
module number
std::vector< unsigned int > TopoTOBs() const
L1Topo TOB words (1bRO + 4b JEM + 3b Frame + 2b LC + 9b Small ET + 10b Large ET) for up to 4 TOBs.
std::vector< unsigned int > DataWords() const
the 4 raw backplane data words
int m_crate
Internal data.
std::vector< unsigned int > TOBWords() const
Data words (2b LC + 9b Small ET + 10b Large ET) for up to 4 TOBs.
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...