ATLAS Offline Software
CTPByteStreamCnv.h
Go to the documentation of this file.
1 // Dear emacs, this is -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 #ifndef TRIGT1RESULTBYTESTREAM_CTPBYTESTREAMCNV_H
8 #define TRIGT1RESULTBYTESTREAM_CTPBYTESTREAMCNV_H
9 
10 // Gaudi/Athena include(s):
11 #include "GaudiKernel/Converter.h"
12 #include "GaudiKernel/ServiceHandle.h"
13 #include "GaudiKernel/ToolHandle.h"
14 
17 
18 // Local include(s):
19 #include "CTPByteStreamTool.h"
20 #include "CTPSrcIdMap.h"
21 
22 
35 class CTPByteStreamCnv : public Converter {
36 
37 public:
39  CTPByteStreamCnv( ISvcLocator* svcloc );
40 
42  virtual StatusCode initialize() override;
44  virtual StatusCode createObj( IOpaqueAddress* pAddr, DataObject*& pObj ) override;
46  virtual StatusCode createRep( DataObject* pObj, IOpaqueAddress*& pAddr ) override;
47 
49  virtual long repSvcType() const override { return i_repSvcType(); }
51  static long storageType();
53  static const CLID& classID();
54 
55 private:
57  ToolHandle< CTPByteStreamTool > m_tool;
58 
61 
66 
67 }; // class CTPByteStreamCnv
68 
69 #endif // TRIGT1RESULTBYTESTREAM_CTPBYTESTREAMCNV_H
CTPByteStreamCnv::createObj
virtual StatusCode createObj(IOpaqueAddress *pAddr, DataObject *&pObj) override
Function creating the CTP_RDO object from a CTP ROB fragment.
Definition: CTPByteStreamCnv.cxx:89
CTPByteStreamCnv::CTPByteStreamCnv
CTPByteStreamCnv(ISvcLocator *svcloc)
Standard constructor.
Definition: CTPByteStreamCnv.cxx:24
CTPByteStreamCnv::storageType
static long storageType()
Function needed by the framework.
Definition: CTPByteStreamCnv.cxx:42
ROBDataProviderSvc.h
IByteStreamEventAccess.h
CTPByteStreamCnv
ByteStream converter for the CTP_RDO object.
Definition: CTPByteStreamCnv.h:35
CTPByteStreamCnv::repSvcType
virtual long repSvcType() const override
Function needed by the framework.
Definition: CTPByteStreamCnv.h:49
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CTPByteStreamCnv::createRep
virtual StatusCode createRep(DataObject *pObj, IOpaqueAddress *&pAddr) override
Function creating the CTP ROB fragment from a CTP_RDO object.
Definition: CTPByteStreamCnv.cxx:149
CLID
uint32_t CLID
The Class ID type.
Definition: Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
CTPByteStreamCnv::m_ByteStreamEventAccess
ServiceHandle< IByteStreamEventAccess > m_ByteStreamEventAccess
Service used when writing the BS data.
Definition: CTPByteStreamCnv.h:65
CTPSrcIdMap.h
CTPByteStreamCnv::m_tool
ToolHandle< CTPByteStreamTool > m_tool
Tool doing the actual conversion.
Definition: CTPByteStreamCnv.h:57
Converter
Definition: Converter.h:27
CTPByteStreamCnv::m_robDataProvider
ServiceHandle< IROBDataProviderSvc > m_robDataProvider
Service used when reading the BS data.
Definition: CTPByteStreamCnv.h:63
CTPByteStreamTool.h
CTPSrcIdMap
This class provides conversion between Lower level Source ID to higher level source ID for CTP ByteSt...
Definition: CTPSrcIdMap.h:16
CTPByteStreamCnv::initialize
virtual StatusCode initialize() override
Function connecting to all the needed services/tools.
Definition: CTPByteStreamCnv.cxx:49
CTPByteStreamCnv::m_srcIdMap
CTPSrcIdMap m_srcIdMap
Object storing the various IDs of the CTP fragment.
Definition: CTPByteStreamCnv.h:60
CTPByteStreamCnv::classID
static const CLID & classID()
Function needed by the framework.
Definition: CTPByteStreamCnv.cxx:36
ServiceHandle< IROBDataProviderSvc >