ATLAS Offline Software
GeantFollowerMS.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // GeantFollowerMS.h, (c) ATLAS Detector software
8 
9 #ifndef GeantFollowerMS_H
10 #define GeantFollowerMS_H
11 
12 #include "GaudiKernel/ToolHandle.h"
13 #include "GaudiKernel/ServiceHandle.h"
15 
16 #include "G4UserEventAction.hh"
17 #include "G4UserRunAction.hh"
18 #include "G4UserSteppingAction.hh"
19 
25 namespace Trk {
26  class IGeantFollowerMSHelper;
27  class TrackingGeometry;
28 }
29 
30 namespace G4UA
31 {
32 
33  class GeantFollowerMS: public G4UserEventAction, public G4UserRunAction, public G4UserSteppingAction
34  {
35 
36  public:
37 
38  struct Config
39  {
40  // FIXME: public tool handle in thread-local action!
41  // See ATLASSIM-3561.
42  ToolHandle<Trk::IGeantFollowerMSHelper> helper =
43  ToolHandle<Trk::IGeantFollowerMSHelper>("Trk::GeantFollowerMSHelper/GeantFollowerMSHelper");
45  ServiceHandle<Trk::ITrackingGeometrySvc>("AtlasTrackingGeometrySvc","GeantFollowerMS");
46  };
47 
49  virtual void BeginOfEventAction(const G4Event*) override;
50  virtual void EndOfEventAction(const G4Event*) override;
51  virtual void BeginOfRunAction(const G4Run*) override;
52  virtual void UserSteppingAction(const G4Step*) override;
53 
54  private:
55 
57 
59 
60  }; // class GeantFollowerMS
61 
62 } // namespace G4UA
63 
64 #endif
G4UA::GeantFollowerMS::BeginOfEventAction
virtual void BeginOfEventAction(const G4Event *) override
Definition: GeantFollowerMS.cxx:31
G4UA::GeantFollowerMS::UserSteppingAction
virtual void UserSteppingAction(const G4Step *) override
Definition: GeantFollowerMS.cxx:62
G4UA::GeantFollowerMS::Config::trackingGeometrySvc
ServiceHandle< Trk::ITrackingGeometrySvc > trackingGeometrySvc
Definition: GeantFollowerMS.h:44
G4UA::GeantFollowerMS::Config
Definition: GeantFollowerMS.h:39
G4UA
for nSW
Definition: CalibrationDefaultProcessing.h:19
G4UA::GeantFollowerMS::m_helperPointer
Trk::IGeantFollowerMSHelper * m_helperPointer
Definition: GeantFollowerMS.h:58
G4UA::GeantFollowerMS::EndOfEventAction
virtual void EndOfEventAction(const G4Event *) override
Definition: GeantFollowerMS.cxx:37
G4UA::GeantFollowerMS::GeantFollowerMS
GeantFollowerMS(const Config &config)
Definition: GeantFollowerMS.cxx:26
config
Definition: PhysicsAnalysis/AnalysisCommon/AssociationUtils/python/config.py:1
Trk::IGeantFollowerMSHelper
Definition: IGeantFollowerMSHelper.h:26
G4UA::GeantFollowerMS::m_config
Config m_config
Definition: GeantFollowerMS.h:56
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
ITrackingGeometrySvc.h
G4UA::GeantFollowerMS::Config::helper
ToolHandle< Trk::IGeantFollowerMSHelper > helper
Definition: GeantFollowerMS.h:42
G4UA::GeantFollowerMS::BeginOfRunAction
virtual void BeginOfRunAction(const G4Run *) override
Definition: GeantFollowerMS.cxx:43
G4UA::GeantFollowerMS
Definition: GeantFollowerMS.h:34
ServiceHandle< Trk::ITrackingGeometrySvc >