ATLAS Offline Software
MuCTPIByteStreamCnv.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_MUCTPIBYTESTREAMCNV_H
8 #define TRIGT1RESULTBYTESTREAM_MUCTPIBYTESTREAMCNV_H
9 
10 //#define CTP_MUCTPI_HAVE_SAME_ROS
11 
12 // Gaudi/Athena include(s):
13 #include "GaudiKernel/Converter.h"
14 #include "GaudiKernel/ServiceHandle.h"
15 #include "GaudiKernel/ToolHandle.h"
16 
17 #ifdef CTP_MUCTPI_HAVE_SAME_ROS
18 # include "StoreGate/StoreGateSvc.h"
19 #endif
20 
23 
24 // Local include(s):
25 #include "MuCTPIByteStreamTool.h"
26 #include "MuCTPISrcIdMap.h"
27 #ifdef CTP_MUCTPI_HAVE_SAME_ROS
28 # include "TrigT1ResultByteStream/CTPByteStreamTool.h"
29 # include "RecCTPByteStreamTool.h"
30 #endif
31 
32 
48 
49 public:
51  MuCTPIByteStreamCnv( ISvcLocator* svcloc );
52 
54  virtual StatusCode initialize() override;
56  virtual StatusCode createObj( IOpaqueAddress* pAddr, DataObject*& pObj ) override;
58  virtual StatusCode createRep( DataObject* pObj, IOpaqueAddress*& pAddr ) override;
59 
61  virtual long repSvcType() const override { return i_repSvcType(); }
63  static long storageType();
65  static const CLID& classID();
66 
67 private:
69  ToolHandle< MuCTPIByteStreamTool > m_tool;
72 
73 #ifdef CTP_MUCTPI_HAVE_SAME_ROS
74  ToolHandle< CTPByteStreamTool > m_ctp_tool;
75  ToolHandle< RecCTPByteStreamTool > m_ctp_rec_tool;
77 #endif
78 
83 
84 }; // class MuCTPIByteStreamCnv
85 
86 #endif // TRIGT1RESULTBYTESTREAM_MUCTPIBYTESTREAMCNV_H
MuCTPIByteStreamCnv::repSvcType
virtual long repSvcType() const override
Function needed by the framework.
Definition: MuCTPIByteStreamCnv.h:61
MuCTPIByteStreamCnv::m_robDataProvider
ServiceHandle< IROBDataProviderSvc > m_robDataProvider
Service used when reading the BS data.
Definition: MuCTPIByteStreamCnv.h:80
MuCTPIByteStreamCnv::initialize
virtual StatusCode initialize() override
Function connecting to all the needed services/tools.
Definition: MuCTPIByteStreamCnv.cxx:63
ROBDataProviderSvc.h
IByteStreamEventAccess.h
MuCTPIByteStreamCnv::storageType
static long storageType()
Function needed by the framework.
Definition: MuCTPIByteStreamCnv.cxx:56
MuCTPIByteStreamCnv::m_ByteStreamEventAccess
ServiceHandle< IByteStreamEventAccess > m_ByteStreamEventAccess
Service used when writing the BS data.
Definition: MuCTPIByteStreamCnv.h:82
MuCTPIByteStreamCnv::classID
static const CLID & classID()
Function needed by the framework.
Definition: MuCTPIByteStreamCnv.cxx:50
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
MuCTPISrcIdMap
This class provides conversion between Lower level Source ID to higher level source ID for MuCTPI Byt...
Definition: MuCTPISrcIdMap.h:16
MuCTPIByteStreamTool.h
CLID
uint32_t CLID
The Class ID type.
Definition: Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
RecCTPByteStreamTool.h
MuCTPIByteStreamCnv
ByteStream converter for the MuCTPI_RDO object.
Definition: MuCTPIByteStreamCnv.h:47
Converter
Definition: Converter.h:27
MuCTPISrcIdMap.h
MuCTPIByteStreamCnv::m_srcIdMap
MuCTPISrcIdMap m_srcIdMap
Object storing the various IDs of the MuCTPI fragment.
Definition: MuCTPIByteStreamCnv.h:71
MuCTPIByteStreamCnv::createRep
virtual StatusCode createRep(DataObject *pObj, IOpaqueAddress *&pAddr) override
Function creating the MuCTPI ROB fragment from a MuCTPI_RDO object.
Definition: MuCTPIByteStreamCnv.cxx:231
MuCTPIByteStreamCnv::createObj
virtual StatusCode createObj(IOpaqueAddress *pAddr, DataObject *&pObj) override
Function creating the MuCTPI_RDO object from a MuCTPI ROB fragment.
Definition: MuCTPIByteStreamCnv.cxx:116
MuCTPIByteStreamCnv::m_tool
ToolHandle< MuCTPIByteStreamTool > m_tool
Tool doing the actual conversion.
Definition: MuCTPIByteStreamCnv.h:69
StoreGateSvc.h
ServiceHandle< StoreGateSvc >
MuCTPIByteStreamCnv::MuCTPIByteStreamCnv
MuCTPIByteStreamCnv(ISvcLocator *svcloc)
Standard constructor.
Definition: MuCTPIByteStreamCnv.cxx:33