ATLAS Offline Software
CpmRoiByteStreamCnv.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 TRIGT1CALOBYTESTREAM_CPMROIBYTESTREAMCNV_H
6 #define TRIGT1CALOBYTESTREAM_CPMROIBYTESTREAMCNV_H
7 
8 #include <string>
9 
11 #include "GaudiKernel/ClassID.h"
12 #include "GaudiKernel/ServiceHandle.h"
13 #include "GaudiKernel/ToolHandle.h"
14 
15 class DataObject;
16 class IOpaqueAddress;
18 class ISvcLocator;
19 class StatusCode;
20 
21 template <typename> class CnvFactory;
22 
23 
24 namespace LVL1BS {
25 
27 
34 
35  friend class CnvFactory<CpmRoiByteStreamCnv>;
36 
37 protected:
38 
39  CpmRoiByteStreamCnv(ISvcLocator* svcloc);
40 
41 public:
42 
43  virtual ~CpmRoiByteStreamCnv();
44 
45  virtual StatusCode initialize() override;
47  virtual StatusCode createObjConst(IOpaqueAddress* pAddr, DataObject*& pObj) const override;
49  virtual StatusCode createRepConst(DataObject* pObj, IOpaqueAddress*& pAddr) const override;
50 
51  // Storage type and class ID
52  virtual long repSvcType() const override { return i_repSvcType(); }
53  static long storageType();
54  static const CLID& classID();
55 
56 private:
58  ToolHandle<LVL1BS::CpmRoiByteStreamTool> m_tool;
59 
62 };
63 
64 } // end namespace
65 
66 #endif
LVL1BS::CpmRoiByteStreamCnv::initialize
virtual StatusCode initialize() override
Definition: CpmRoiByteStreamCnv.cxx:60
LVL1BS::CpmRoiByteStreamCnv::storageType
static long storageType()
Definition: CpmRoiByteStreamCnv.cxx:52
LVL1BS::CpmRoiByteStreamTool
Tool to perform ROB fragments to CPM RoI and CPM RoI to raw data conversions.
Definition: CpmRoiByteStreamTool.h:47
LVL1BS::CpmRoiByteStreamCnv::createRepConst
virtual StatusCode createRepConst(DataObject *pObj, IOpaqueAddress *&pAddr) const override
Create ByteStream from CPM RoIs.
Definition: CpmRoiByteStreamCnv.cxx:117
AthConstConverter
Gaudi converter base class with const interfaces.
Definition: AthConstConverter.h:33
LVL1BS::CpmRoiByteStreamCnv::m_tool
ToolHandle< LVL1BS::CpmRoiByteStreamTool > m_tool
Tool that does the actual work.
Definition: CpmRoiByteStreamCnv.h:58
IROBDataProviderSvc
Interface class for managing ROB for both online and offline.
Definition: IROBDataProviderSvc.h:23
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthConstConverter.h
Gaudi converter base class with const interfaces.
CnvFactory
Abstract factory to create the converter.
Definition: ToyConverter.h:16
LVL1BS::CpmRoiByteStreamCnv::createObjConst
virtual StatusCode createObjConst(IOpaqueAddress *pAddr, DataObject *&pObj) const override
Create CPM RoIs from ByteStream.
Definition: CpmRoiByteStreamCnv.cxx:78
CLID
uint32_t CLID
The Class ID type.
Definition: Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
LVL1BS::CpmRoiByteStreamCnv::repSvcType
virtual long repSvcType() const override
Definition: CpmRoiByteStreamCnv.h:52
LVL1BS::CpmRoiByteStreamCnv::m_robDataProvider
ServiceHandle< IROBDataProviderSvc > m_robDataProvider
Service for reading bytestream.
Definition: CpmRoiByteStreamCnv.h:61
LVL1BS::CpmRoiByteStreamCnv::~CpmRoiByteStreamCnv
virtual ~CpmRoiByteStreamCnv()
Definition: CpmRoiByteStreamCnv.cxx:41
LVL1BS::CpmRoiByteStreamCnv::CpmRoiByteStreamCnv
CpmRoiByteStreamCnv(ISvcLocator *svcloc)
Definition: CpmRoiByteStreamCnv.cxx:34
LVL1BS
Definition: ZdcModifySlices.h:10
LVL1BS::CpmRoiByteStreamCnv::classID
static const CLID & classID()
Definition: CpmRoiByteStreamCnv.cxx:47
LVL1BS::CpmRoiByteStreamCnv
ByteStream converter for Cluster Processor Module RoIs.
Definition: CpmRoiByteStreamCnv.h:33
ServiceHandle< IROBDataProviderSvc >