ATLAS Offline Software
Loading...
Searching...
No Matches
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
11
12// Athena includes
17
18// Gaudi includes
19#include "GaudiKernel/Converter.h"
20
21// StoreGate includes
23
28public:
30 L1TriggerResultByteStreamCnv(ISvcLocator* svcLoc);
33
34 // ------------------------- Converter methods -----------------------------
35 virtual StatusCode initialize() override;
36 virtual StatusCode finalize() override;
37
39 virtual StatusCode createObj(IOpaqueAddress* pAddr, DataObject*& pObj) override;
41 virtual StatusCode createRep(DataObject* pObj, IOpaqueAddress*& pAddr) override;
42
43 // ------------------------- Converter definition helpers ------------------
45 static long storageType();
47 static const CLID& classID();
48
49 long repSvcType() const override { return i_repSvcType(); }
50
51private:
54
56 ServiceHandle<IByteStreamEventAccess> m_ByteStreamEventAccess{"ByteStreamCnvSvc", "L1TriggerResultByteStreamCnv"};
57
58 // Tools performing the decoding work - *public* tools hard-coded in C++ because of Converter interface limitations
60 ToolHandle<IL1TriggerByteStreamTool> m_muonEncoderTool{"MuonRoIByteStreamTool/L1MuonBSEncoderTool"};
61 ToolHandle<IL1TriggerByteStreamTool> m_muonEncoderToolDaq{"MuonRoIByteStreamTool/L1MuonBSEncoderToolDAQ"};
63 ToolHandle<IL1TriggerByteStreamTool> m_ctpResultEncoderTool{"CTPResultByteStreamTool/CTPResultBSEncoderTool"};
64 // Placeholder for other L1 xAOD outputs:
65 // - L1Topo result
66 // - L1Calo (Run3) RoIs
67
68 // Read handle key needed for CTPResult to update the RawEventWrite with L1 trigger bits
70
71};
72
73#endif // TRIGT1RESULTBYTESTREAM_L1TRIGGERRESULTBYTESTREAMCNV_H
uint32_t CLID
The Class ID type.
Property holding a SG store/key/clid from which a ReadHandle is made.
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
void printRob(const OFFLINE_FRAGMENTS_NAMESPACE_WRITE::ROBFragment &rob) const
Helper method for debug printouts.
ToolHandle< IL1TriggerByteStreamTool > m_ctpResultEncoderTool
Encoder tool for CTP result.
virtual StatusCode createRep(DataObject *pObj, IOpaqueAddress *&pAddr) override
Create ByteStream from xAOD (L1TriggerResult)
static long storageType()
Storage type used by this converter.
SG::ReadHandleKey< xAOD::CTPResult > m_inKeyCTPResult
virtual StatusCode finalize() override
ToolHandle< IL1TriggerByteStreamTool > m_muonEncoderTool
Encoder tools for L1Muon RoIs (one writing RoIB ROB, one writing DAQ ROB)
ServiceHandle< IByteStreamEventAccess > m_ByteStreamEventAccess
Helper to obtain the RawEvent pointer.
virtual ~L1TriggerResultByteStreamCnv()
Standard destructor.
virtual StatusCode initialize() override
long repSvcType() const override
return repSvcType
ToolHandle< IL1TriggerByteStreamTool > m_muonEncoderToolDaq
L1TriggerResultByteStreamCnv(ISvcLocator *svcLoc)
Standard constructor.
virtual StatusCode createObj(IOpaqueAddress *pAddr, DataObject *&pObj) override
Create xAOD (L1TriggerResult) from ByteStream.
static const CLID & classID()
CLID of the class of the L1TriggerResult converted by this converter (xAOD::TrigCompositeContainer)
Property holding a SG store/key/clid from which a ReadHandle is made.
eformat::write::ROBFragment ROBFragment
Definition RawEvent.h:33