ATLAS Offline Software
Loading...
Searching...
No Matches
AthenaStackingActionTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef G4ATLASALG_ATLASSTACKINGACTIONTOOL_H
6#define G4ATLASALG_ATLASSTACKINGACTIONTOOL_H
7
8// STL includes
9#include <string>
10
11// G4Atlas includes
14
15// Local includes
17
18
19namespace G4UA
20{
21
27 class AthenaStackingActionTool : public UserActionToolBase<AthenaStackingAction>
28 {
29
30 public:
31
33 AthenaStackingActionTool(const std::string& type, const std::string& name,
34 const IInterface* parent);
35
37 virtual StatusCode initialize() override final;
38
39 protected:
40
41 // Setup the user action for current thread
42 virtual std::unique_ptr<AthenaStackingAction>
43 makeAndFillAction(G4AtlasUserActions& actionLists) override final;
44
45 private:
46
49
52
53 }; // class AthenaStackingActionTool
54
55} // namespace G4UA
56
57#endif
virtual StatusCode initialize() override final
Initialize the tool.
AthenaStackingAction::Config m_config
Configuration parameters.
bool m_useDebugAction
Use the debug version of the stacking action.
virtual std::unique_ptr< AthenaStackingAction > makeAndFillAction(G4AtlasUserActions &actionLists) override final
Make the action and push onto the lists.
AthenaStackingActionTool(const std::string &type, const std::string &name, const IInterface *parent)
Standard constructor.
UserActionToolBase(const std::string &type, const std::string &name, const IInterface *parent)
Configuration option struct for AthenaStackingAction.
Struct for passing around user actions.