ATLAS Offline Software
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 
16 class DataObject;
18 class IOpaqueAddress;
19 class DataObject;
20 
21 // Abstract factory to create the converter
22 template <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 
47 private:
48  // for BS infrastructure
49  ToolHandle<ITRTRawContByteStreamTool> m_tool; // ME: use tool handles
50 };
51 #endif
52 
TRT_RDO_Container.h
TRTRawContByteStreamTool
An AlgTool class to provide conversion from TRT RDO container to ByteStream, and fill it in RawEvent ...
Definition: TRTRawContByteStreamTool.h:34
TRTRawContByteStreamCnv::initialize
virtual StatusCode initialize() override
initialize
Definition: TRTRawContByteStreamCnv.cxx:24
TRTRawContByteStreamCnv::storageType
static long storageType()
Definition: TRTRawContByteStreamCnv.h:34
InDetRawDataContainer
Definition: InDetRawDataContainer.h:27
AthConstConverter
Gaudi converter base class with const interfaces.
Definition: AthConstConverter.h:33
TRTRawContByteStreamCnv::TRTRawContainer
TRT_RDO_Container TRTRawContainer
Definition: TRTRawContByteStreamCnv.h:30
ClassID_traits::ID
static const CLID & ID()
the CLID of T
Definition: Control/AthenaKernel/AthenaKernel/ClassID_traits.h:50
ITRTRawContByteStreamTool.h
ClassID_traits.h
a traits class that associates a CLID to a type T It also detects whether T inherits from Gaudi DataO...
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.
TRTRawContByteStreamCnv::TRTRawContByteStreamCnv
TRTRawContByteStreamCnv(ISvcLocator *svcloc)
Definition: TRTRawContByteStreamCnv.cxx:15
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
TRTRawContByteStreamCnv::repSvcType
virtual long repSvcType() const override
Storage type and class ID.
Definition: TRTRawContByteStreamCnv.h:33
ByteStreamAddress::storageType
static constexpr long storageType()
Definition: ByteStreamAddress.h:51
TRTRawContByteStreamCnv::m_tool
ToolHandle< ITRTRawContByteStreamTool > m_tool
Definition: TRTRawContByteStreamCnv.h:49
TRTRawContByteStreamCnv
Definition: TRTRawContByteStreamCnv.h:26
TRTRawContByteStreamCnv::createRepConst
virtual StatusCode createRepConst(DataObject *pObj, IOpaqueAddress *&pAddr) const override
this creates the RawEvent fragments for the TRT
Definition: TRTRawContByteStreamCnv.cxx:43
TRTRawContByteStreamCnv::createObjConst
virtual StatusCode createObjConst(IOpaqueAddress *, DataObject *&) const override
create Obj is not used !
Definition: TRTRawContByteStreamCnv.h:41
TRTRawContByteStreamCnv::classID
static const CLID & classID()
Definition: TRTRawContByteStreamCnv.h:35