ATLAS Offline Software
Loading...
Searching...
No Matches
CPCMXTopoData.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3*/
4/* **********************************************************
5*
6* Emulation of TOB link from one CP CMX to L1Topo
7* Author: Alan Watson <Alan.Watson@CERN.CH>
8*
9********************************************************** */
10#ifndef TRIGT1CALO_CPCMXTOPODATA_H
11#define TRIGT1CALO_CPCMXTOPODATA_H
12
13// STL include(s):
14#include <vector>
15#include <string>
16
17// Local include(s):
19
20namespace LVL1 {
21
23
24 public:
26 CPCMXTopoData( int crate, int cmx, bool overflow, const std::vector< uint32_t >& tobWords );
28 CPCMXTopoData( int crate, int cmx, bool overflow, const std::vector< CPTopoTOB >& tobs );
30 CPCMXTopoData( int crate, int cmx, const std::vector< uint32_t >& roiWords );
32 CPCMXTopoData( int crate, int cmx );
36
38 int crate() const;
40 int cmx() const;
42 bool overflow() const;
44 void tobs(std::vector< CPTopoTOB >& tobs) const;
46 const std::vector< uint32_t >& tobWords() const;
47
49 void addTOB( const CPTopoTOB tob );
50 void addTOB( uint32_t tobWord );
51
53 void addRoI( uint32_t roiWord );
54
56 void setOverflow( bool overflow );
57
63 private:
65 int m_crate;
66 int m_cmx;
69 std::vector< uint32_t > m_tobWords;
70
71 static const unsigned int s_maxTOBsPerLink = 30;
72 static const unsigned int s_maxTOBsPerCpm = 5;
73
74 }; // class CPCMXTopoData
75
76
77} // namespace bracket
78
79
80#ifndef CPCMXTopoData_ClassDEF_H
82#endif
83
84#endif // TRIGT1CALO_CPCMXTOPODATA_H
static const unsigned int s_maxTOBsPerCpm
as specified in BackplaneFormats_v3.xlsx
const std::vector< uint32_t > & tobWords() const
Return vector of TOB words.
void addTOB(const CPTopoTOB tob)
Add TOB to record.
int m_crate
Data members.
CPCMXTopoData(int crate, int cmx, bool overflow, const std::vector< uint32_t > &tobWords)
Constructor with Crate, CMX numbers, overflow flag and vector of TOB words.
int crate() const
Return crate number (0-3)
bool overflow() const
Return overflow flag.
int cmx() const
Return CMX number (0 = EM, 1 = TAU)
std::vector< uint32_t > m_tobWords
CPCMXTopoData & checkCpmOverflow()
count whether any transmission CPM -> CMX had too many TOBs
CPCMXTopoData()
Default constructor.
void addRoI(uint32_t roiWord)
Add TOB from RoI word.
bool m_cpm_overflow
overflow on CPM -> CMX transmission
~CPCMXTopoData()
Destructor.
static const unsigned int s_maxTOBsPerLink
Static constants.
void setOverflow(bool overflow)
Set overflow flag.
bool m_overflow
overflow on CMX -> L1Topo transmission
void tobs(std::vector< CPTopoTOB > &tobs) const
Fill a vector of TOBs.
CP TOB data for L1Topo.
Definition CPTopoTOB.h:19
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...