ATLAS Offline Software
RpcRDO_Decoder.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 MUONBYTESTREAMRPCRDODECODER_H
6 #define MUONBYTESTREAMRPCRDODECODER_H
7 
8 #include <inttypes.h>
9 
10 #include <string>
11 #include <vector>
12 
14 #include "GaudiKernel/ServiceHandle.h"
18 
19 // Decoder class for conversion from RPC RDOs to RPC digits
20 namespace Muon {
21 
22  class RpcRDO_Decoder : public extends<AthAlgTool, IRPC_RDO_Decoder> {
23  public:
24  RpcRDO_Decoder(const std::string& type, const std::string& name, const IInterface* parent);
25  ~RpcRDO_Decoder() = default;
26 
27  virtual StatusCode initialize() override;
28 
29  virtual std::vector<std::unique_ptr<RpcDigit>> getDigit(const RpcFiredChannel* fChan, uint16_t& sectorID, uint16_t& padId, uint16_t& cmaId,
30  const RpcCablingCondData* rpcCab) const override;
31 
32  virtual std::vector<Identifier> getOfflineData(const RpcFiredChannel* fChan, uint16_t& sectorID, uint16_t& padId, uint16_t& cmaId,
33  double& time, const RpcCablingCondData* rpcCab) const override;
34 
35  private:
36  ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc{this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
37  Gaudi::Property<int> m_bczero { this, "BCZERO", 3, "Nominal BC for RPC readout"};
38 
39  };
40 
41 } // namespace Muon
42 
43 #endif // MUONBYTESTREAMRPCRDODECODER_H
IRPC_RDO_Decoder.h
Muon::RpcRDO_Decoder::~RpcRDO_Decoder
~RpcRDO_Decoder()=default
Muon::RpcRDO_Decoder::RpcRDO_Decoder
RpcRDO_Decoder(const std::string &type, const std::string &name, const IInterface *parent)
Definition: RpcRDO_Decoder.cxx:11
Muon::RpcRDO_Decoder::initialize
virtual StatusCode initialize() override
Definition: RpcRDO_Decoder.cxx:14
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:49
RpcFiredChannel
Definition: RpcFiredChannel.h:20
RpcCablingCondData
Definition: RpcCablingCondData.h:21
Muon::RpcRDO_Decoder::getOfflineData
virtual std::vector< Identifier > getOfflineData(const RpcFiredChannel *fChan, uint16_t &sectorID, uint16_t &padId, uint16_t &cmaId, double &time, const RpcCablingCondData *rpcCab) const override
Definition: RpcRDO_Decoder.cxx:48
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:88
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
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
Muon::RpcRDO_Decoder
Definition: RpcRDO_Decoder.h:22
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
Muon::RpcRDO_Decoder::getDigit
virtual std::vector< std::unique_ptr< RpcDigit > > getDigit(const RpcFiredChannel *fChan, uint16_t &sectorID, uint16_t &padId, uint16_t &cmaId, const RpcCablingCondData *rpcCab) const override
Definition: RpcRDO_Decoder.cxx:20
RpcCablingCondData.h
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
Muon::RpcRDO_Decoder::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: RpcRDO_Decoder.h:36
Muon::RpcRDO_Decoder::m_bczero
Gaudi::Property< int > m_bczero
Definition: RpcRDO_Decoder.h:37
IMuonIdHelperSvc.h
ServiceHandle< Muon::IMuonIdHelperSvc >