ATLAS Offline Software
LArFebHeaderContByteStreamCnv.h
Go to the documentation of this file.
1 //Dear emacs, this is -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 #ifndef LARBYTESTREAM_FEBHEADERCONTRAWEVENTCNV_H
8 #define LARBYTESTREAM_FEBHEADERCONTRAWEVENTCNV_H
9 
10 #include <stdint.h>
11 #include <map>
12 #include <string>
14 #include "ByteStreamData/RawEvent.h"
16 #include "GaudiKernel/ToolHandle.h"
17 #include "GaudiKernel/ServiceHandle.h"
18 
19 class DataObject;
20 class StatusCode;
21 class IAddressCreator;
24 class IROBDataProviderSvc;
25 class ByteStreamCnvSvc;
26 
31 // Abstract factory to create the converter
32 template <class TYPE> class CnvFactory;
33 
35 {
36  public:
37  LArFebHeaderContByteStreamCnv(ISvcLocator* svcloc);
38 
40 
41  virtual StatusCode initialize() override;
42  virtual StatusCode createObjConst(IOpaqueAddress* pAddr, DataObject*& pObj) const override;
43  virtual StatusCode createRepConst(DataObject* pObj, IOpaqueAddress*& pAddr) const override;
44 
46  virtual long repSvcType() const override { return i_repSvcType(); }
47  static long storageType() { return ByteStreamAddress::storageType(); }
48  static const CLID& classID();
49 
50 private:
51  ToolHandle<BYTESTREAMTOOL> m_tool;
53 };
54 #endif
55 
56 
57 
AthConstConverter
Gaudi converter base class with const interfaces.
Definition: AthConstConverter.h:33
LArFebHeaderContByteStreamCnv::createRepConst
virtual StatusCode createRepConst(DataObject *pObj, IOpaqueAddress *&pAddr) const override
Convert the transient object to the requested representation.
Definition: LArFebHeaderContByteStreamCnv.cxx:85
LArFebHeaderContByteStreamCnv::classID
static const CLID & classID()
Definition: LArFebHeaderContByteStreamCnv.cxx:31
IROBDataProviderSvc
Interface class for managing ROB for both online and offline.
Definition: IROBDataProviderSvc.h:23
ByteStreamCnvSvc
Gaudi Conversion Service class for ByteStream Persistency.
Definition: ByteStreamCnvSvc.h:37
LArFebHeaderContByteStreamCnv::m_tool
ToolHandle< BYTESTREAMTOOL > m_tool
Definition: LArFebHeaderContByteStreamCnv.h:51
RawEvent.h
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
ByteStreamAddress.h
CLID
uint32_t CLID
The Class ID type.
Definition: Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
LArFebHeaderContByteStreamCnv
Definition: LArFebHeaderContByteStreamCnv.h:35
ByteStreamAddress::storageType
static constexpr long storageType()
Definition: ByteStreamAddress.h:51
LArRawDataContByteStreamTool
An AlgTool class to help converting LAr raw data objects to/from ByteStream.
Definition: LArRawDataContByteStreamTool.h:48
LArFebHeaderContByteStreamCnv::repSvcType
virtual long repSvcType() const override
Storage type and class ID.
Definition: LArFebHeaderContByteStreamCnv.h:46
LArFebHeaderContByteStreamCnv::BYTESTREAMTOOL
LArRawDataContByteStreamTool BYTESTREAMTOOL
Definition: LArFebHeaderContByteStreamCnv.h:39
LArFebHeaderContByteStreamCnv::storageType
static long storageType()
Definition: LArFebHeaderContByteStreamCnv.h:47
LArFebHeaderContByteStreamCnv::initialize
virtual StatusCode initialize() override
Definition: LArFebHeaderContByteStreamCnv.cxx:37
LArFebHeaderContainer
Container class for LArFebHeader.
Definition: LArFebHeaderContainer.h:20
LArFebHeaderContByteStreamCnv::m_rdpSvc
ServiceHandle< IROBDataProviderSvc > m_rdpSvc
Definition: LArFebHeaderContByteStreamCnv.h:52
LArFebHeaderContByteStreamCnv::LArFebHeaderContByteStreamCnv
LArFebHeaderContByteStreamCnv(ISvcLocator *svcloc)
Definition: LArFebHeaderContByteStreamCnv.cxx:25
LArFebHeaderContByteStreamCnv::createObjConst
virtual StatusCode createObjConst(IOpaqueAddress *pAddr, DataObject *&pObj) const override
Create the transient representation of an object.
Definition: LArFebHeaderContByteStreamCnv.cxx:51
ServiceHandle< IROBDataProviderSvc >