ATLAS Offline Software
JemRoiSubBlock.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGT1CALOBYTESTREAM_JEMROISUBBLOCK_H
6 #define TRIGT1CALOBYTESTREAM_JEMROISUBBLOCK_H
7 
8 #include <vector>
9 
10 #include "L1CaloSubBlock.h"
11 
12 namespace LVL1 {
13  class JEMRoI;
14 }
15 
16 namespace LVL1BS {
17 
27 
28  public:
31 
33  void clear();
34 
36  void setRoiHeader(int version, int crate, int module);
38  void fillRoi(LVL1::JEMRoI roi);
39 
41  LVL1::JEMRoI roi(int frame, int forward) const;
42 
44  bool pack();
46  bool unpack();
47 
48  private:
50  static const int s_wordIdVal = 0xc;
51  // G-Link/Neutral format
52  static const int s_frames = 8;
53  static const int s_framesPerPin = 4;
54  static const int s_bunchCrossingPin = 2;
55  static const int s_hitsBits = 8;
56  static const int s_locationBits = 2;
57  static const int s_saturationBits = 1;
58  static const int s_bunchCrossingBits = 12;
59  static const int s_paddingBits = 32;
60 
62  bool packNeutral();
64  bool unpackNeutral();
65 
67  std::vector<LVL1::JEMRoI> m_roiData;
68 
69 };
70 
71 } // end namespace
72 
73 #endif
LVL1BS::JemRoiSubBlock::s_saturationBits
static const int s_saturationBits
Definition: JemRoiSubBlock.h:57
LVL1BS::JemRoiSubBlock::~JemRoiSubBlock
~JemRoiSubBlock()
Definition: JemRoiSubBlock.cxx:30
LVL1BS::JemRoiSubBlock::s_framesPerPin
static const int s_framesPerPin
Definition: JemRoiSubBlock.h:53
LVL1BS::JemRoiSubBlock::clear
void clear()
Clear all data.
Definition: JemRoiSubBlock.cxx:36
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1BS::JemRoiSubBlock::setRoiHeader
void setRoiHeader(int version, int crate, int module)
Store header.
Definition: JemRoiSubBlock.cxx:44
LVL1BS::L1CaloSubBlock::crate
int crate() const
Definition: L1CaloSubBlock.h:263
LVL1BS::JemRoiSubBlock::s_hitsBits
static const int s_hitsBits
Definition: JemRoiSubBlock.h:55
LVL1BS::JemRoiSubBlock::s_paddingBits
static const int s_paddingBits
Definition: JemRoiSubBlock.h:59
L1CaloSubBlock.h
LVL1BS::JemRoiSubBlock::roi
LVL1::JEMRoI roi(int frame, int forward) const
Return RoI for given frame and forward.
Definition: JemRoiSubBlock.cxx:64
LVL1BS::JemRoiSubBlock
Sub-Block class for JEM RoI data (neutral format).
Definition: JemRoiSubBlock.h:26
LVL1BS::JemRoiSubBlock::pack
bool pack()
Pack data.
Definition: JemRoiSubBlock.cxx:74
LVL1BS::L1CaloSubBlock::version
int version() const
Definition: L1CaloSubBlock.h:243
LVL1BS::JemRoiSubBlock::fillRoi
void fillRoi(LVL1::JEMRoI roi)
Store RoI.
Definition: JemRoiSubBlock.cxx:52
LVL1BS::JemRoiSubBlock::s_bunchCrossingBits
static const int s_bunchCrossingBits
Definition: JemRoiSubBlock.h:58
LVL1BS::JemRoiSubBlock::unpack
bool unpack()
Unpack data.
Definition: JemRoiSubBlock.cxx:93
LVL1BS::JemRoiSubBlock::JemRoiSubBlock
JemRoiSubBlock()
Definition: JemRoiSubBlock.cxx:26
LVL1BS::L1CaloSubBlock::module
int module() const
Definition: L1CaloSubBlock.h:268
LVL1BS::JemRoiSubBlock::packNeutral
bool packNeutral()
Pack neutral data.
Definition: JemRoiSubBlock.cxx:116
LVL1BS::JemRoiSubBlock::m_roiData
std::vector< LVL1::JEMRoI > m_roiData
RoIs.
Definition: JemRoiSubBlock.h:67
LVL1BS::JemRoiSubBlock::unpackNeutral
bool unpackNeutral()
Unpack neutral data.
Definition: JemRoiSubBlock.cxx:141
LVL1BS::L1CaloSubBlock
L1Calo Sub-Block base class.
Definition: L1CaloSubBlock.h:24
LVL1BS
Definition: ZdcByteStreamReadV1V2Tool.h:47
LVL1::JEMRoI
JEM RoI data.
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/JEMRoI.h:19
LVL1BS::JemRoiSubBlock::s_bunchCrossingPin
static const int s_bunchCrossingPin
Definition: JemRoiSubBlock.h:54
LVL1BS::JemRoiSubBlock::s_wordIdVal
static const int s_wordIdVal
Header word ID.
Definition: JemRoiSubBlock.h:50
LVL1BS::JemRoiSubBlock::s_locationBits
static const int s_locationBits
Definition: JemRoiSubBlock.h:56
LVL1BS::JemRoiSubBlock::s_frames
static const int s_frames
Definition: JemRoiSubBlock.h:52
xAOD::JEMRoI
JEMRoI_v1 JEMRoI
Define the latest version of the JEMRoI class.
Definition: Event/xAOD/xAODTrigL1Calo/xAODTrigL1Calo/JEMRoI.h:14