ATLAS Offline Software
Loading...
Searching...
No Matches
TileL2ContByteStreamCnv.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TILEBYTESTREAM_TILEL2_BYTESTREAMCNV_H
6#define TILEBYTESTREAM_TILEL2_BYTESTREAMCNV_H
7
8
13#include "GaudiKernel/ToolHandle.h"
14#include "GaudiKernel/ServiceHandle.h"
15
17
18
19class DataObject;
20class StatusCode;
21class IAddressCreator;
23class StoreGateSvc;
27class TileHid2RESrcID;
28class TileROD_Decoder;
29
30// Abstract factory to create the converter
31template <class TYPE> class CnvFactory;
32
33
35 : public TileL2Container, public DataObject
36{
37public:
39
40
41protected:
49 void recycle();
50};
51
52
54
55
65
67 : public AthConstConverter
68{
69 public:
70 TileL2ContByteStreamCnv(ISvcLocator* svcloc);
71
73
74 virtual StatusCode initialize() override;
75 virtual StatusCode createObjConst(IOpaqueAddress* pAddr, DataObject*& pObj) const override;
76 virtual StatusCode createRepConst(DataObject* pObj, IOpaqueAddress*& pAddr) const override;
77 virtual StatusCode finalize() override;
78
80 virtual long repSvcType() const override { return i_repSvcType(); }
81 static long storageType();
82 static const CLID& classID();
83
84 private:
85 // BYTESTREAMTOOL* m_tool ;
86 ToolHandle<BYTESTREAMTOOL> m_tool;
87
89
92
95
97 ToolHandle<TileROD_Decoder> m_decoder;
98
101
104};
105#endif
106
Gaudi converter base class with const interfaces.
Provide an interface for finding inheritance information at run time.
#define SG_BASE(D, B)
Declare that class D derives from class B.
uint32_t CLID
The Class ID type.
Helper for recycling objects from event to event.
TileContainer< TileL2 > TileL2Container
Define macros for attributes used to control the static checker.
AthConstConverter(long storage_type, const CLID &class_type, ISvcLocator *svc, const std::string &name)
Holder for recyclable objects.
Gaudi Conversion Service class for ByteStream Persistency.
Abstract factory to create the converter.
Interface for accessing raw data.
Interface class for managing ROB for both online and offline.
The Athena Transient Store API.
This class provides conversion between fragment ID and RESrcID.
const TileHid2RESrcID * m_hid2re
Pointer to TileHid2RESrcID.
Athena::RecyclableDataQueue< TileRecyclableL2Container > m_queue ATLAS_THREAD_SAFE
Queue of data objects to recycle.
virtual StatusCode createObjConst(IOpaqueAddress *pAddr, DataObject *&pObj) const override
Create the transient representation of an object.
ServiceHandle< IROBDataProviderSvc > m_robSvc
Pointer to IROBDataProviderSvc.
virtual StatusCode createRepConst(DataObject *pObj, IOpaqueAddress *&pAddr) const override
Convert the transient object to the requested representation.
ServiceHandle< IByteStreamCnvSvc > m_byteStreamCnvSvc
TileL2ContByteStreamCnv(ISvcLocator *svcloc)
ToolHandle< TileROD_Decoder > m_decoder
Pointer to TileROD_Decoder.
virtual StatusCode finalize() override
ToolHandle< BYTESTREAMTOOL > m_tool
virtual long repSvcType() const override
Storage type and class ID.
TileL2ContByteStreamTool BYTESTREAMTOOL
ServiceHandle< StoreGateSvc > m_storeGate
Pointer to StoreGateSvc.
virtual StatusCode initialize() override
This AlgTool class provides conversion from TileL2Container to ByteStream and fill it in RawEvent.
Decodes the different TileCal ROD subfragment types in bytestream data and fills TileDigitsContainer,...
TileRecyclableL2Container(const TileROD_Decoder &decoder)
void recycle()
Recycle this object for use in another event.