Geant4 VMC
Version 6.8
Toggle main menu visibility
Loading...
Searching...
No Matches
source
physics_list
include
TG4ComposedPhysicsList.h
Go to the documentation of this file.
1
#ifndef TG4_COMPOSED_PHYSICS_LIST_H
2
#define TG4_COMPOSED_PHYSICS_LIST_H
3
4
//------------------------------------------------
5
// The Geant4 Virtual Monte Carlo package
6
// Copyright (C) 2007 - 2014 Ivana Hrivnacova
7
// All rights reserved.
8
//
9
// For the licensing terms see geant4_vmc/LICENSE.
10
// Contact: root-vmc@cern.ch
11
//-------------------------------------------------
12
17
18
#include "
TG4ComposedPhysicsMessenger.h
"
19
#include "
TG4Verbose.h
"
20
21
#include <G4VUserPhysicsList.hh>
22
#include <G4HadronicProcessType.hh>
23
#include <globals.hh>
24
25
#include <vector>
26
#include <tuple>
27
35
36
class
TG4ComposedPhysicsList
:
public
G4VUserPhysicsList
,
public
TG4Verbose
37
{
38
public
:
39
TG4ComposedPhysicsList
();
40
virtual
~TG4ComposedPhysicsList
();
41
42
// methods
43
void
AddPhysicsList
(
G4VUserPhysicsList
* physicsList);
44
45
virtual
void
ConstructParticle
();
46
virtual
void
ConstructProcess
();
47
virtual
void
SetCuts
();
48
49
void
SetCutForGamma
(G4double cut);
50
void
SetCutForElectron
(G4double cut);
51
void
SetCutForPositron
(G4double cut);
52
void
SetCutForProton
(G4double cut);
53
54
void
SetProductionCutsTableEnergyRange
(G4double min, G4double max);
55
void
SetGammaToMuonsCrossSectionFactor
(G4double value);
56
void
SetCrossSectionFactor
(
57
const
G4String& particleName,
const
G4String& processDef,
58
G4double value, G4bool isProcessName);
59
60
void
SetLooperThresholdsLevel
(G4int level);
61
62
void
PrintAllProcesses
()
const
;
63
void
DumpAllProcesses
()
const
;
64
65
virtual
G4int
VerboseLevel
()
const
;
66
virtual
void
VerboseLevel
(G4int level);
67
68
private
:
70
TG4ComposedPhysicsList
(
const
TG4ComposedPhysicsList
& right);
72
TG4ComposedPhysicsList
&
operator=
(
const
TG4ComposedPhysicsList
& right);
73
74
// methods
75
void
ApplyGammaToMuonsCrossSectionFactor
();
76
void
ApplyCrossSectionFactor
(
77
const
G4String& particleName,
const
G4String& processDef,
78
G4double value, G4bool isProcessName);
79
void
ApplyCrossSectionFactors
();
80
81
void
SetLooperThresholds
();
82
83
// static data members
84
static
const
G4double
85
fgkDefautLooperThresholdsLevel
;
86
87
// data members
88
TG4ComposedPhysicsMessenger
fMessenger
;
89
std::vector<G4VUserPhysicsList*>
fPhysicsLists
;
90
92
G4bool
fIsProductionCutsTableEnergyRange
;
93
95
G4double
fProductionCutsTableEnergyMin
;
96
98
G4double
fProductionCutsTableEnergyMax
;
99
101
G4double
fGammaToMuonsCrossSectionFactor
;
102
104
std::vector<std::tuple<G4String, G4String, G4double, G4bool>>
fCrossSectionFactors
;
105
107
G4int
fLooperThresholdsLevel
;
108
};
109
110
// inline methods
111
112
inline
void
TG4ComposedPhysicsList::SetGammaToMuonsCrossSectionFactor
(
113
G4double value)
114
{
116
fGammaToMuonsCrossSectionFactor
= value;
117
}
118
119
inline
void
TG4ComposedPhysicsList::SetLooperThresholdsLevel
(G4int level)
120
{
122
fLooperThresholdsLevel
= level;
123
}
124
125
#endif
// TG4_COMPOSED_MODULAR_PHYSICS_H
TG4ComposedPhysicsMessenger.h
Definition of the TG4ComposedPhysicsMessenger class.
TG4Verbose.h
Definition of the TG4Verbose class.
G4VUserPhysicsList
TG4ComposedPhysicsList::fIsProductionCutsTableEnergyRange
G4bool fIsProductionCutsTableEnergyRange
Info if the production cuts table energy range is redefined by user.
Definition
TG4ComposedPhysicsList.h:92
TG4ComposedPhysicsList::TG4ComposedPhysicsList
TG4ComposedPhysicsList(const TG4ComposedPhysicsList &right)
Not implemented.
TG4ComposedPhysicsList::fgkDefautLooperThresholdsLevel
static const G4double fgkDefautLooperThresholdsLevel
the default cut value
Definition
TG4ComposedPhysicsList.h:85
TG4ComposedPhysicsList::SetCuts
virtual void SetCuts()
Definition
TG4ComposedPhysicsList.cxx:389
TG4ComposedPhysicsList::SetCutForProton
void SetCutForProton(G4double cut)
Definition
TG4ComposedPhysicsList.cxx:462
TG4ComposedPhysicsList::fProductionCutsTableEnergyMax
G4double fProductionCutsTableEnergyMax
The production cuts table energy range maximum redefined by user.
Definition
TG4ComposedPhysicsList.h:98
TG4ComposedPhysicsList::SetGammaToMuonsCrossSectionFactor
void SetGammaToMuonsCrossSectionFactor(G4double value)
Definition
TG4ComposedPhysicsList.h:112
TG4ComposedPhysicsList::operator=
TG4ComposedPhysicsList & operator=(const TG4ComposedPhysicsList &right)
Not implemented.
TG4ComposedPhysicsList::ConstructProcess
virtual void ConstructProcess()
Definition
TG4ComposedPhysicsList.cxx:350
TG4ComposedPhysicsList::SetLooperThresholds
void SetLooperThresholds()
Definition
TG4ComposedPhysicsList.cxx:294
TG4ComposedPhysicsList::fMessenger
TG4ComposedPhysicsMessenger fMessenger
messenger
Definition
TG4ComposedPhysicsList.h:88
TG4ComposedPhysicsList::ApplyGammaToMuonsCrossSectionFactor
void ApplyGammaToMuonsCrossSectionFactor()
Definition
TG4ComposedPhysicsList.cxx:185
TG4ComposedPhysicsList::SetLooperThresholdsLevel
void SetLooperThresholdsLevel(G4int level)
Definition
TG4ComposedPhysicsList.h:119
TG4ComposedPhysicsList::fLooperThresholdsLevel
G4int fLooperThresholdsLevel
Looper threshold level (can have valuee 0,1,2).
Definition
TG4ComposedPhysicsList.h:107
TG4ComposedPhysicsList::AddPhysicsList
void AddPhysicsList(G4VUserPhysicsList *physicsList)
Definition
TG4ComposedPhysicsList.cxx:327
TG4ComposedPhysicsList::fProductionCutsTableEnergyMin
G4double fProductionCutsTableEnergyMin
The production cuts table energy range minimum redefined by user.
Definition
TG4ComposedPhysicsList.h:95
TG4ComposedPhysicsList::VerboseLevel
virtual G4int VerboseLevel() const
Definition
TG4ComposedPhysicsList.cxx:536
TG4ComposedPhysicsList::fCrossSectionFactors
std::vector< std::tuple< G4String, G4String, G4double, G4bool > > fCrossSectionFactors
Cross section factors by process type or name.
Definition
TG4ComposedPhysicsList.h:104
TG4ComposedPhysicsList::fPhysicsLists
std::vector< G4VUserPhysicsList * > fPhysicsLists
physics lists
Definition
TG4ComposedPhysicsList.h:89
TG4ComposedPhysicsList::ConstructParticle
virtual void ConstructParticle()
Definition
TG4ComposedPhysicsList.cxx:335
TG4ComposedPhysicsList::DumpAllProcesses
void DumpAllProcesses() const
Definition
TG4ComposedPhysicsList.cxx:511
TG4ComposedPhysicsList::fGammaToMuonsCrossSectionFactor
G4double fGammaToMuonsCrossSectionFactor
Gamma to muons cross section factor.
Definition
TG4ComposedPhysicsList.h:101
TG4ComposedPhysicsList::PrintAllProcesses
void PrintAllProcesses() const
Definition
TG4ComposedPhysicsList.cxx:494
TG4ComposedPhysicsList::SetProductionCutsTableEnergyRange
void SetProductionCutsTableEnergyRange(G4double min, G4double max)
Definition
TG4ComposedPhysicsList.cxx:470
TG4ComposedPhysicsList::~TG4ComposedPhysicsList
virtual ~TG4ComposedPhysicsList()
Definition
TG4ComposedPhysicsList.cxx:172
TG4ComposedPhysicsList::ApplyCrossSectionFactor
void ApplyCrossSectionFactor(const G4String &particleName, const G4String &processDef, G4double value, G4bool isProcessName)
Definition
TG4ComposedPhysicsList.cxx:219
TG4ComposedPhysicsList::SetCutForGamma
void SetCutForGamma(G4double cut)
Definition
TG4ComposedPhysicsList.cxx:438
TG4ComposedPhysicsList::SetCutForElectron
void SetCutForElectron(G4double cut)
Definition
TG4ComposedPhysicsList.cxx:446
TG4ComposedPhysicsList::SetCutForPositron
void SetCutForPositron(G4double cut)
Definition
TG4ComposedPhysicsList.cxx:454
TG4ComposedPhysicsList::TG4ComposedPhysicsList
TG4ComposedPhysicsList()
Definition
TG4ComposedPhysicsList.cxx:152
TG4ComposedPhysicsList::SetCrossSectionFactor
void SetCrossSectionFactor(const G4String &particleName, const G4String &processDef, G4double value, G4bool isProcessName)
Definition
TG4ComposedPhysicsList.cxx:481
TG4ComposedPhysicsList::ApplyCrossSectionFactors
void ApplyCrossSectionFactors()
Definition
TG4ComposedPhysicsList.cxx:283
TG4ComposedPhysicsMessenger
Messenger class that defines commands for Geant4 VMC composed physics list and related classes.
Definition
TG4ComposedPhysicsMessenger.h:53
TG4Verbose::TG4Verbose
TG4Verbose(const G4String &cmdName)
Definition
TG4Verbose.cxx:24
Generated on
for Geant4 VMC by
1.17.0