ATLAS Offline Software
Loading...
Searching...
No Matches
TGC_RodDecoderReadout.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3*/
4
6// TGC_RodDecoderReadout.h, (c) ATLAS Detector software
8
9#ifndef MUONTGC_CNVTOOLS_TGC_RODDECODERREADOUT_H
10#define MUONTGC_CNVTOOLS_TGC_RODDECODERREADOUT_H
11
14
15class TgcRdo;
16class TgcIdHelper;
17
18namespace Muon {
19
27
28class TGC_RodDecoderReadout : public extends<AthAlgTool, ITGC_RodDecoder> {
29 public:
31 using base_class::base_class;
34
36 virtual StatusCode initialize() override;
38 virtual StatusCode finalize() override;
40 virtual StatusCode fillCollection(
42 TgcRdoContainer& rdoIdc, const EventContext& ctx) const override;
43
44 private:
46 const TgcIdHelper* m_tgcIdHelper{nullptr};
47
50 TgcRdo* rdo) const;
53 TgcRdo* rdo, uint32_t source_id) const;
55 TgcRdo* rdo, uint32_t source_id,
56 uint32_t ndata) const;
58 void showStatusWords(const uint32_t source_id, const uint16_t rdoId,
59 const int idHash, const uint32_t nstatus,
60 const uint32_t* status) const;
61
63 Gaudi::Property<bool> m_showStatusWords{this, "ShowStatusWords", false};
65 Gaudi::Property<bool> m_skipCoincidence{this, "SkipCoincidence", false};
66
67 // counters to see how often we use the cache for the raw data collections
68 mutable std::atomic<unsigned int> m_nCache = 0;
69 mutable std::atomic<unsigned int> m_nNotCache = 0;
70};
71} // namespace Muon
72
73#endif // MUONTGC_CNVTOOLS_TGC_RODDECODERREADOUT_H
A tool to decode a TGC ROB fragment written in the readout format into TGC RDO.
void byteStream2Rdo(OFFLINE_FRAGMENTS_NAMESPACE::PointerType bs, TgcRdo *rdo, uint32_t source_id) const
Convert data contents of ROBFragment to RDO.
virtual StatusCode fillCollection(const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment &robFrag, TgcRdoContainer &rdoIdc, const EventContext &ctx) const override
Convert ROBFragment to RDO.
virtual StatusCode initialize() override
Standard AlgTool method.
Gaudi::Property< bool > m_skipCoincidence
Flag for skipping coincidence objects (for TrigT1TGC running on data)
Gaudi::Property< bool > m_showStatusWords
Flag for showStatusWords.
void getCollection(const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment &robFrag, TgcRdo *rdo) const
Retrieve header of ROBFragment.
std::atomic< unsigned int > m_nCache
virtual StatusCode finalize() override
Standard AlgTool method.
std::atomic< unsigned int > m_nNotCache
const TgcIdHelper * m_tgcIdHelper
TGC ID helper.
void byteStreamSrod2Rdo(OFFLINE_FRAGMENTS_NAMESPACE::PointerType bs, TgcRdo *rdo, uint32_t source_id, uint32_t ndata) const
virtual ~TGC_RodDecoderReadout()
default destructor
void showStatusWords(const uint32_t source_id, const uint16_t rdoId, const int idHash, const uint32_t nstatus, const uint32_t *status) const
Show status words.
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
const DataType * PointerType
Definition RawEvent.h:25
eformat::ROBFragment< PointerType > ROBFragment
Definition RawEvent.h:27