ATLAS Offline Software
CpmRoiSubBlock.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_CPMROISUBBLOCK_H
6 #define TRIGT1CALOBYTESTREAM_CPMROISUBBLOCK_H
7 
8 #include <vector>
9 
10 #include "L1CaloSubBlock.h"
11 
12 namespace LVL1 {
13  class CPMRoI;
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::CPMRoI roi);
39 
41  LVL1::CPMRoI roi(int chip, int loc) 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_glinkPins = 16;
53  static const int s_hitsLen = 16;
54  static const int s_errorLen = 2;
55  static const int s_locationLen = 2;
56  static const int s_bunchCrossingBits = 12;
57 
59  bool packNeutral();
61  bool unpackNeutral();
62 
64  std::vector<LVL1::CPMRoI> m_roiData;
65 
66 };
67 
68 } // end namespace
69 
70 #endif
LVL1BS::CpmRoiSubBlock::m_roiData
std::vector< LVL1::CPMRoI > m_roiData
RoI words.
Definition: CpmRoiSubBlock.h:64
LVL1BS::CpmRoiSubBlock::unpack
bool unpack()
Unpack data.
Definition: CpmRoiSubBlock.cxx:90
LVL1BS::CpmRoiSubBlock::packNeutral
bool packNeutral()
Pack neutral data.
Definition: CpmRoiSubBlock.cxx:113
LVL1BS::CpmRoiSubBlock::s_bunchCrossingBits
static const int s_bunchCrossingBits
Definition: CpmRoiSubBlock.h:56
LVL1BS::CpmRoiSubBlock::s_wordIdVal
static const int s_wordIdVal
Header word ID.
Definition: CpmRoiSubBlock.h:50
LVL1BS::CpmRoiSubBlock::~CpmRoiSubBlock
~CpmRoiSubBlock()
Definition: CpmRoiSubBlock.cxx:27
LVL1BS::CpmRoiSubBlock
Sub-Block class for CPM RoI data (neutral format).
Definition: CpmRoiSubBlock.h:26
LVL1BS::CpmRoiSubBlock::roi
LVL1::CPMRoI roi(int chip, int loc) const
Return RoI for given chip and location (left/right)
Definition: CpmRoiSubBlock.cxx:62
LVL1BS::CpmRoiSubBlock::s_errorLen
static const int s_errorLen
Definition: CpmRoiSubBlock.h:54
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
LVL1BS::CpmRoiSubBlock::s_locationLen
static const int s_locationLen
Definition: CpmRoiSubBlock.h:55
LVL1BS::CpmRoiSubBlock::clear
void clear()
Clear all data.
Definition: CpmRoiSubBlock.cxx:33
L1CaloSubBlock.h
LVL1BS::CpmRoiSubBlock::s_hitsLen
static const int s_hitsLen
Definition: CpmRoiSubBlock.h:53
LVL1BS::CpmRoiSubBlock::CpmRoiSubBlock
CpmRoiSubBlock()
Definition: CpmRoiSubBlock.cxx:23
LVL1::CPMRoI
CPM RoI data.
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CPMRoI.h:20
LVL1BS::L1CaloSubBlock::version
int version() const
Definition: L1CaloSubBlock.h:243
LVL1BS::CpmRoiSubBlock::pack
bool pack()
Pack data.
Definition: CpmRoiSubBlock.cxx:71
LVL1BS::L1CaloSubBlock::module
int module() const
Definition: L1CaloSubBlock.h:268
LVL1BS::CpmRoiSubBlock::fillRoi
void fillRoi(LVL1::CPMRoI roi)
Store RoI.
Definition: CpmRoiSubBlock.cxx:49
LVL1BS::L1CaloSubBlock
L1Calo Sub-Block base class.
Definition: L1CaloSubBlock.h:24
LVL1BS
Definition: ZdcByteStreamReadV1V2Tool.h:47
LVL1BS::CpmRoiSubBlock::s_glinkPins
static const int s_glinkPins
Definition: CpmRoiSubBlock.h:52
LVL1BS::CpmRoiSubBlock::setRoiHeader
void setRoiHeader(int version, int crate, int module)
Store header.
Definition: CpmRoiSubBlock.cxx:41
xAOD::CPMRoI
CPMRoI_v1 CPMRoI
Define the latest version of the CPMRoI class.
Definition: Event/xAOD/xAODTrigL1Calo/xAODTrigL1Calo/CPMRoI.h:14
LVL1BS::CpmRoiSubBlock::unpackNeutral
bool unpackNeutral()
Unpack neutral data.
Definition: CpmRoiSubBlock.cxx:134