ATLAS Offline Software
Simulation
G4Atlas
G4AtlasInterfaces
G4AtlasInterfaces
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
21
namespace
G4AtlasPhysicsOption
{
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
36
IPhysicsOptionTool
() {}
37
virtual
~IPhysicsOptionTool
() {}
39
DeclareInterfaceID
(
IPhysicsOptionTool
, 1, 0);
40
41
// Method needed to register G4VPhysicsConstructor into G4VmodularPhysicsList
42
virtual
UPPhysicsConstructor
GetPhysicsOption
() = 0;
43
44
virtual
G4AtlasPhysicsOption::Type
GetOptionType
()
const
{
45
return
m_physicsOptionType
; };
46
47
protected
:
48
49
G4AtlasPhysicsOption::Type
m_physicsOptionType
{
G4AtlasPhysicsOption::Type::UnknownType
};
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
Generated on Mon Sep 29 2025 21:12:02 for ATLAS Offline Software by
1.8.18