gphysics
Loading...
Searching...
No Matches
gphysics_options.cc
Go to the documentation of this file.
1// gphysics
3#include "gphysics_options.h"
4
5// geant4 version
6#include "G4Version.hh"
7
8// namespace to define options
9namespace gphysics {
10
11using std::string;
12
13// Non-Doxygen implementation note:
14// Full semantics are documented in gphysics_options.h. Here we assemble the help text and register options.
16
18
19 string physicsListHelp = "Geant4 Version " + string(G4VERSION_TAG);
20
21 // The help text below includes a curated list of physics lists and constructors.
22 // TODO: this should be done automatically by querying Geant4 registries at runtime.
23 physicsListHelp += " Physics List: it contains a Geant4 physics module, optional e.m. replacement, and optional physics constructors\n";
24 // below is the output of ./formatPhysList.py -gemc
25 // this should be done more automatically in the future
26 physicsListHelp += string(HELPFILLSPACE) + "The available geant4 modules are:\n\n";
27 physicsListHelp += string(HELPFILLSPACE) + " - FTFP_BERT\n";
28 physicsListHelp += string(HELPFILLSPACE) + " - FTFP_BERT_ATL\n";
29 physicsListHelp += string(HELPFILLSPACE) + " - FTFP_BERT_HP\n";
30 physicsListHelp += string(HELPFILLSPACE) + " - FTFP_BERT_TRV\n";
31 physicsListHelp += string(HELPFILLSPACE) + " - FTFP_INCLXX\n";
32 physicsListHelp += string(HELPFILLSPACE) + " - FTFP_INCLXX_HP\n";
33 physicsListHelp += string(HELPFILLSPACE) + " - FTFQGSP_BERT\n";
34 physicsListHelp += string(HELPFILLSPACE) + " - FTF_BIC\n";
35 physicsListHelp += string(HELPFILLSPACE) + " - G4GenericPhysicsList\n";
36 physicsListHelp += string(HELPFILLSPACE) + " - LBE\n";
37 physicsListHelp += string(HELPFILLSPACE) + " - NuBeam\n";
38 physicsListHelp += string(HELPFILLSPACE) + " - QBBC\n";
39 physicsListHelp += string(HELPFILLSPACE) + " - QGSP_BERT\n";
40 physicsListHelp += string(HELPFILLSPACE) + " - QGSP_BERT_HP\n";
41 physicsListHelp += string(HELPFILLSPACE) + " - QGSP_BIC\n";
42 physicsListHelp += string(HELPFILLSPACE) + " - QGSP_BIC_AllHP\n";
43 physicsListHelp += string(HELPFILLSPACE) + " - QGSP_BIC_HP\n";
44 physicsListHelp += string(HELPFILLSPACE) + " - QGSP_FTFP_BERT\n";
45 physicsListHelp += string(HELPFILLSPACE) + " - QGSP_INCLXX\n";
46 physicsListHelp += string(HELPFILLSPACE) + " - QGSP_INCLXX_HP\n";
47 physicsListHelp += string(HELPFILLSPACE) + " - QGS_BIC\n";
48 physicsListHelp += string(HELPFILLSPACE) + " - Shielding\n";
49 physicsListHelp += string(HELPFILLSPACE) + " - ShieldingLEND\n";
50 physicsListHelp += string(HELPFILLSPACE) + " - ShieldingM\n";
51 physicsListHelp += "\n" + string(HELPFILLSPACE) + "The default e.m. physics can be replaced by appending one of these string to the module above:\n\n";
52 physicsListHelp += string(HELPFILLSPACE) + " - _EM0 to use G4EmStandardPhysics\n";
53 physicsListHelp += string(HELPFILLSPACE) + " - _EMV to use G4EmStandardPhysics_option1\n";
54 physicsListHelp += string(HELPFILLSPACE) + " - _EMX to use G4EmStandardPhysics_option2\n";
55 physicsListHelp += string(HELPFILLSPACE) + " - _EMY to use G4EmStandardPhysics_option3\n";
56 physicsListHelp += string(HELPFILLSPACE) + " - _EMZ to use G4EmStandardPhysics_option4\n";
57 physicsListHelp += string(HELPFILLSPACE) + " - _GS to use G4EmStandardPhysicsGS\n";
58 physicsListHelp += string(HELPFILLSPACE) + " - _LE to use G4EmLowEPPhysics\n";
59 physicsListHelp += string(HELPFILLSPACE) + " - _LIV to use G4EmLivermorePhysics\n";
60 physicsListHelp += string(HELPFILLSPACE) + " - _PEN to use G4EmPenelopePhysics\n";
61 physicsListHelp += string(HELPFILLSPACE) + " - _SS to use G4EmStandardPhysicsSS\n";
62 physicsListHelp += string(HELPFILLSPACE) + " - _WVI to use G4EmStandardPhysicsWVI\n";
63 physicsListHelp += "\n" + string(HELPFILLSPACE) + "For example, FTFP_BERT_LIV would replace the default e.m. physics with the Livermode model \n\n";
64 physicsListHelp += "\n" + string(HELPFILLSPACE) + "Additional physics can be loaded by adding its constructor name to the list using the " + " sign\n";
65 physicsListHelp += "\n" + string(HELPFILLSPACE) + "For example: FTFP_BERT + G4OpticalPhysics. The available constructors are: \n\n";
66 physicsListHelp += string(HELPFILLSPACE) + " - G4ChargeExchangePhysics\n";
67 physicsListHelp += string(HELPFILLSPACE) + " - G4DecayPhysics\n";
68 physicsListHelp += string(HELPFILLSPACE) + " - G4EmDNAChemistry\n";
69 physicsListHelp += string(HELPFILLSPACE) + " - G4EmDNAChemistry_option1\n";
70 physicsListHelp += string(HELPFILLSPACE) + " - G4EmDNAChemistry_option2\n";
71 physicsListHelp += string(HELPFILLSPACE) + " - G4EmDNAChemistry_option3\n";
72 physicsListHelp += string(HELPFILLSPACE) + " - G4EmDNAPhysics\n";
73 physicsListHelp += string(HELPFILLSPACE) + " - G4EmDNAPhysics_option1\n";
74 physicsListHelp += string(HELPFILLSPACE) + " - G4EmDNAPhysics_option2\n";
75 physicsListHelp += string(HELPFILLSPACE) + " - G4EmDNAPhysics_option3\n";
76 physicsListHelp += string(HELPFILLSPACE) + " - G4EmDNAPhysics_option4\n";
77 physicsListHelp += string(HELPFILLSPACE) + " - G4EmDNAPhysics_option5\n";
78 physicsListHelp += string(HELPFILLSPACE) + " - G4EmDNAPhysics_option6\n";
79 physicsListHelp += string(HELPFILLSPACE) + " - G4EmDNAPhysics_option7\n";
80 physicsListHelp += string(HELPFILLSPACE) + " - G4EmDNAPhysics_option8\n";
81 physicsListHelp += string(HELPFILLSPACE) + " - G4EmDNAPhysics_stationary\n";
82 physicsListHelp += string(HELPFILLSPACE) + " - G4EmDNAPhysics_stationary_option2\n";
83 physicsListHelp += string(HELPFILLSPACE) + " - G4EmDNAPhysics_stationary_option4\n";
84 physicsListHelp += string(HELPFILLSPACE) + " - G4EmDNAPhysics_stationary_option6\n";
85 physicsListHelp += string(HELPFILLSPACE) + " - G4EmExtraPhysics\n";
86 physicsListHelp += string(HELPFILLSPACE) + " - G4EmLivermorePhysics\n";
87 physicsListHelp += string(HELPFILLSPACE) + " - G4EmLivermorePolarizedPhysics\n";
88 physicsListHelp += string(HELPFILLSPACE) + " - G4EmLowEPPhysics\n";
89 physicsListHelp += string(HELPFILLSPACE) + " - G4EmPenelopePhysics\n";
90 physicsListHelp += string(HELPFILLSPACE) + " - G4EmStandardPhysics\n";
91 physicsListHelp += string(HELPFILLSPACE) + " - G4EmStandardPhysicsGS\n";
92 physicsListHelp += string(HELPFILLSPACE) + " - G4EmStandardPhysicsSS\n";
93 physicsListHelp += string(HELPFILLSPACE) + " - G4EmStandardPhysicsWVI\n";
94 physicsListHelp += string(HELPFILLSPACE) + " - G4EmStandardPhysics_option1\n";
95 physicsListHelp += string(HELPFILLSPACE) + " - G4EmStandardPhysics_option2\n";
96 physicsListHelp += string(HELPFILLSPACE) + " - G4EmStandardPhysics_option3\n";
97 physicsListHelp += string(HELPFILLSPACE) + " - G4EmStandardPhysics_option4\n";
98 physicsListHelp += string(HELPFILLSPACE) + " - G4FastSimulationPhysics\n";
99 physicsListHelp += string(HELPFILLSPACE) + " - G4GenericBiasingPhysics\n";
100 physicsListHelp += string(HELPFILLSPACE) + " - G4HadronDElasticPhysics\n";
101 physicsListHelp += string(HELPFILLSPACE) + " - G4HadronElasticPhysics\n";
102 physicsListHelp += string(HELPFILLSPACE) + " - G4HadronElasticPhysicsHP\n";
103 physicsListHelp += string(HELPFILLSPACE) + " - G4HadronElasticPhysicsLEND\n";
104 physicsListHelp += string(HELPFILLSPACE) + " - G4HadronElasticPhysicsPHP\n";
105 physicsListHelp += string(HELPFILLSPACE) + " - G4HadronElasticPhysicsXS\n";
106 physicsListHelp += string(HELPFILLSPACE) + " - G4HadronHElasticPhysics\n";
107 physicsListHelp += string(HELPFILLSPACE) + " - G4HadronInelasticQBBC\n";
108 physicsListHelp += string(HELPFILLSPACE) + " - G4HadronPhysicsFTFP_BERT\n";
109 physicsListHelp += string(HELPFILLSPACE) + " - G4HadronPhysicsFTFP_BERT_ATL\n";
110 physicsListHelp += string(HELPFILLSPACE) + " - G4HadronPhysicsFTFP_BERT_HP\n";
111 physicsListHelp += string(HELPFILLSPACE) + " - G4HadronPhysicsFTFP_BERT_TRV\n";
112 physicsListHelp += string(HELPFILLSPACE) + " - G4HadronPhysicsFTFQGSP_BERT\n";
113 physicsListHelp += string(HELPFILLSPACE) + " - G4HadronPhysicsFTF_BIC\n";
114 physicsListHelp += string(HELPFILLSPACE) + " - G4HadronPhysicsINCLXX\n";
115 physicsListHelp += string(HELPFILLSPACE) + " - G4HadronPhysicsNuBeam\n";
116 physicsListHelp += string(HELPFILLSPACE) + " - G4HadronPhysicsQGSP_BERT\n";
117 physicsListHelp += string(HELPFILLSPACE) + " - G4HadronPhysicsQGSP_BERT_HP\n";
118 physicsListHelp += string(HELPFILLSPACE) + " - G4HadronPhysicsQGSP_BIC\n";
119 physicsListHelp += string(HELPFILLSPACE) + " - G4HadronPhysicsQGSP_BIC_AllHP\n";
120 physicsListHelp += string(HELPFILLSPACE) + " - G4HadronPhysicsQGSP_BIC_HP\n";
121 physicsListHelp += string(HELPFILLSPACE) + " - G4HadronPhysicsQGSP_FTFP_BERT\n";
122 physicsListHelp += string(HELPFILLSPACE) + " - G4HadronPhysicsQGS_BIC\n";
123 physicsListHelp += string(HELPFILLSPACE) + " - G4HadronPhysicsShielding\n";
124 physicsListHelp += string(HELPFILLSPACE) + " - G4HadronPhysicsShieldingLEND\n";
125 physicsListHelp += string(HELPFILLSPACE) + " - G4ImportanceBiasing\n";
126 physicsListHelp += string(HELPFILLSPACE) + " - G4IonBinaryCascadePhysics\n";
127 physicsListHelp += string(HELPFILLSPACE) + " - G4IonElasticPhysics\n";
128 physicsListHelp += string(HELPFILLSPACE) + " - G4IonINCLXXPhysics\n";
129 physicsListHelp += string(HELPFILLSPACE) + " - G4IonPhysics\n";
130 physicsListHelp += string(HELPFILLSPACE) + " - G4IonPhysicsPHP\n";
131 physicsListHelp += string(HELPFILLSPACE) + " - G4IonPhysicsXS\n";
132 physicsListHelp += string(HELPFILLSPACE) + " - G4IonQMDPhysics\n";
133 physicsListHelp += string(HELPFILLSPACE) + " - G4MuonicAtomDecayPhysics\n";
134 physicsListHelp += string(HELPFILLSPACE) + " - G4NeutronCrossSectionXS\n";
135 physicsListHelp += string(HELPFILLSPACE) + " - G4NeutronTrackingCut\n";
136 physicsListHelp += string(HELPFILLSPACE) + " - G4OpticalPhysics\n";
137 physicsListHelp += string(HELPFILLSPACE) + " - G4ParallelWorldPhysics\n";
138 physicsListHelp += string(HELPFILLSPACE) + " - G4RadioactiveDecayPhysics\n";
139 physicsListHelp += string(HELPFILLSPACE) + " - G4SpinDecayPhysics\n";
140 physicsListHelp += string(HELPFILLSPACE) + " - G4StepLimiterPhysics\n";
141 physicsListHelp += string(HELPFILLSPACE) + " - G4StoppingPhysics\n";
142 physicsListHelp += string(HELPFILLSPACE) + " - G4StoppingPhysicsFritiofWithBinaryCascade\n";
143 physicsListHelp += string(HELPFILLSPACE) + " - G4UnknownDecayPhysics\n";
144 physicsListHelp += string(HELPFILLSPACE) + " - G4WeightWindowBiasing\n";
145 goptions.defineOption(GVariable("phys_list", DEFAULTPHYSICSLIST, "Select Physics List"), physicsListHelp);
146
147 goptions.defineSwitch("showPhysics", "Log Geant4 Physics Available Modules that can be used with the \"phys_list\" option and exit");
148
149 return goptions;
150}
151
152}
#define HELPFILLSPACE
constexpr const char * GPHYSICS_LOGGER
GOptions defineOptions()
Defines the user-facing options for the gphysics module.
#define DEFAULTPHYSICSLIST
Default value for the phys_list option.