Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
IPhysicsOptionTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef G4ATLASINTERFACES_IPHYSICSOPTIONTOOL_H
6 #define G4ATLASINTERFACES_IPHYSICSOPTIONTOOL_H
7 
8 #include <memory>
9 #include "GaudiKernel/IAlgTool.h"
10 class G4String;
11 class G4VPhysicsConstructor;
12 
22  enum Type {
23  BSMPhysics = 1, // Adds new BSM particles and potentially decays
24  QS_ExtraParticles = 2, // Adds particles from the PDG Table not currently known to Geant4
25  QS_ExtraProc = 3, // Adds MSC and Ionisation processes for specific particles (possibly merge with the next one?)
26  GlobalProcesses = 4, // Adds a new physics process for all particles meeting certain criteria
27  UnknownType = 5 // Not set
28  };
29 }
30 
31 class IPhysicsOptionTool : virtual public IAlgTool
32 {
33 public:
34  using UPPhysicsConstructor = std::unique_ptr<G4VPhysicsConstructor>;
35 
37  virtual ~IPhysicsOptionTool() {}
40 
41  // Method needed to register G4VPhysicsConstructor into G4VmodularPhysicsList
43 
45  return m_physicsOptionType; };
46 
47 protected:
48 
50 
51 };
52 #endif
G4AtlasPhysicsOption::QS_ExtraProc
@ QS_ExtraProc
Definition: IPhysicsOptionTool.h:25
G4AtlasPhysicsOption::Type
Type
Definition: IPhysicsOptionTool.h:22
IPhysicsOptionTool::GetPhysicsOption
virtual UPPhysicsConstructor GetPhysicsOption()=0
IPhysicsOptionTool::DeclareInterfaceID
DeclareInterfaceID(IPhysicsOptionTool, 1, 0)
Creates the InterfaceID and interfaceID() method.
IPhysicsOptionTool::UPPhysicsConstructor
std::unique_ptr< G4VPhysicsConstructor > UPPhysicsConstructor
Definition: IPhysicsOptionTool.h:34
IPhysicsOptionTool::GetOptionType
virtual G4AtlasPhysicsOption::Type GetOptionType() const
Definition: IPhysicsOptionTool.h:44
IPhysicsOptionTool::m_physicsOptionType
G4AtlasPhysicsOption::Type m_physicsOptionType
Definition: IPhysicsOptionTool.h:49
IPhysicsOptionTool::~IPhysicsOptionTool
virtual ~IPhysicsOptionTool()
Definition: IPhysicsOptionTool.h:37
xAODType
Definition: ObjectType.h:13
IPhysicsOptionTool::IPhysicsOptionTool
IPhysicsOptionTool()
Definition: IPhysicsOptionTool.h:36
IPhysicsOptionTool
Definition: IPhysicsOptionTool.h:32
G4AtlasPhysicsOption::GlobalProcesses
@ GlobalProcesses
Definition: IPhysicsOptionTool.h:26
G4AtlasPhysicsOption::UnknownType
@ UnknownType
Definition: IPhysicsOptionTool.h:27
G4AtlasPhysicsOption::QS_ExtraParticles
@ QS_ExtraParticles
Definition: IPhysicsOptionTool.h:24
G4AtlasPhysicsOption
Definition: IPhysicsOptionTool.h:21
G4AtlasPhysicsOption::BSMPhysics
@ BSMPhysics
Definition: IPhysicsOptionTool.h:23