ATLAS Offline Software
Loading...
Searching...
No Matches
TRTRawContByteStreamCnv.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRT_RAWDATABYTESTREAMCNV_TRTRAWCONTRAWEVENTCNV_H
6#define TRT_RAWDATABYTESTREAMCNV_TRTRAWCONTRAWEVENTCNV_H
7
8#include "GaudiKernel/ToolHandle.h" //member
9#include "InDetRawData/TRT_RDO_Container.h" //typedef here
10#include "ByteStreamCnvSvcBase/ByteStreamAddress.h" //implementation used
11#include "AthenaBaseComps/AthConstConverter.h" //inheritance
12#include "AthenaKernel/ClassID_traits.h" //implementation used
13
14#include "TRT_RawDataByteStreamCnv/ITRTRawContByteStreamTool.h" //ToolHandle template arg
15
16class DataObject;
18class IOpaqueAddress;
19class DataObject;
20
21// Abstract factory to create the converter
22template <class TYPE> class CnvFactory;
23
24// the converter for writing BS from TRT Raw Data
25
27 public:
28 TRTRawContByteStreamCnv(ISvcLocator* svcloc);
29
31
33 virtual long repSvcType() const override { return i_repSvcType(); }
34 static long storageType() { return ByteStreamAddress::storageType(); }
35 static const CLID& classID() { return ClassID_traits<TRTRawContainer>::ID(); }
36
38 virtual StatusCode initialize() override;
39
41 virtual StatusCode createObjConst(IOpaqueAddress* /* pAddr */, DataObject*& /* pObj */) const override
42 { return StatusCode::FAILURE;}
43
45 virtual StatusCode createRepConst(DataObject* pObj, IOpaqueAddress*& pAddr) const override;
46
47private:
48 // for BS infrastructure
49 ToolHandle<ITRTRawContByteStreamTool> m_tool; // ME: use tool handles
50};
51#endif
52
Gaudi converter base class with const interfaces.
a traits class that associates a CLID to a type T It also detects whether T inherits from Gaudi DataO...
uint32_t CLID
The Class ID type.
InDetRawDataContainer< InDetRawDataCollection< TRT_RDORawData > > TRT_RDO_Container
AthConstConverter(long storage_type, const CLID &class_type, ISvcLocator *svc, const std::string &name)
static constexpr long storageType()
Abstract factory to create the converter.
virtual StatusCode createRepConst(DataObject *pObj, IOpaqueAddress *&pAddr) const override
this creates the RawEvent fragments for the TRT
virtual StatusCode initialize() override
initialize
static const CLID & classID()
virtual StatusCode createObjConst(IOpaqueAddress *, DataObject *&) const override
create Obj is not used !
ToolHandle< ITRTRawContByteStreamTool > m_tool
TRTRawContByteStreamCnv(ISvcLocator *svcloc)
virtual long repSvcType() const override
Storage type and class ID.
An AlgTool class to provide conversion from TRT RDO container to ByteStream, and fill it in RawEvent ...