Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
StripTdsOfflineTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef STRIPTDSOFFLINETOOL_H
6 #define STRIPTDSOFFLINETOOL_H
7 
9 #include "CLHEP/Random/RandFlat.h"
10 #include "CLHEP/Random/RandGauss.h"
11 #include "GaudiKernel/EventContext.h"
12 #include "GaudiKernel/ITHistSvc.h"
13 #include "GaudiKernel/ThreadLocalContext.h"
14 #include "GaudiKernel/ServiceHandle.h"
22 
28 
30 #include <functional>
31 #include <algorithm>
32 #include <map>
33 #include <utility>
34 
35 namespace MuonGM {
36  class MuonDetectorManager;
37 }
38 
39 namespace NSWL1 {
40 
68  class StripHits;
69 
70  class StripTdsOfflineTool: virtual public IStripTdsTool,
71  public AthAlgTool {
72 
73  public:
74  StripTdsOfflineTool(const std::string& type,
75  const std::string& name,
76  const IInterface* parent);
77 
78  virtual ~StripTdsOfflineTool()=default;
79 
80  virtual StatusCode initialize() override;
81 
82  virtual StatusCode gather_strip_data(std::vector<std::unique_ptr<StripData>>& strips,const std::vector<std::unique_ptr<PadTrigger>>& padTriggers) const override;
83 
84 
85  private:
86  // methods implementing the internal data processing
87  StatusCode fill_strip_cache(const std::vector<std::unique_ptr<PadTrigger>>& padTriggers, std::vector<std::unique_ptr<StripData>> &strip_cache) const;
88 
89  bool readStrip( StripData* ,const std::vector<std::unique_ptr<PadTrigger>>&) const;
90 
91  // needed Servives, Tools and Helpers
92  SG::ReadCondHandleKey<MuonGM::MuonDetectorManager> m_detManagerKey{this, "MuonManagerKey", "MuonDetectorManager"};
93  ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
94 
95  // activate MC-only processes
96  Gaudi::Property<bool> m_isMC {this, "IsMC", true, "This is MC"};
97 
98  SG::ReadHandleKey<sTgcDigitContainer> m_sTgcDigitContainer = {this,"sTGC_DigitContainerName","sTGC_DIGITS","the name of the sTGC digit container"};
99  SG::ReadHandleKey<MuonSimDataCollection> m_sTgcSdoContainer = {this,"sTGC_SdoContainerName","sTGC_SDO","the name of the sTGC SDO container"};
100  }; // end of StripTdsOfflineTool class
101 } // namespace NSWL1
102 #endif
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition: GeoMuonHits.h:27
TriggerTypes.h
NSWL1::StripTdsOfflineTool::StripTdsOfflineTool
StripTdsOfflineTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: StripTdsOfflineTool.cxx:27
NSWL1::StripTdsOfflineTool::m_sTgcSdoContainer
SG::ReadHandleKey< MuonSimDataCollection > m_sTgcSdoContainer
Definition: StripTdsOfflineTool.h:99
sTgcReadoutElement.h
NSWL1::StripTdsOfflineTool::initialize
virtual StatusCode initialize() override
Definition: StripTdsOfflineTool.cxx:33
SG::ReadHandleKey< sTgcDigitContainer >
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
NSWL1::StripTdsOfflineTool::~StripTdsOfflineTool
virtual ~StripTdsOfflineTool()=default
NSWL1::StripData
abstract class to interface the data hit fragment output from the Strip TDS
Definition: TrigT1NSWSimTools/TrigT1NSWSimTools/StripData.h:30
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
IStripTdsTool.h
StripOfflineData.h
NSWL1::StripTdsOfflineTool::fill_strip_cache
StatusCode fill_strip_cache(const std::vector< std::unique_ptr< PadTrigger >> &padTriggers, std::vector< std::unique_ptr< StripData >> &strip_cache) const
Definition: StripTdsOfflineTool.cxx:63
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
PadOfflineData.h
NSWL1::IStripTdsTool
interface for the StripTDS tools
Definition: IStripTdsTool.h:30
MuonDetectorManager.h
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager >
NSWL1::StripTdsOfflineTool
Definition: StripTdsOfflineTool.h:71
NSWL1::StripTdsOfflineTool::m_sTgcDigitContainer
SG::ReadHandleKey< sTgcDigitContainer > m_sTgcDigitContainer
Definition: StripTdsOfflineTool.h:98
NSWL1::StripTdsOfflineTool::readStrip
bool readStrip(StripData *, const std::vector< std::unique_ptr< PadTrigger >> &) const
Definition: StripTdsOfflineTool.cxx:170
sTgcDigit.h
sTgcDigitContainer.h
PadTrigger.h
AthAlgTool
Definition: AthAlgTool.h:26
MuonSimDataCollection.h
checker_macros.h
Define macros for attributes used to control the static checker.
NSWL1::StripTdsOfflineTool::gather_strip_data
virtual StatusCode gather_strip_data(std::vector< std::unique_ptr< StripData >> &strips, const std::vector< std::unique_ptr< PadTrigger >> &padTriggers) const override
Definition: StripTdsOfflineTool.cxx:46
NSWL1
A trigger trigger candidate for a stgc sector.
Definition: NSWL1Simulation.cxx:7
NSWL1::StripTdsOfflineTool::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: StripTdsOfflineTool.h:93
NSWL1::StripTdsOfflineTool::m_isMC
Gaudi::Property< bool > m_isMC
Definition: StripTdsOfflineTool.h:96
IMuonIdHelperSvc.h
NSWL1::StripTdsOfflineTool::m_detManagerKey
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > m_detManagerKey
Definition: StripTdsOfflineTool.h:92
MuonSimData.h
ServiceHandle< Muon::IMuonIdHelperSvc >