ATLAS Offline Software
Loading...
Searching...
No Matches
RpcDigitToRpcRDO.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 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"
23
25
27public:
28 RpcDigitToRpcRDO(const std::string& name, ISvcLocator* pSvcLocator);
29 virtual ~RpcDigitToRpcRDO() = default;
30 virtual StatusCode initialize() override final;
31 virtual StatusCode execute(const EventContext& ctx) const override final;
32
34 //--- Migrated from RpcByteStreamDecoder.
35 typedef std::map<int, PADreadout, std::less<int> > PAD_Readout;
36 // Pad and Matrix decoding functions
39
40 StatusCode fill_RPCdata(RPCsimuData& data, const EventContext& ctx, const RpcCablingCondData*) const;
41
42 // NOTE: although this function has no clients in release 22, currently the Run2 trigger simulation is still run in
43 // release 21 on RDOs produced in release 22. Since release 21 accesses the TagInfo, it needs to be written to the
44 // RDOs produced in release 22. The fillTagInfo() function thus needs to stay in release 22 until the workflow changes
45 StatusCode fillTagInfo() const;
46
47 SG::ReadCondHandleKey<MuonGM::MuonDetectorManager> m_DetectorManagerKey{this, "DetectorManagerKey", "MuonDetectorManager",
48 "Key of input MuonDetectorManager condition data"};
49
50 IntegerProperty m_fast_debug{this, "FastDebug", 0, "bits for debugging 'fast' algos"};
51 IntegerProperty m_monitoring{this, "Monitoring", 0, "bits for monitoring sequence"};
52
53 IntegerProperty m_cma_debug{this, "CMAdebug", 0, "bits for debugging CMA simulation"};
54 IntegerProperty m_pad_debug{this, "PADdebug", 0, "bits for debugging PAD simulation"};
55 IntegerProperty m_sl_debug{this, "SLdebug", 0, "bits for debugging SL simulation"};
56
57 IntegerProperty m_cma_ro_debug{this, "CMArodebug", 0, "bits for debugging CMA readout"};
58 IntegerProperty m_pad_ro_debug{this, "PADrodebug", 0, "bits for debugging PAD readout"};
59 IntegerProperty m_rx_ro_debug{this, "RXrodebug", 0, "bits for debugging Rx readout"};
60 IntegerProperty m_sl_ro_debug{this, "SLrodebug", 0, "bits for debugging SL readout"};
61
62 IntegerProperty m_cma_rostruct_debug{this, "CMArostructdebug", 0, "bits for debugging CMA ro struct"};
63 IntegerProperty m_pad_rostruct_debug{this, "PADrostructdebug", 0, "bits for debugging PAD ro struct"};
64 IntegerProperty m_rx_rostruct_debug{this, "RXrostructdebug", 0, "bits for debugging Rx ro struct"};
65 IntegerProperty m_sl_rostruct_debug{this, "SLrostructdebug", 0, "bits for debugging SL ro struct"};
66
67 BooleanProperty m_geometric_algo{this, "Geometric", false, "flag to activate fast simu"};
68 BooleanProperty m_geometric_algo_param{this, "GeometricParameters", false, "flag to compute fast simu par"};
69 BooleanProperty m_detailed_algo{this, "Detailed", false, "flag to activate detailed simu"};
70 BooleanProperty m_detail_algo_param{this, "DetailedParameters", false, "flag to compute detailed simu par"};
71 StringProperty m_bytestream_file{this, "RPCbytestreamFile", "", "name for the bytestream file"};
72
73 BooleanProperty m_patch_for_rpc_time{this, "PatchForRpcTime", false, "flag for patching the RPC time"};
74
75 BooleanProperty m_data_detail{this, "DataDetail", false, "flag to printout detailed INFO on processed data"};
76
77 SG::ReadCondHandleKey<RpcCablingCondData> m_readKey{this, "ReadKey", "RpcCablingCondData", "Key of RpcCablingCondData"};
78
79 SG::WriteHandleKey<RpcPadContainer> m_padContainerKey{this, "OutputObjectName", "RPCPAD", "WriteHandleKey for Output RpcPadContainer"};
80 SG::ReadHandleKey<RpcDigitContainer> m_digitContainerKey{this, "InputObjectName", "RPC_DIGITS",
81 "ReadHandleKey for Input RpcDigitContainer"};
82
83 ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc{this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
84
85 Gaudi::Property<std::vector<std::string>> m_exclStat{this, "ExcludeHitsFromStations",
86 {"BIS"}, "Digits from these stations are not converted" };
87 Gaudi::Property<int> m_nobxs { this, "NOBXS", 8, "Number of bunch crossings in readout"};
88 Gaudi::Property<int> m_bczero { this, "BCZERO", 3, "central bunch crossing in readout"};
89
90
91
92 std::set<int> m_exclStatNames{};
93};
94
95#endif
defines an "iterator" over instances of a given type in StoreGateSvc
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