ATLAS Offline Software
JemRoiSubBlockV1.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_JEMROISUBBLOCKV1_H
6 #define TRIGT1CALOBYTESTREAM_JEMROISUBBLOCKV1_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::JemRoiSubBlockV1
Sub-Block class for JEM RoI data (neutral format) pre-LS1.
Definition: JemRoiSubBlockV1.h:26
LVL1BS::JemRoiSubBlockV1::s_bunchCrossingBits
static const int s_bunchCrossingBits
Definition: JemRoiSubBlockV1.h:58
LVL1BS::JemRoiSubBlockV1::unpackNeutral
bool unpackNeutral()
Unpack neutral data.
Definition: JemRoiSubBlockV1.cxx:141
LVL1BS::JemRoiSubBlockV1::s_locationBits
static const int s_locationBits
Definition: JemRoiSubBlockV1.h:56
LVL1BS::JemRoiSubBlockV1::JemRoiSubBlockV1
JemRoiSubBlockV1()
Definition: JemRoiSubBlockV1.cxx:26
LVL1BS::JemRoiSubBlockV1::s_frames
static const int s_frames
Definition: JemRoiSubBlockV1.h:52
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1BS::L1CaloSubBlock::crate
int crate() const
Definition: L1CaloSubBlock.h:263
L1CaloSubBlock.h
LVL1BS::JemRoiSubBlockV1::roi
LVL1::JEMRoI roi(int frame, int forward) const
Return RoI for given frame and forward.
Definition: JemRoiSubBlockV1.cxx:64
LVL1BS::JemRoiSubBlockV1::s_wordIdVal
static const int s_wordIdVal
Header word ID.
Definition: JemRoiSubBlockV1.h:50
LVL1BS::JemRoiSubBlockV1::unpack
bool unpack()
Unpack data.
Definition: JemRoiSubBlockV1.cxx:93
LVL1BS::L1CaloSubBlock::version
int version() const
Definition: L1CaloSubBlock.h:243
LVL1BS::JemRoiSubBlockV1::fillRoi
void fillRoi(LVL1::JEMRoI roi)
Store RoI.
Definition: JemRoiSubBlockV1.cxx:52
LVL1BS::JemRoiSubBlockV1::m_roiData
std::vector< LVL1::JEMRoI > m_roiData
RoIs.
Definition: JemRoiSubBlockV1.h:67
LVL1BS::L1CaloSubBlock::module
int module() const
Definition: L1CaloSubBlock.h:268
LVL1BS::L1CaloSubBlock
L1Calo Sub-Block base class.
Definition: L1CaloSubBlock.h:24
LVL1BS::JemRoiSubBlockV1::s_saturationBits
static const int s_saturationBits
Definition: JemRoiSubBlockV1.h:57
LVL1BS::JemRoiSubBlockV1::pack
bool pack()
Pack data.
Definition: JemRoiSubBlockV1.cxx:74
LVL1BS::JemRoiSubBlockV1::s_bunchCrossingPin
static const int s_bunchCrossingPin
Definition: JemRoiSubBlockV1.h:54
LVL1BS::JemRoiSubBlockV1::s_paddingBits
static const int s_paddingBits
Definition: JemRoiSubBlockV1.h:59
LVL1BS
Definition: ZdcModifySlices.h:10
LVL1BS::JemRoiSubBlockV1::s_framesPerPin
static const int s_framesPerPin
Definition: JemRoiSubBlockV1.h:53
LVL1BS::JemRoiSubBlockV1::~JemRoiSubBlockV1
~JemRoiSubBlockV1()
Definition: JemRoiSubBlockV1.cxx:30
LVL1::JEMRoI
JEM RoI data.
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/JEMRoI.h:19
LVL1BS::JemRoiSubBlockV1::setRoiHeader
void setRoiHeader(int version, int crate, int module)
Store header.
Definition: JemRoiSubBlockV1.cxx:44
LVL1BS::JemRoiSubBlockV1::s_hitsBits
static const int s_hitsBits
Definition: JemRoiSubBlockV1.h:55
LVL1BS::JemRoiSubBlockV1::clear
void clear()
Clear all data.
Definition: JemRoiSubBlockV1.cxx:36
LVL1BS::JemRoiSubBlockV1::packNeutral
bool packNeutral()
Pack neutral data.
Definition: JemRoiSubBlockV1.cxx:116
xAOD::JEMRoI
JEMRoI_v1 JEMRoI
Define the latest version of the JEMRoI class.
Definition: Event/xAOD/xAODTrigL1Calo/xAODTrigL1Calo/JEMRoI.h:14