ATLAS Offline Software
L1TriggerResultByteStreamCnv.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGT1RESULTBYTESTREAM_L1TRIGGERRESULTBYTESTREAMCNV_H
6 #define TRIGT1RESULTBYTESTREAM_L1TRIGGERRESULTBYTESTREAMCNV_H
7 
8 // Trigger includes
10 
11 // Athena includes
16 
17 // Gaudi includes
18 #include "GaudiKernel/Converter.h"
19 
24 public:
26  L1TriggerResultByteStreamCnv(ISvcLocator* svcLoc);
29 
30  // ------------------------- Converter methods -----------------------------
31  virtual StatusCode initialize() override;
32  virtual StatusCode finalize() override;
33 
35  virtual StatusCode createObj(IOpaqueAddress* pAddr, DataObject*& pObj) override;
37  virtual StatusCode createRep(DataObject* pObj, IOpaqueAddress*& pAddr) override;
38 
39  // ------------------------- Converter definition helpers ------------------
41  static long storageType();
43  static const CLID& classID();
44 
45  long repSvcType() const override { return i_repSvcType(); }
46 
47 private:
50 
52  ServiceHandle<IByteStreamEventAccess> m_ByteStreamEventAccess{"ByteStreamCnvSvc", "L1TriggerResultByteStreamCnv"};
53 
54  // Tools performing the decoding work - *public* tools hard-coded in C++ because of Converter interface limitations
56  ToolHandle<IL1TriggerByteStreamTool> m_muonEncoderTool{"MuonRoIByteStreamTool/L1MuonBSEncoderTool"};
57  ToolHandle<IL1TriggerByteStreamTool> m_muonEncoderToolDaq{"MuonRoIByteStreamTool/L1MuonBSEncoderToolDAQ"};
58  // Placeholder for other L1 xAOD outputs:
59  // - CTP result
60  // - L1Topo result
61  // - L1Calo (Run3) RoIs
62 };
63 
64 #endif // TRIGT1RESULTBYTESTREAM_L1TRIGGERRESULTBYTESTREAMCNV_H
L1TriggerResultByteStreamCnv::finalize
virtual StatusCode finalize() override
Definition: L1TriggerResultByteStreamCnv.cxx:60
L1TriggerResultByteStreamCnv::printRob
void printRob(const OFFLINE_FRAGMENTS_NAMESPACE_WRITE::ROBFragment &rob) const
Helper method for debug printouts.
Definition: L1TriggerResultByteStreamCnv.cxx:140
L1TriggerResultByteStreamCnv::~L1TriggerResultByteStreamCnv
virtual ~L1TriggerResultByteStreamCnv()
Standard destructor.
Definition: L1TriggerResultByteStreamCnv.cxx:35
IL1TriggerByteStreamTool.h
IByteStreamEventAccess.h
L1TriggerResultByteStreamCnv::m_ByteStreamEventAccess
ServiceHandle< IByteStreamEventAccess > m_ByteStreamEventAccess
Helper to obtain the RawEvent pointer.
Definition: L1TriggerResultByteStreamCnv.h:52
L1TriggerResultByteStreamCnv
ByteStream converter for L1TriggerResult.
Definition: L1TriggerResultByteStreamCnv.h:23
RawEvent.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
L1TriggerResultByteStreamCnv::classID
static const CLID & classID()
CLID of the class of the L1TriggerResult converted by this converter (xAOD::TrigCompositeContainer)
Definition: L1TriggerResultByteStreamCnv.cxx:153
L1TriggerResultByteStreamCnv::initialize
virtual StatusCode initialize() override
Definition: L1TriggerResultByteStreamCnv.cxx:40
AthMessaging
Class to provide easy MsgStream access and capabilities.
Definition: AthMessaging.h:55
CLID
uint32_t CLID
The Class ID type.
Definition: Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
FullEventAssembler.h
L1TriggerResultByteStreamCnv::storageType
static long storageType()
Storage type used by this converter.
Definition: L1TriggerResultByteStreamCnv.cxx:157
Converter
Definition: Converter.h:27
L1TriggerResultByteStreamCnv::repSvcType
long repSvcType() const override
return repSvcType
Definition: L1TriggerResultByteStreamCnv.h:45
L1TriggerResultByteStreamCnv::m_muonEncoderToolDaq
ToolHandle< IL1TriggerByteStreamTool > m_muonEncoderToolDaq
Definition: L1TriggerResultByteStreamCnv.h:57
OFFLINE_FRAGMENTS_NAMESPACE_WRITE::ROBFragment
eformat::write::ROBFragment ROBFragment
Definition: RawEvent.h:33
AthMessaging.h
L1TriggerResultByteStreamCnv::createRep
virtual StatusCode createRep(DataObject *pObj, IOpaqueAddress *&pAddr) override
Create ByteStream from xAOD (L1TriggerResult)
Definition: L1TriggerResultByteStreamCnv.cxx:84
L1TriggerResultByteStreamCnv::m_muonEncoderTool
ToolHandle< IL1TriggerByteStreamTool > m_muonEncoderTool
Encoder tools for L1Muon RoIs (one writing RoIB ROB, one writing DAQ ROB)
Definition: L1TriggerResultByteStreamCnv.h:56
L1TriggerResultByteStreamCnv::createObj
virtual StatusCode createObj(IOpaqueAddress *pAddr, DataObject *&pObj) override
Create xAOD (L1TriggerResult) from ByteStream.
Definition: L1TriggerResultByteStreamCnv.cxx:75
L1TriggerResultByteStreamCnv::L1TriggerResultByteStreamCnv
L1TriggerResultByteStreamCnv(ISvcLocator *svcLoc)
Standard constructor.
Definition: L1TriggerResultByteStreamCnv.cxx:28
ServiceHandle< IByteStreamEventAccess >