ATLAS Offline Software
LArRawChannelContByteStreamCnv.h
Go to the documentation of this file.
1 //Dear emacs, this is -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 #ifndef LARBYTESTREAM_LARRAWCHANNELCONTRAWEVENTCNV_H
8 #define LARBYTESTREAM_LARRAWCHANNELCONTRAWEVENTCNV_H
9 
10 #include <stdint.h>
11 #include <map>
13 #include "ByteStreamData/RawEvent.h"
15 #include "GaudiKernel/ToolHandle.h"
16 #include "GaudiKernel/ServiceHandle.h"
17 
18 class DataObject;
19 class StatusCode;
20 class IAddressCreator;
23 class IROBDataProviderSvc;
24 class IByteStreamCnvSvc;
25 
26 // Abstract factory to create the converter
27 template <class TYPE> class CnvFactory;
28 
30 {
31  public:
32  LArRawChannelContByteStreamCnv(ISvcLocator* svcloc);
34 
35 
37 
38  virtual StatusCode initialize() override;
39  virtual StatusCode createObjConst(IOpaqueAddress* pAddr, DataObject*& pObj) const override;
40  virtual StatusCode createRepConst(DataObject* pObj, IOpaqueAddress*& pAddr) const override;
41 
43  virtual long repSvcType() const override { return i_repSvcType(); }
44  static long storageType() { return ByteStreamAddress::storageType(); }
45  static const CLID& classID();
46 
47 private:
48  ToolHandle<BYTESTREAMTOOL> m_tool;
51  mutable std::atomic<size_t> m_contSize;
52 };
53 #endif
LArRawChannelContByteStreamCnv::storageType
static long storageType()
Definition: LArRawChannelContByteStreamCnv.h:44
LArRawChannelContByteStreamCnv::repSvcType
virtual long repSvcType() const override
Storage type and class ID.
Definition: LArRawChannelContByteStreamCnv.h:43
LArRawChannelContByteStreamCnv::m_rdpSvc
ServiceHandle< IROBDataProviderSvc > m_rdpSvc
Definition: LArRawChannelContByteStreamCnv.h:49
LArRawChannelContByteStreamCnv::m_tool
ToolHandle< BYTESTREAMTOOL > m_tool
Definition: LArRawChannelContByteStreamCnv.h:48
LArRawChannelContByteStreamCnv::createRepConst
virtual StatusCode createRepConst(DataObject *pObj, IOpaqueAddress *&pAddr) const override
Convert the transient object to the requested representation.
Definition: LArRawChannelContByteStreamCnv.cxx:99
AthConstConverter
Gaudi converter base class with const interfaces.
Definition: AthConstConverter.h:33
LArRawChannelContByteStreamCnv::LArRawChannelContByteStreamCnv
LArRawChannelContByteStreamCnv(ISvcLocator *svcloc)
Definition: LArRawChannelContByteStreamCnv.cxx:25
IROBDataProviderSvc
Interface class for managing ROB for both online and offline.
Definition: IROBDataProviderSvc.h:23
LArRawChannelContByteStreamCnv::initialize
virtual StatusCode initialize() override
Definition: LArRawChannelContByteStreamCnv.cxx:42
RawEvent.h
LArRawChannelContByteStreamCnv
Definition: LArRawChannelContByteStreamCnv.h:30
IByteStreamCnvSvc
interface for bytestream conversion services
Definition: IByteStreamCnvSvc.h:18
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
LArRawChannelContByteStreamCnv::~LArRawChannelContByteStreamCnv
virtual ~LArRawChannelContByteStreamCnv()
Definition: LArRawChannelContByteStreamCnv.cxx:37
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
LArRawChannelContByteStreamCnv::m_contSize
std::atomic< size_t > m_contSize
Definition: LArRawChannelContByteStreamCnv.h:51
LArRawChannelContByteStreamCnv::createObjConst
virtual StatusCode createObjConst(IOpaqueAddress *pAddr, DataObject *&pObj) const override
Create the transient representation of an object.
Definition: LArRawChannelContByteStreamCnv.cxx:58
LArRawChannelContByteStreamCnv::classID
static const CLID & classID()
Definition: LArRawChannelContByteStreamCnv.cxx:33
LArRawChannelContByteStreamCnv::BYTESTREAMTOOL
LArRawDataContByteStreamTool BYTESTREAMTOOL
Definition: LArRawChannelContByteStreamCnv.h:36
LArRawChannelContByteStreamCnv::m_byteStreamCnvSvc
ServiceHandle< IByteStreamCnvSvc > m_byteStreamCnvSvc
Definition: LArRawChannelContByteStreamCnv.h:50
LArRawChannelContainer
Container for LArRawChannel (IDC using LArRawChannelCollection)
Definition: LArRawChannelContainer.h:26
ServiceHandle< IROBDataProviderSvc >