ATLAS Offline Software
SCTRawDataProviderTool.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 
3 /*
4  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 #ifndef SCT_RAWDATABYTESTREAMCNV_SCTRAWDATAPROVIDERTOOL_H
8 #define SCT_RAWDATABYTESTREAMCNV_SCTRAWDATAPROVIDERTOOL_H
9 
12 
13 #include "GaudiKernel/ToolHandle.h"
14 
15 #include <atomic>
16 
17 
18 class ISCT_RodDecoder;
19 
29 class SCTRawDataProviderTool : public extends<AthAlgTool, ISCTRawDataProviderTool>
30 {
31  public:
32 
34  SCTRawDataProviderTool(const std::string& type, const std::string& name, const IInterface* parent);
35 
37  virtual ~SCTRawDataProviderTool() = default;
38 
40  virtual StatusCode initialize() override;
41 
52  virtual StatusCode convert(std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*>& vecROBFrags,
53  SCT_RDO_Container& rdoIDCont,
55  DataPool<SCT3_RawData>* dataItemsPool,
56  const EventContext& ctx) const override;
57 
58  private:
59 
61  ToolHandle<ISCT_RodDecoder> m_decoder{this, "Decoder", "SCT_RodDecoder", "Decoder"};
62 
65  mutable std::atomic_int m_decodeErrCount{0};
66 
67 };
68 
69 #endif // SCT_RAWDATABYTESTREAMCNV_SCTRAWDATAPROVIDERTOOL_H
SCTRawDataProviderTool::m_decodeErrCount
std::atomic_int m_decodeErrCount
Number of decode errors encountered in decoding.
Definition: SCTRawDataProviderTool.h:65
ISCTRawDataProviderTool.h
IDCInDetBSErrContainer
IDC like storage for BS errors, TODO, customise implementation further so that we store int rather th...
Definition: IDCInDetBSErrContainer.h:19
SCTRawDataProviderTool::~SCTRawDataProviderTool
virtual ~SCTRawDataProviderTool()=default
Destructor.
InDetRawDataContainer
Definition: InDetRawDataContainer.h:27
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
SCTRawDataProviderTool::initialize
virtual StatusCode initialize() override
Initialize.
Definition: SCTRawDataProviderTool.cxx:20
SCTRawDataProviderTool::SCTRawDataProviderTool
SCTRawDataProviderTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.
Definition: SCTRawDataProviderTool.cxx:13
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
DataPool
a typed memory pool that saves time spent allocation small object. This is typically used by containe...
Definition: DataPool.h:47
SCTRawDataProviderTool::m_decoder
ToolHandle< ISCT_RodDecoder > m_decoder
Algorithm Tool to decode ROD byte stream into RDO.
Definition: SCTRawDataProviderTool.h:61
SCTRawDataProviderTool::convert
virtual StatusCode convert(std::vector< const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment * > &vecROBFrags, SCT_RDO_Container &rdoIDCont, IDCInDetBSErrContainer &errs, DataPool< SCT3_RawData > *dataItemsPool, const EventContext &ctx) const override
Main decoding method.
Definition: SCTRawDataProviderTool.cxx:29
ISCT_RodDecoder
Definition: ISCT_RodDecoder.h:29
SCTRawDataProviderTool
Athena Algorithm Tool to fill Collections of SCT RDO Containers.
Definition: SCTRawDataProviderTool.h:30