ATLAS Offline Software
LArDigitContByteStreamCnv.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_LARDIGITCONTRAWEVENTCNV_H
8 #define LARBYTESTREAM_LARDIGITCONTRAWEVENTCNV_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;
22 class LArDigitContainer;
24 class IROBDataProviderSvc;
25 class IByteStreamCnvSvc;
26 class LArLATOMEDecoder;
27 
32 // Abstract factory to create the converter
33 template <class TYPE> class CnvFactory;
34 
36 {
37 public:
38  LArDigitContByteStreamCnv(ISvcLocator* svcloc);
40 
41 
43 
44  virtual StatusCode initialize() override;
45  virtual StatusCode createObjConst(IOpaqueAddress* pAddr, DataObject*& pObj) const override;
46  virtual StatusCode createRepConst(DataObject* pObj, IOpaqueAddress*& pAddr) const override;
47 
49  virtual long repSvcType() const override { return i_repSvcType(); }
50  static long storageType() { return ByteStreamAddress::storageType(); }
51  static const CLID& classID();
52 
53 private:
54  ToolHandle<BYTESTREAMTOOL> m_tool ;
55  ToolHandle<LArLATOMEDecoder> m_scTool;
58 };
59 #endif
LArLATOMEDecoder
Definition: LArLATOMEDecoder.h:61
LArDigitContByteStreamCnv::classID
static const CLID & classID()
Definition: LArDigitContByteStreamCnv.cxx:43
LArDigitContByteStreamCnv::~LArDigitContByteStreamCnv
virtual ~LArDigitContByteStreamCnv()
Definition: LArDigitContByteStreamCnv.cxx:40
LArDigitContByteStreamCnv::m_byteStreamCnvSvc
ServiceHandle< IByteStreamCnvSvc > m_byteStreamCnvSvc
Definition: LArDigitContByteStreamCnv.h:57
LArDigitContByteStreamCnv::m_tool
ToolHandle< BYTESTREAMTOOL > m_tool
Definition: LArDigitContByteStreamCnv.h:54
LArDigitContByteStreamCnv::BYTESTREAMTOOL
LArRawDataContByteStreamTool BYTESTREAMTOOL
Definition: LArDigitContByteStreamCnv.h:42
LArDigitContByteStreamCnv::LArDigitContByteStreamCnv
LArDigitContByteStreamCnv(ISvcLocator *svcloc)
Definition: LArDigitContByteStreamCnv.cxx:32
LArDigitContByteStreamCnv::initialize
virtual StatusCode initialize() override
Definition: LArDigitContByteStreamCnv.cxx:49
AthConstConverter
Gaudi converter base class with const interfaces.
Definition: AthConstConverter.h:33
IROBDataProviderSvc
Interface class for managing ROB for both online and offline.
Definition: IROBDataProviderSvc.h:23
LArDigitContByteStreamCnv::createObjConst
virtual StatusCode createObjConst(IOpaqueAddress *pAddr, DataObject *&pObj) const override
Create the transient representation of an object.
Definition: LArDigitContByteStreamCnv.cxx:66
LArDigitContByteStreamCnv
Definition: LArDigitContByteStreamCnv.h:36
RawEvent.h
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
LArDigitContByteStreamCnv::storageType
static long storageType()
Definition: LArDigitContByteStreamCnv.h:50
LArDigitContByteStreamCnv::createRepConst
virtual StatusCode createRepConst(DataObject *pObj, IOpaqueAddress *&pAddr) const override
Convert the transient object to the requested representation.
Definition: LArDigitContByteStreamCnv.cxx:138
ByteStreamAddress.h
CLID
uint32_t CLID
The Class ID type.
Definition: Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
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
LArDigitContByteStreamCnv::m_scTool
ToolHandle< LArLATOMEDecoder > m_scTool
Definition: LArDigitContByteStreamCnv.h:55
LArDigitContByteStreamCnv::m_rdpSvc
ServiceHandle< IROBDataProviderSvc > m_rdpSvc
Definition: LArDigitContByteStreamCnv.h:56
LArDigitContainer
Container class for LArDigit.
Definition: LArDigitContainer.h:24
ServiceHandle< IROBDataProviderSvc >
LArDigitContByteStreamCnv::repSvcType
virtual long repSvcType() const override
Storage type and class ID.
Definition: LArDigitContByteStreamCnv.h:49