ATLAS Offline Software
Loading...
Searching...
No Matches
PixelRawDataProviderTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef PIXELRAWDATABYTESTREAMCNV_PIXELRAWDATAPROVIDERTOOL_H
6#define PIXELRAWDATABYTESTREAMCNV_PIXELRAWDATAPROVIDERTOOL_H
7
14
15#include "GaudiKernel/EventContext.h"
16#include "GaudiKernel/ToolHandle.h"
17
18#include <atomic>
19
20// the tool to decode a ROB frament
22{
23
24 public:
25
27 PixelRawDataProviderTool( const std::string& type, const std::string& name,
28 const IInterface* parent ) ;
29
31 StatusCode initialize() override;
32
34 StatusCode convert( std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*>& vecRobs,
35 IPixelRDO_Container* rdoIdc,
36 IDCInDetBSErrContainer& decodingErrors, const EventContext& ctx) const final;
37
39 int SizeOfIDCInDetBSErrContainer() const final;
40
41private:
42
43 ToolHandle<IPixelRodDecoder> m_decoder
44 {this, "Decoder", "PixelRodDecoder", "Tool for PixelRodDecoder"};
45
46
47 SG::WriteHandleKey<InDetTimeCollection> m_LVL1CollectionKey{this, "LVL1CollectionName", "PixelLVL1ID"};
48 SG::WriteHandleKey<InDetTimeCollection> m_BCIDCollectionKey{this, "BCIDCollectionName", "PixelBCID"};
49 Gaudi::Property<bool> m_storeInDetTimeColls{this, "StoreInDetTimeCollections", true, "Store LVL1ID and BCID"};
50
51 mutable std::atomic_int m_DecodeErrCount;
52};
53
54#endif
Maintain a set of objects, one per slot.
EventContainers::IIdentifiableCont< InDetRawDataCollection< PixelRDORawData > > IPixelRDO_Container
Property holding a SG store/key/clid from which a WriteHandle is made.
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
IDC like storage for BS errors, TODO, customise implementation further so that we store int rather th...
SG::WriteHandleKey< InDetTimeCollection > m_LVL1CollectionKey
Gaudi::Property< bool > m_storeInDetTimeColls
StatusCode initialize() override
initialize
PixelRawDataProviderTool(const std::string &type, const std::string &name, const IInterface *parent)
constructor
SG::WriteHandleKey< InDetTimeCollection > m_BCIDCollectionKey
int SizeOfIDCInDetBSErrContainer() const final
Size of IDCInDetBSErrContainer.
ToolHandle< IPixelRodDecoder > m_decoder
StatusCode convert(std::vector< const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment * > &vecRobs, IPixelRDO_Container *rdoIdc, IDCInDetBSErrContainer &decodingErrors, const EventContext &ctx) const final
this is the main decoding method
Property holding a SG store/key/clid from which a WriteHandle is made.