ATLAS Offline Software
BCM_RawDataProviderTool.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 BCM_RAWDATABYTESTREAMCNV_BCM_RAWDATAPROVIDERTOOL_H
6 #define BCM_RAWDATABYTESTREAMCNV_BCM_RAWDATAPROVIDERTOOL_H
7 
9 #include "GaudiKernel/ToolHandle.h"
10 #include "ByteStreamData/RawEvent.h"
12 #include <inttypes.h>
13 #include <atomic>
14 
15 // the tool to decode a ROB fragment
16 
18 {
19 
20  public:
21 
23  static const InterfaceID& interfaceID();
24 
27 
29  virtual ~BCM_RawDataProviderTool();
30 
32  virtual StatusCode initialize() override;
33 
35  virtual StatusCode finalize() override;
36 
38  StatusCode convert(std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*>& vecRobs, BCM_RDO_Container* rdoCont) const;
39 
40 private:
41  mutable std::atomic<unsigned> m_decodeErrCount{0};
42  ToolHandle<BCM_RodDecoder> m_decoder{this,"Decoder","BCM_RodDecoder"};
43 };
44 
45 #endif
BCM_RawDataProviderTool::m_decodeErrCount
std::atomic< unsigned > m_decodeErrCount
Definition: BCM_RawDataProviderTool.h:41
BCM_RawDataProviderTool::~BCM_RawDataProviderTool
virtual ~BCM_RawDataProviderTool()
destructor
Definition: BCM_RawDataProviderTool.cxx:25
BCM_RawDataProviderTool::convert
StatusCode convert(std::vector< const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment * > &vecRobs, BCM_RDO_Container *rdoCont) const
this is the main decoding method
Definition: BCM_RawDataProviderTool.cxx:52
BCM_RawDataProviderTool::interfaceID
static const InterfaceID & interfaceID()
AthAlgTool InterfaceID.
Definition: BCM_RawDataProviderTool.cxx:19
BCM_RDO_Container
Definition: BCM_RDO_Container.h:27
RawEvent.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
BCM_RawDataProviderTool
Definition: BCM_RawDataProviderTool.h:18
BCM_RodDecoder.h
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
BCM_RawDataProviderTool::m_decoder
ToolHandle< BCM_RodDecoder > m_decoder
Definition: BCM_RawDataProviderTool.h:42
AthAlgTool
Definition: AthAlgTool.h:26
BCM_RawDataProviderTool::finalize
virtual StatusCode finalize() override
finalize
Definition: BCM_RawDataProviderTool.cxx:45
BCM_RawDataProviderTool::initialize
virtual StatusCode initialize() override
initialize
Definition: BCM_RawDataProviderTool.cxx:31