ATLAS Offline Software
LArDigitContByteStreamCnv.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 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;
23 class LArDigitContainer;
25 class IROBDataProviderSvc;
26 class ByteStreamCnvSvc;
27 class LArLATOMEDecoder;
28 
33 // Abstract factory to create the converter
34 template <class TYPE> class CnvFactory;
35 
37 {
38 public:
39  LArDigitContByteStreamCnv(ISvcLocator* svcloc);
41 
42 
44 
45  virtual StatusCode initialize() override;
46  virtual StatusCode createObjConst(IOpaqueAddress* pAddr, DataObject*& pObj) const override;
47  virtual StatusCode createRepConst(DataObject* pObj, IOpaqueAddress*& pAddr) const override;
48 
50  virtual long repSvcType() const override { return i_repSvcType(); }
51  static long storageType() { return ByteStreamAddress::storageType(); }
52  static const CLID& classID();
53 
54 private:
55  ToolHandle<BYTESTREAMTOOL> m_tool ;
56  ToolHandle<LArLATOMEDecoder> m_scTool;
60 };
61 #endif
LArLATOMEDecoder
Definition: LArLATOMEDecoder.h:61
LArDigitContByteStreamCnv::classID
static const CLID & classID()
Definition: LArDigitContByteStreamCnv.cxx:44
LArDigitContByteStreamCnv::~LArDigitContByteStreamCnv
virtual ~LArDigitContByteStreamCnv()
Definition: LArDigitContByteStreamCnv.cxx:41
LArDigitContByteStreamCnv::m_tool
ToolHandle< BYTESTREAMTOOL > m_tool
Definition: LArDigitContByteStreamCnv.h:55
LArDigitContByteStreamCnv::BYTESTREAMTOOL
LArRawDataContByteStreamTool BYTESTREAMTOOL
Definition: LArDigitContByteStreamCnv.h:43
LArDigitContByteStreamCnv::LArDigitContByteStreamCnv
LArDigitContByteStreamCnv(ISvcLocator *svcloc)
Definition: LArDigitContByteStreamCnv.cxx:32
LArDigitContByteStreamCnv::m_byteStreamEventAccess
ServiceHandle< IByteStreamEventAccess > m_byteStreamEventAccess
Definition: LArDigitContByteStreamCnv.h:58
IByteStreamEventAccess
interface for accessing raw data .
Definition: IByteStreamEventAccess.h:17
LArDigitContByteStreamCnv::initialize
virtual StatusCode initialize() override
Definition: LArDigitContByteStreamCnv.cxx:50
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:25
ByteStreamCnvSvc
Gaudi Conversion Service class for ByteStream Persistency.
Definition: ByteStreamCnvSvc.h:34
LArDigitContByteStreamCnv::createObjConst
virtual StatusCode createObjConst(IOpaqueAddress *pAddr, DataObject *&pObj) const override
Create the transient representation of an object.
Definition: LArDigitContByteStreamCnv.cxx:68
LArDigitContByteStreamCnv
Definition: LArDigitContByteStreamCnv.h:37
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
LArDigitContByteStreamCnv::storageType
static long storageType()
Definition: LArDigitContByteStreamCnv.h:51
LArDigitContByteStreamCnv::createRepConst
virtual StatusCode createRepConst(DataObject *pObj, IOpaqueAddress *&pAddr) const override
Convert the transient object to the requested representation.
Definition: LArDigitContByteStreamCnv.cxx:140
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:49
LArDigitContByteStreamCnv::m_scTool
ToolHandle< LArLATOMEDecoder > m_scTool
Definition: LArDigitContByteStreamCnv.h:56
LArDigitContByteStreamCnv::m_rdpSvc
ServiceHandle< IROBDataProviderSvc > m_rdpSvc
Definition: LArDigitContByteStreamCnv.h:57
LArDigitContainer
Container class for LArDigit.
Definition: LArDigitContainer.h:24
LArDigitContByteStreamCnv::m_byteStreamCnvSvc
ByteStreamCnvSvc * m_byteStreamCnvSvc
Definition: LArDigitContByteStreamCnv.h:59
ServiceHandle< IROBDataProviderSvc >
LArDigitContByteStreamCnv::repSvcType
virtual long repSvcType() const override
Storage type and class ID.
Definition: LArDigitContByteStreamCnv.h:50