ATLAS Offline Software
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 "GaudiKernel/IAlgTool.h"
9 class G4String;
10 class G4VPhysicsConstructor;
11 
21  enum Type {
22  BSMPhysics = 1, // Adds new BSM particles and potentially decays
23  QS_ExtraParticles = 2, // Adds particles from the PDG Table not currently known to Geant4
24  QS_ExtraProc = 3, // Adds MSC and Ionisation processes for specific particles (possibly merge with the next one?)
25  GlobalProcesses = 4, // Adds a new physics process for all particles meeting certain criteria
26  UnknownType = 5 // Not set
27  };
28 }
29 
30 class IPhysicsOptionTool : virtual public IAlgTool
31 {
32 public:
33 
35  virtual ~IPhysicsOptionTool() {}
38 
39  // Method needed to register G4VPhysicsConstructor into G4VmodularPhysicsList
40  virtual G4VPhysicsConstructor* GetPhysicsOption() = 0 ;
41 
43 
44 protected:
45 
47 
48 };
49 #endif
G4AtlasPhysicsOption::QS_ExtraProc
@ QS_ExtraProc
Definition: IPhysicsOptionTool.h:24
G4AtlasPhysicsOption::Type
Type
Definition: IPhysicsOptionTool.h:21
IPhysicsOptionTool::DeclareInterfaceID
DeclareInterfaceID(IPhysicsOptionTool, 1, 0)
Creates the InterfaceID and interfaceID() method.
IPhysicsOptionTool::GetOptionType
virtual G4AtlasPhysicsOption::Type GetOptionType() const
Definition: IPhysicsOptionTool.h:42
IPhysicsOptionTool::m_physicsOptionType
G4AtlasPhysicsOption::Type m_physicsOptionType
Definition: IPhysicsOptionTool.h:46
IPhysicsOptionTool::~IPhysicsOptionTool
virtual ~IPhysicsOptionTool()
Definition: IPhysicsOptionTool.h:35
xAODType
Definition: ObjectType.h:13
IPhysicsOptionTool::IPhysicsOptionTool
IPhysicsOptionTool()
Definition: IPhysicsOptionTool.h:34
IPhysicsOptionTool
Definition: IPhysicsOptionTool.h:31
G4AtlasPhysicsOption::GlobalProcesses
@ GlobalProcesses
Definition: IPhysicsOptionTool.h:25
G4AtlasPhysicsOption::UnknownType
@ UnknownType
Definition: IPhysicsOptionTool.h:26
G4AtlasPhysicsOption::QS_ExtraParticles
@ QS_ExtraParticles
Definition: IPhysicsOptionTool.h:23
IPhysicsOptionTool::GetPhysicsOption
virtual G4VPhysicsConstructor * GetPhysicsOption()=0
G4AtlasPhysicsOption
Definition: IPhysicsOptionTool.h:20
G4AtlasPhysicsOption::BSMPhysics
@ BSMPhysics
Definition: IPhysicsOptionTool.h:22