ATLAS Offline Software
CscDigitToCscRDOTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef CSCDIGITTOCSCRDOTOOL_H
6 #define CSCDIGITTOCSCRDOTOOL_H
7 
8 #include <map>
9 
12 #include "CLHEP/Random/RandomEngine.h"
15 #include "GaudiKernel/ServiceHandle.h"
16 #include "GaudiKernel/ToolHandle.h"
22 
23 
25 
26 class CscDigitToCscRDOTool final : public extends<AthAlgTool, IMuonDigitizationTool> {
27 public:
28  CscDigitToCscRDOTool(const std::string& type, const std::string& name, const IInterface* pIID);
29  virtual ~CscDigitToCscRDOTool() = default;
30 
31  virtual StatusCode initialize() override;
32  virtual StatusCode digitize(const EventContext& ctx) override;
33 
34 private:
36  CscRawDataCollection* cscRdo(uint16_t subDetectorId, uint16_t rodId);
37 
38  std::map<uint16_t, CscRawDataCollection*> m_cscRdoMap;
42  double m_startTime{};
43  double m_signalWidth{};
44  bool m_addNoise{true};
46 
47 protected:
48  SG::WriteHandleKey<CscRawDataContainer> m_rdoContainerKey{this, "OutputObjectName", "CSCRDO",
49  "WriteHandleKey for Output CswRawDataContainer"};
50  SG::ReadHandleKey<CscDigitContainer> m_digitContainerKey{this, "InputObjectName", "CSC_DIGITS",
51  "ReadHandleKey for Input CscDigitContainer"};
52  ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc{this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
53  ServiceHandle<CSCcablingSvc> m_cscCablingSvc{this, "CSCcablingSvc", "CSCcablingSvc", ""};
54  ToolHandle<ICscCalibTool> m_cscCalibTool{this, "cscCalibTool", "CscCalibTool", ""};
55  ServiceHandle<IAthRNGSvc> m_rndmSvc{this, "RndmSvc", "AthRNGSvc", ""};
56 };
57 
58 #endif
CscDigitToCscRDOTool::m_numberOfIntegration
uint16_t m_numberOfIntegration
set during initialize from cscCalibTool
Definition: CscDigitToCscRDOTool.h:45
CscDigitToCscRDOTool::m_digitContainerKey
SG::ReadHandleKey< CscDigitContainer > m_digitContainerKey
Definition: CscDigitToCscRDOTool.h:50
CscDigitToCscRDOTool::m_cscRdoMap
std::map< uint16_t, CscRawDataCollection * > m_cscRdoMap
Definition: CscDigitToCscRDOTool.h:38
CscDigitToCscRDOTool::m_rdoContainerKey
SG::WriteHandleKey< CscRawDataContainer > m_rdoContainerKey
Definition: CscDigitToCscRDOTool.h:48
CscDigitToCscRDOTool::CscDigitToCscRDOTool
CscDigitToCscRDOTool(const std::string &type, const std::string &name, const IInterface *pIID)
Definition: CscDigitToCscRDOTool.cxx:26
CscDigitToCscRDOTool::~CscDigitToCscRDOTool
virtual ~CscDigitToCscRDOTool()=default
CscRawDataContainer.h
IMuonDigitizationTool.h
ICscCalibTool.h
SG::ReadHandleKey< CscDigitContainer >
CscDigitToCscRDOTool::m_startTime
double m_startTime
set during initialize from cscCalibTool
Definition: CscDigitToCscRDOTool.h:42
SG::WriteHandleKey< CscRawDataContainer >
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:93
CscDigitToCscRDOTool::m_rndmSvc
ServiceHandle< IAthRNGSvc > m_rndmSvc
Random number service.
Definition: CscDigitToCscRDOTool.h:55
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
CscDigitToCscRDOTool::cscRdo
CscRawDataCollection * cscRdo(uint16_t subDetectorId, uint16_t rodId)
Definition: CscDigitToCscRDOTool.cxx:420
CscRawDataCollection
Collection of CSC Raw Hits, arranged according to CSC Detector Elements Author: Ketevi A.
Definition: CscRawDataCollection.h:24
CscRawDataCollection.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
CscDigitToCscRDOTool::m_signalWidth
double m_signalWidth
set during initialize from cscCalibTool
Definition: CscDigitToCscRDOTool.h:43
CscDigitToCscRDOTool::m_cscCablingSvc
ServiceHandle< CSCcablingSvc > m_cscCablingSvc
Definition: CscDigitToCscRDOTool.h:53
CscDigitToCscRDOTool::m_cscCalibTool
ToolHandle< ICscCalibTool > m_cscCalibTool
Definition: CscDigitToCscRDOTool.h:54
CscDigitToCscRDOTool::initialize
virtual StatusCode initialize() override
Definition: CscDigitToCscRDOTool.cxx:35
CscDigitToCscRDOTool::m_samplingRate
uint16_t m_samplingRate
set during initialize from cscCalibTool
Definition: CscDigitToCscRDOTool.h:39
CscDigitContainer.h
CscDigitToCscRDOTool::m_numSamples
uint16_t m_numSamples
Definition: CscDigitToCscRDOTool.h:40
CscDigitToCscRDOTool
Definition: CscDigitToCscRDOTool.h:26
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
CscDigitToCscRDOTool::m_latency
uint16_t m_latency
Definition: CscDigitToCscRDOTool.h:41
CscDigitToCscRDOTool::digitize
virtual StatusCode digitize(const EventContext &ctx) override
Definition: CscDigitToCscRDOTool.cxx:65
CscDigitToCscRDOTool::m_addNoise
bool m_addNoise
Definition: CscDigitToCscRDOTool.h:44
IMuonIdHelperSvc.h
CscDigitToCscRDOTool::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: CscDigitToCscRDOTool.h:52
CSCcablingSvc.h
CscDigitToCscRDOTool::fill_CSCdata
StatusCode fill_CSCdata()
Definition: CscDigitToCscRDOTool.cxx:74
IAthRNGSvc.h
ServiceHandle< Muon::IMuonIdHelperSvc >