ATLAS Offline Software
Loading...
Searching...
No Matches
RpcDigitToRpcRDO.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef RPCDIGITTORPCRDO_H
6#define RPCDIGITTORPCRDO_H
7
9#include "GaudiKernel/ServiceHandle.h"
13#include "MuonRDO/RpcPad.h"
22
24
26public:
27 RpcDigitToRpcRDO(const std::string& name, ISvcLocator* pSvcLocator);
28 virtual ~RpcDigitToRpcRDO() = default;
29 virtual StatusCode initialize() override final;
30 virtual StatusCode execute(const EventContext& ctx) const override final;
31
33 //--- Migrated from RpcByteStreamDecoder.
34 typedef std::map<int, PADreadout, std::less<int> > PAD_Readout;
35 // Pad and Matrix decoding functions
38
39 StatusCode fill_RPCdata(RPCsimuData& data, const EventContext& ctx, const RpcCablingCondData*) const;
40
41 // NOTE: although this function has no clients in release 22, currently the Run2 trigger simulation is still run in
42 // release 21 on RDOs produced in release 22. Since release 21 accesses the TagInfo, it needs to be written to the
43 // RDOs produced in release 22. The fillTagInfo() function thus needs to stay in release 22 until the workflow changes
44 StatusCode fillTagInfo() const;
45
46 SG::ReadCondHandleKey<MuonGM::MuonDetectorManager> m_DetectorManagerKey{this, "DetectorManagerKey", "MuonDetectorManager",
47 "Key of input MuonDetectorManager condition data"};
48
49 IntegerProperty m_fast_debug{this, "FastDebug", 0, "bits for debugging 'fast' algos"};
50 IntegerProperty m_monitoring{this, "Monitoring", 0, "bits for monitoring sequence"};
51
52 IntegerProperty m_cma_debug{this, "CMAdebug", 0, "bits for debugging CMA simulation"};
53 IntegerProperty m_pad_debug{this, "PADdebug", 0, "bits for debugging PAD simulation"};
54 IntegerProperty m_sl_debug{this, "SLdebug", 0, "bits for debugging SL simulation"};
55
56 IntegerProperty m_cma_ro_debug{this, "CMArodebug", 0, "bits for debugging CMA readout"};
57 IntegerProperty m_pad_ro_debug{this, "PADrodebug", 0, "bits for debugging PAD readout"};
58 IntegerProperty m_rx_ro_debug{this, "RXrodebug", 0, "bits for debugging Rx readout"};
59 IntegerProperty m_sl_ro_debug{this, "SLrodebug", 0, "bits for debugging SL readout"};
60
61 IntegerProperty m_cma_rostruct_debug{this, "CMArostructdebug", 0, "bits for debugging CMA ro struct"};
62 IntegerProperty m_pad_rostruct_debug{this, "PADrostructdebug", 0, "bits for debugging PAD ro struct"};
63 IntegerProperty m_rx_rostruct_debug{this, "RXrostructdebug", 0, "bits for debugging Rx ro struct"};
64 IntegerProperty m_sl_rostruct_debug{this, "SLrostructdebug", 0, "bits for debugging SL ro struct"};
65
66 BooleanProperty m_geometric_algo{this, "Geometric", false, "flag to activate fast simu"};
67 BooleanProperty m_geometric_algo_param{this, "GeometricParameters", false, "flag to compute fast simu par"};
68 BooleanProperty m_detailed_algo{this, "Detailed", false, "flag to activate detailed simu"};
69 BooleanProperty m_detail_algo_param{this, "DetailedParameters", false, "flag to compute detailed simu par"};
70 StringProperty m_bytestream_file{this, "RPCbytestreamFile", "", "name for the bytestream file"};
71
72 BooleanProperty m_patch_for_rpc_time{this, "PatchForRpcTime", false, "flag for patching the RPC time"};
73
74 BooleanProperty m_data_detail{this, "DataDetail", false, "flag to printout detailed INFO on processed data"};
75
76 SG::ReadCondHandleKey<RpcCablingCondData> m_readKey{this, "ReadKey", "RpcCablingCondData", "Key of RpcCablingCondData"};
77
78 SG::WriteHandleKey<RpcPadContainer> m_padContainerKey{this, "OutputObjectName", "RPCPAD", "WriteHandleKey for Output RpcPadContainer"};
79 SG::ReadHandleKey<RpcDigitContainer> m_digitContainerKey{this, "InputObjectName", "RPC_DIGITS",
80 "ReadHandleKey for Input RpcDigitContainer"};
81
82 ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc{this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
83
84 Gaudi::Property<std::vector<std::string>> m_exclStat{this, "ExcludeHitsFromStations",
85 {"BIS"}, "Digits from these stations are not converted" };
86 Gaudi::Property<int> m_nobxs { this, "NOBXS", 8, "Number of bunch crossings in readout"};
87 Gaudi::Property<int> m_bczero { this, "BCZERO", 3, "central bunch crossing in readout"};
88
89
90
91 std::set<int> m_exclStatNames{};
92};
93
94#endif
char data[hepevt_bytes_allocation_ATLAS]
Definition HepEvt.cxx:11
An algorithm that can be simultaneously executed in multiple threads.
IntegerProperty m_fast_debug
BooleanProperty m_detailed_algo
virtual StatusCode initialize() override final
IntegerProperty m_cma_debug
BooleanProperty m_detail_algo_param
SG::WriteHandleKey< RpcPadContainer > m_padContainerKey
StatusCode fillTagInfo() const
RpcCoinMatrix * decodeMatrix(MatrixReadOut *matrix, Identifier &id) const
IntegerProperty m_monitoring
Gaudi::Property< int > m_bczero
IntegerProperty m_pad_ro_debug
IntegerProperty m_cma_ro_debug
StringProperty m_bytestream_file
SG::ReadHandleKey< RpcDigitContainer > m_digitContainerKey
virtual ~RpcDigitToRpcRDO()=default
StatusCode fill_RPCdata(RPCsimuData &data, const EventContext &ctx, const RpcCablingCondData *) const
std::map< int, PADreadout, std::less< int > > PAD_Readout
Gaudi::Property< std::vector< std::string > > m_exclStat
BooleanProperty m_patch_for_rpc_time
Gaudi::Property< int > m_nobxs
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > m_DetectorManagerKey
IntegerProperty m_pad_debug
BooleanProperty m_data_detail
IntegerProperty m_cma_rostruct_debug
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
RpcPad * decodePad(PADreadout &pad, const RpcCablingCondData *readCdo) const
IntegerProperty m_sl_ro_debug
std::set< int > m_exclStatNames
IntegerProperty m_sl_debug
SG::ReadCondHandleKey< RpcCablingCondData > m_readKey
IntegerProperty m_rx_rostruct_debug
IntegerProperty m_pad_rostruct_debug
IntegerProperty m_sl_rostruct_debug
RpcDigitToRpcRDO(const std::string &name, ISvcLocator *pSvcLocator)
BooleanProperty m_geometric_algo_param
IntegerProperty m_rx_ro_debug
BooleanProperty m_geometric_algo
virtual StatusCode execute(const EventContext &ctx) const override final
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
STL class.
Ensure that the Athena extensions are properly loaded.
Definition GeoMuonHits.h:27
Forward declaration.
STL namespace.
#define private