ATLAS Offline Software
CpmRoiSubBlockV2.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_CPMROISUBBLOCKV2_H
6 #define TRIGT1CALOBYTESTREAM_CPMROISUBBLOCKV2_H
7 
8 #include <vector>
9 
10 #include "L1CaloSubBlock.h"
11 
12 namespace LVL1 {
13  class CPMTobRoI;
14 }
15 
16 namespace LVL1BS {
17 
27 
28  public:
31 
33  void clear();
34 
36  void setRoiHeader(int version, int crate, int module);
39 
41  LVL1::CPMTobRoI roi(int chip, int loc, int type) 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_energyLen = 8;
54  static const int s_isolLen = 5;
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::CPMTobRoI> m_roiData;
65 
66 };
67 
68 } // end namespace
69 
70 #endif
LVL1BS::CpmRoiSubBlockV2::packNeutral
bool packNeutral()
Pack neutral data.
Definition: CpmRoiSubBlockV2.cxx:115
LVL1BS::CpmRoiSubBlockV2
Sub-Block class for CPM RoI data (neutral format) post LS1.
Definition: CpmRoiSubBlockV2.h:26
LVL1BS::CpmRoiSubBlockV2::s_locationLen
static const int s_locationLen
Definition: CpmRoiSubBlockV2.h:55
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1BS::CpmRoiSubBlockV2::unpackNeutral
bool unpackNeutral()
Unpack neutral data.
Definition: CpmRoiSubBlockV2.cxx:143
LVL1BS::CpmRoiSubBlockV2::roi
LVL1::CPMTobRoI roi(int chip, int loc, int type) const
Return RoI for given chip and location (left/right) and type (em/tau)
Definition: CpmRoiSubBlockV2.cxx:63
LVL1BS::L1CaloSubBlock::crate
int crate() const
Definition: L1CaloSubBlock.h:263
LVL1BS::CpmRoiSubBlockV2::s_bunchCrossingBits
static const int s_bunchCrossingBits
Definition: CpmRoiSubBlockV2.h:56
LVL1BS::CpmRoiSubBlockV2::CpmRoiSubBlockV2
CpmRoiSubBlockV2()
Definition: CpmRoiSubBlockV2.cxx:23
L1CaloSubBlock.h
LVL1BS::CpmRoiSubBlockV2::unpack
bool unpack()
Unpack data.
Definition: CpmRoiSubBlockV2.cxx:92
LVL1BS::L1CaloSubBlock::version
int version() const
Definition: L1CaloSubBlock.h:243
LVL1BS::CpmRoiSubBlockV2::s_energyLen
static const int s_energyLen
Definition: CpmRoiSubBlockV2.h:53
LVL1::CPMTobRoI
CPM RoI data.
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CPMTobRoI.h:19
LVL1BS::CpmRoiSubBlockV2::~CpmRoiSubBlockV2
~CpmRoiSubBlockV2()
Definition: CpmRoiSubBlockV2.cxx:27
LVL1BS::L1CaloSubBlock::module
int module() const
Definition: L1CaloSubBlock.h:268
LVL1BS::L1CaloSubBlock
L1Calo Sub-Block base class.
Definition: L1CaloSubBlock.h:24
LVL1BS::CpmRoiSubBlockV2::setRoiHeader
void setRoiHeader(int version, int crate, int module)
Store header.
Definition: CpmRoiSubBlockV2.cxx:41
LVL1BS::CpmRoiSubBlockV2::s_isolLen
static const int s_isolLen
Definition: CpmRoiSubBlockV2.h:54
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
LVL1BS::CpmRoiSubBlockV2::m_roiData
std::vector< LVL1::CPMTobRoI > m_roiData
RoI words.
Definition: CpmRoiSubBlockV2.h:64
LVL1BS
Definition: ZdcModifySlices.h:10
LVL1BS::CpmRoiSubBlockV2::s_wordIdVal
static const int s_wordIdVal
Header word ID.
Definition: CpmRoiSubBlockV2.h:50
LVL1BS::CpmRoiSubBlockV2::pack
bool pack()
Pack data.
Definition: CpmRoiSubBlockV2.cxx:73
LVL1BS::CpmRoiSubBlockV2::clear
void clear()
Clear all data.
Definition: CpmRoiSubBlockV2.cxx:33
LVL1BS::CpmRoiSubBlockV2::s_glinkPins
static const int s_glinkPins
Definition: CpmRoiSubBlockV2.h:52
LVL1BS::CpmRoiSubBlockV2::fillRoi
void fillRoi(LVL1::CPMTobRoI roi)
Store RoI.
Definition: CpmRoiSubBlockV2.cxx:49
xAOD::CPMTobRoI
CPMTobRoI_v1 CPMTobRoI
Define the latest version of the CPMTobRoI class.
Definition: Event/xAOD/xAODTrigL1Calo/xAODTrigL1Calo/CPMTobRoI.h:17