ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigT1
L1CaloFEX
L1CaloFEXByteStream
src
defsL1Calo
defsL1Calo
EfexDefs.h
Go to the documentation of this file.
1
//==============================================================================
2
// EfexDefs.h
3
//==============================================================================
4
/*
5
* Class to define eFEX constants.
6
*/
7
8
#ifndef EfexDefs_H
9
#define EfexDefs_H
10
11
#include "
defsL1Calo/FexDefs.h
"
12
13
class
EfexDefs
{
14
public
:
15
// Here "ribbon" is what goes to a minipod.
16
static
int
numFibresPerRibbon
() {
return
FexDefs::numFibresPerRibbon
(); }
17
static
int
numRibbonsPerConnector
() {
return
4; }
18
static
int
numFibresPerConnector
() {
return
numFibresPerRibbon
() *
numRibbonsPerConnector
(); }
19
20
// For the moment this ignores the spare connector.
21
static
int
numInputConnectors
() {
return
4; }
22
static
int
numInputRibbons
() {
return
numInputConnectors
() *
numRibbonsPerConnector
(); }
23
static
int
numInputFibres
() {
return
numInputRibbons
() *
numFibresPerRibbon
(); }
24
// NB what if not all input ribbons are fully used (which seems likely)?
25
static
int
numInputChannels
() {
return
numInputFibres
(); }
26
27
static
int
maxSuperCellsPerFibre
() {
return
20; }
28
static
int
num32BitWordsPerFibre
() {
return
FexDefs::num32BitWordsPerFibre
(); }
29
static
int
numBitsPerSuperCell
() {
return
10; }
// TODO: CHECK THIS!!
30
31
static
int
numOutputRibbons
() {
return
2; }
// TODO: CHECK THIS!!
32
static
int
numOutputFibres
() {
return
numOutputRibbons
() *
numFibresPerRibbon
(); }
33
34
static
int
nProcessorFpgas
() {
return
4; }
35
static
int
numInputFibresPerFpga
() {
return
49; }
// 40 EM + 9 Hadronic (total number actually in use)
36
static
int
numInputMgtsPerFpga
() {
return
80; }
// NB not all are used, but index is 0-79 for all FPGAs
37
static
int
numQuadsPerFpga
() {
return
20; }
38
static
int
numMgtsPerQuad
() {
return
4; }
39
40
static
int
nCaloReadoutStreams
() {
return
4; }
// Sent separately
41
static
int
nTobReadoutStreams
() {
return
1; }
// Merged in control FPGA
42
43
// Maximum number of eta bins. NB only one end FPGA uses more than four
44
// (and the TOB coordinate may be 0-4 or 1-5 in those cases).
45
static
int
maxEtaBinsPerFpga
() {
return
5; }
46
static
int
numEtaBinsPerModule
() {
return
17; }
47
static
int
maxEtaBinsPerModule
() {
return
maxEtaBinsPerFpga
() *
nProcessorFpgas
(); }
48
49
// N. BCs of playback memory. **FIXME** This is very likely wrong!
50
static
int
inputPlaybackDepth
() {
return
FexDefs::inputPlaybackDepth
(); }
51
static
int
roSpyMemoryDepth
() {
return
0x800; }
52
53
// Mapping between minipods and MTP connectors. **FIXME** This is very likely wrong!
54
static
int
connectorForMinipod
(
int
minipod);
55
static
int
connectorFirstFibre
(
int
minipod);
56
57
// Methods for converting internal to global eta.
58
static
unsigned
int
globalEtaIndex
(
unsigned
int
efexLogicalID,
59
unsigned
int
fpgaNumber,
60
unsigned
int
etaWithinFpga);
61
static
int
globalEtaValue
(
unsigned
int
efexLogicalID,
62
unsigned
int
fpgaNumber,
63
unsigned
int
etaWithinFpga);
64
};
65
66
#endif
// EfexDefs_H
FexDefs.h
EfexDefs
This class provides static methods to handle input fibre mappings: between MTP input connectors and m...
Definition
EfexDefs.h:13
EfexDefs::numInputFibresPerFpga
static int numInputFibresPerFpga()
Definition
EfexDefs.h:35
EfexDefs::roSpyMemoryDepth
static int roSpyMemoryDepth()
Definition
EfexDefs.h:51
EfexDefs::num32BitWordsPerFibre
static int num32BitWordsPerFibre()
Definition
EfexDefs.h:28
EfexDefs::maxEtaBinsPerModule
static int maxEtaBinsPerModule()
Definition
EfexDefs.h:47
EfexDefs::numOutputFibres
static int numOutputFibres()
Definition
EfexDefs.h:32
EfexDefs::numEtaBinsPerModule
static int numEtaBinsPerModule()
Definition
EfexDefs.h:46
EfexDefs::nProcessorFpgas
static int nProcessorFpgas()
Definition
EfexDefs.h:34
EfexDefs::numBitsPerSuperCell
static int numBitsPerSuperCell()
Definition
EfexDefs.h:29
EfexDefs::numInputMgtsPerFpga
static int numInputMgtsPerFpga()
Definition
EfexDefs.h:36
EfexDefs::globalEtaIndex
static unsigned int globalEtaIndex(unsigned int efexLogicalID, unsigned int fpgaNumber, unsigned int etaWithinFpga)
Return unsigned eta bin within eFEX system (used for calibration channels).
Definition
EfexDefs.cxx:87
EfexDefs::numQuadsPerFpga
static int numQuadsPerFpga()
Definition
EfexDefs.h:37
EfexDefs::nTobReadoutStreams
static int nTobReadoutStreams()
Definition
EfexDefs.h:41
EfexDefs::numInputConnectors
static int numInputConnectors()
Definition
EfexDefs.h:21
EfexDefs::numInputChannels
static int numInputChannels()
Definition
EfexDefs.h:25
EfexDefs::nCaloReadoutStreams
static int nCaloReadoutStreams()
Definition
EfexDefs.h:40
EfexDefs::numInputFibres
static int numInputFibres()
Definition
EfexDefs.h:23
EfexDefs::numMgtsPerQuad
static int numMgtsPerQuad()
Definition
EfexDefs.h:38
EfexDefs::connectorForMinipod
static int connectorForMinipod(int minipod)
Return MTP connector number (0-3) for a given minipod.
Definition
EfexDefs.cxx:28
EfexDefs::maxSuperCellsPerFibre
static int maxSuperCellsPerFibre()
Definition
EfexDefs.h:27
EfexDefs::globalEtaValue
static int globalEtaValue(unsigned int efexLogicalID, unsigned int fpgaNumber, unsigned int etaWithinFpga)
Return signed eta bin within eFEX system (used for trigger menu API).
Definition
EfexDefs.cxx:108
EfexDefs::numInputRibbons
static int numInputRibbons()
Definition
EfexDefs.h:22
EfexDefs::numRibbonsPerConnector
static int numRibbonsPerConnector()
Definition
EfexDefs.h:17
EfexDefs::numFibresPerConnector
static int numFibresPerConnector()
Definition
EfexDefs.h:18
EfexDefs::numOutputRibbons
static int numOutputRibbons()
Definition
EfexDefs.h:31
EfexDefs::connectorFirstFibre
static int connectorFirstFibre(int minipod)
Return first fibre in the input MTP connector for a given minipod.
Definition
EfexDefs.cxx:51
EfexDefs::inputPlaybackDepth
static int inputPlaybackDepth()
Definition
EfexDefs.h:50
EfexDefs::maxEtaBinsPerFpga
static int maxEtaBinsPerFpga()
Definition
EfexDefs.h:45
EfexDefs::numFibresPerRibbon
static int numFibresPerRibbon()
Definition
EfexDefs.h:16
FexDefs::numFibresPerRibbon
static int numFibresPerRibbon()
Definition
FexDefs.h:14
FexDefs::num32BitWordsPerFibre
static int num32BitWordsPerFibre()
Definition
FexDefs.h:17
FexDefs::inputPlaybackDepth
static int inputPlaybackDepth()
Definition
FexDefs.h:22
Generated on
for ATLAS Offline Software by
1.17.0