ATLAS Offline Software
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 
20 namespace LVL1 {
21 
22  class CPCMXTopoData {
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 );
34  CPCMXTopoData();
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;
67  bool m_overflow;
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
LVL1::CPCMXTopoData::tobWords
const std::vector< uint32_t > & tobWords() const
Return vector of TOB words.
Definition: CPCMXTopoData.cxx:138
LVL1::CPCMXTopoData::crate
int crate() const
Return crate number (0-3)
Definition: CPCMXTopoData.cxx:120
LVL1::CPCMXTopoData::s_maxTOBsPerCpm
static const unsigned int s_maxTOBsPerCpm
as specified in BackplaneFormats_v3.xlsx
Definition: CPCMXTopoData.h:72
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
LVL1::CPCMXTopoData::~CPCMXTopoData
~CPCMXTopoData()
Destructor.
Definition: CPCMXTopoData.cxx:85
LVL1::CPCMXTopoData::m_cpm_overflow
bool m_cpm_overflow
overflow on CPM -> CMX transmission
Definition: CPCMXTopoData.h:68
LVL1::CPCMXTopoData::m_cmx
int m_cmx
Definition: CPCMXTopoData.h:66
LVL1::CPCMXTopoData::s_maxTOBsPerLink
static const unsigned int s_maxTOBsPerLink
Static constants.
Definition: CPCMXTopoData.h:71
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
xAOD::roiWord
roiWord
Definition: TrigMissingET_v1.cxx:36
LVL1::CPTopoTOB
CP TOB data for L1Topo.
Definition: CPTopoTOB.h:19
LVL1::CPCMXTopoData::setOverflow
void setOverflow(bool overflow)
Set overflow flag.
Definition: CPCMXTopoData.cxx:114
LVL1::CPCMXTopoData::addRoI
void addRoI(uint32_t roiWord)
Add TOB from RoI word.
Definition: CPCMXTopoData.cxx:104
CPTopoTOB.h
LVL1::CPCMXTopoData::m_crate
int m_crate
Data members.
Definition: CPCMXTopoData.h:65
LVL1::CPCMXTopoData::cmx
int cmx() const
Return CMX number (0 = EM, 1 = TAU)
Definition: CPCMXTopoData.cxx:125
LVL1::CPCMXTopoData::addTOB
void addTOB(const CPTopoTOB tob)
Add TOB to record.
Definition: CPCMXTopoData.cxx:96
LVL1::CPCMXTopoData::overflow
bool overflow() const
Return overflow flag.
Definition: CPCMXTopoData.cxx:130
LVL1::CPCMXTopoData::m_tobWords
std::vector< uint32_t > m_tobWords
Definition: CPCMXTopoData.h:69
LVL1::CPCMXTopoData::tobs
void tobs(std::vector< CPTopoTOB > &tobs) const
Fill a vector of TOBs.
Definition: CPCMXTopoData.cxx:143
LVL1::CPCMXTopoData::checkCpmOverflow
CPCMXTopoData & checkCpmOverflow()
count whether any transmission CPM -> CMX had too many TOBs
Definition: CPCMXTopoData.cxx:153
LVL1::CPCMXTopoData::CPCMXTopoData
CPCMXTopoData()
Default constructor.
Definition: CPCMXTopoData.cxx:75
LVL1::CPCMXTopoData::m_overflow
bool m_overflow
overflow on CMX -> L1Topo transmission
Definition: CPCMXTopoData.h:67
LVL1::CPCMXTopoData
Definition: CPCMXTopoData.h:22
CPCMXTopoData_ClassDEF.h