ATLAS Offline Software
Loading...
Searching...
No Matches
ITkStripsRawContByteStreamCnv.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
6
10
13
14#include "GaudiKernel/DataObject.h"
15#include "GaudiKernel/MsgStream.h"
16
17// Constructor
18
20 AthConstConverter(storageType(), classID(), svcLoc, "ITkStripsRawContByteStreamCnv"),
21 m_rawContByteStreamTool{"ITkStripsRawContByteStreamTool"},
22 m_byteStreamEventAccess{"ByteStreamCnvSvc", "ITkStripsRawContByteStreamCnv"}
23{
24}
25
26// Initialize
27
29{
30 ATH_CHECK(AthConstConverter::initialize());
31 ATH_MSG_DEBUG( " initialize " );
32
33 // Retrieve ByteStreamCnvSvc
35 ATH_MSG_VERBOSE( "Retrieved service " << m_byteStreamEventAccess );
36
37 // Retrieve byte stream tool
39 ATH_MSG_VERBOSE( "Retrieved tool " << m_rawContByteStreamTool );
40
41 return StatusCode::SUCCESS;
42}
43
44// Method to create RawEvent fragments
45
46StatusCode ITkStripsRawContByteStreamCnv::createRepConst(DataObject* pDataObject, IOpaqueAddress*& pOpaqueAddress) const
47{
48 // Get IDC for ITK Raw Data
49 SCT_RDO_Container* itkStripsRDOCont{nullptr};
50 if (not SG::fromStorable(pDataObject, itkStripsRDOCont)) {
51 ATH_MSG_ERROR( " Can not cast to SCTRawContainer " );
52 return StatusCode::FAILURE;
53 }
54
55 // Set up the IOpaqueAddress for Storegate
56 std::string dataObjectName{pDataObject->registry()->name()};
57 pOpaqueAddress = new ByteStreamAddress(classID(), dataObjectName, "");
58 pOpaqueAddress->addRef();//avoid memory leak
59 // Use the tool to do the conversion
60 ATH_CHECK(m_rawContByteStreamTool->convert(itkStripsRDOCont) );
61
62 return StatusCode::SUCCESS;
63}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_ERROR(x)
#define ATH_MSG_VERBOSE(x)
#define ATH_MSG_DEBUG(x)
Athena Algorithm Tool to fill Collections of SCT RDO Containers.
InDetRawDataContainer< InDetRawDataCollection< SCT_RDORawData > > SCT_RDO_Container
AthConstConverter(long storage_type, const CLID &class_type, ISvcLocator *svc, const std::string &name)
IOpaqueAddress for ByteStreamCnvSvc, with ROB ids.
static const CLID & classID()
Class ID.
virtual StatusCode initialize() override
Initialize.
ToolHandle< ISCTRawContByteStreamTool > m_rawContByteStreamTool
Tool to do coversion from ITkStrips RDO container to ByteStream.
ServiceHandle< IByteStreamEventAccess > m_byteStreamEventAccess
Interface for accessing raw data.
ITkStripsRawContByteStreamCnv(ISvcLocator *svcLoc)
Constructor.
virtual StatusCode createRepConst(DataObject *pDataObject, IOpaqueAddress *&pOpaqueAddress) const override
Method to convert ITkStrips Raw Data into ByteStream.
bool fromStorable(DataObject *pDObj, T *&pTrans, bool quiet=false, IRegisterTransient *irt=0, bool isConst=true)