ATLAS Offline Software
Loading...
Searching...
No Matches
TrackProcessorUserActionFullG4Tool.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
6
7namespace G4UA
8{
9
10 namespace iGeant4
11 {
12
15 const std::string& name,
16 const IInterface* parent)
18 m_config(name)
19 {
20 declareProperty("EntryLayerTool", m_config.entryLayerTool, "ISF Entry Layer Tool");
21 declareProperty("GeoIDSvc", m_config.geoIDSvc, "ISF GeoIDService" );
22 declareProperty("TruthVolumeLevel", m_config.truthVolLevel, "Level in geo hierarchy for the truth volumes");
23 declareProperty("IsITkGeometry", m_config.isITkGeometry, "toggle for ITk");
24 }
25
26 std::unique_ptr<TrackProcessorUserActionFullG4>
28 {
29 ATH_MSG_DEBUG("Constructing a TrackProcessorUserActionFullG4");
30 if(msgLvl(MSG::VERBOSE)) { m_config.verboseLevel = 10; }
31 else if(msgLvl(MSG::DEBUG)) { m_config.verboseLevel = 5; }
32 auto action = std::make_unique<TrackProcessorUserActionFullG4>(m_config);
33 actionList.eventActions.push_back( action.get() );
34 actionList.trackingActions.push_back( action.get() );
35 actionList.steppingActions.push_back( action.get() );
36 return action;
37 }
38
39 } // iGeant4
40
41} // namespace G4UA
#define ATH_MSG_DEBUG(x)
UserActionToolBase(const std::string &type, const std::string &name, const IInterface *parent)
TrackProcessorUserActionFullG4::Config m_config
Configuration parameters.
virtual std::unique_ptr< TrackProcessorUserActionFullG4 > makeAndFillAction(G4AtlasUserActions &) override final
Create an action for this thread.
TrackProcessorUserActionFullG4Tool(const std::string &type, const std::string &name, const IInterface *parent)
Standard constructor.
Struct for passing around user actions.
std::vector< G4UserTrackingAction * > trackingActions
std::vector< G4UserSteppingAction * > steppingActions
std::vector< G4UserEventAction * > eventActions