ATLAS Offline Software
Loading...
Searching...
No Matches
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
24
25namespace Trk {
26 class IGeantFollowerMSHelper;
27 class TrackingGeometry;
28}
29
30namespace 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
virtual void BeginOfRunAction(const G4Run *) override
Trk::IGeantFollowerMSHelper * m_helperPointer
virtual void BeginOfEventAction(const G4Event *) override
virtual void EndOfEventAction(const G4Event *) override
GeantFollowerMS(const Config &config)
virtual void UserSteppingAction(const G4Step *) override
Ensure that the ATLAS eigen extensions are properly loaded.
ServiceHandle< Trk::ITrackingGeometrySvc > trackingGeometrySvc
ToolHandle< Trk::IGeantFollowerMSHelper > helper