Import Geant4 10.5.0 source tree
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
//$Id$
|
||||
|
||||
///\file "field/field04/.README.txt"
|
||||
///\brief Example field04 README page
|
||||
@@ -21,35 +20,32 @@
|
||||
|
||||
See field04.cc.
|
||||
|
||||
Note:
|
||||
\verbatim
|
||||
// runManager->Initialize();
|
||||
\endverbatim
|
||||
is commented out and must be executed with: /run/initialize
|
||||
either in a macro or on the command line. Note: One can change
|
||||
the geometry (see below) only BEFORE the initialization!
|
||||
The example can be run with the following optional arguments:
|
||||
|
||||
Is is possible to assign the F04PhysicsList via an argument to
|
||||
program submission:
|
||||
\verbatim
|
||||
% field04 [-m macro ] [-p physicsList] [-r randomSeed] [-s preinit|idle]
|
||||
\endverbatim
|
||||
|
||||
If a macro is provided with the option "-m", the program runs in a batch mode,
|
||||
otherwise the program open the interactive session after executing the
|
||||
default initialization macro init_vis.mac. The option "-s preinit" can be used
|
||||
to start the program without initialization in PreInit phase.
|
||||
|
||||
For example:
|
||||
to assign the F04PhysicsList:
|
||||
\verbatim
|
||||
% field04 -p QGSP_BERT
|
||||
\endverbatim
|
||||
and an initial random number seed with:
|
||||
|
||||
an initial random number seed with:
|
||||
\verbatim
|
||||
% field04 field04.in 12345
|
||||
% field04 field04.in -r 12345
|
||||
\endverbatim
|
||||
It is also possible to specify more than one macro file which are
|
||||
then executed in succession:
|
||||
|
||||
to start with a macro file and an initial seed:
|
||||
\verbatim
|
||||
% field04 field04.in field04.in 12345
|
||||
% field04 -m field04.in -r 12345
|
||||
\endverbatim
|
||||
(Note, in this case the initial random # must also be provided)
|
||||
- (1) argc holds the number of arguments on the command line. Since
|
||||
this MUST include at least the program name, argc value is >= 1!
|
||||
- (2) argv[0] is always the name of the program
|
||||
argv[1] points to the first argument, and so on ...
|
||||
- (3) argv[argc-1] is assumed to be the intial random # seed
|
||||
- (4) the loop over macro files goes from optind = 1 to (argc-1)
|
||||
|
||||
\subsection field04_sub_s12 F04DetectorConstruction
|
||||
|
||||
@@ -195,66 +191,25 @@ See field04.cc.
|
||||
|
||||
\subsection field04_sub_s16 F04PhysicsList
|
||||
|
||||
The F04PhysicsList is adopted from examples/extended/hadronic/Hadr01.
|
||||
It uses components which are distributed with Geant4 in
|
||||
/geant4/physics_lists subdirectory. So, before compiling field04
|
||||
it is necessary to compile physics_lists.
|
||||
The F04PhysicsList extends a selected Geant4 physics list.
|
||||
The base physics list name is provided by its name in the F04PhysicsList
|
||||
constructor.
|
||||
|
||||
There are two std::vector<G4VPhysicsConstructor*> PhysicsListVectors;
|
||||
one for EMPhysics and one for HadronPHysics and a user defined process
|
||||
F04StepMax.
|
||||
In addition to processes defined in the base Geant4 physics list,
|
||||
there is added the F04StepMax process and the decay of pions can be assigned
|
||||
via dedicated commands in F04PhysicsListMessenger.
|
||||
|
||||
The choice of the physics is provided by the UI command:
|
||||
The command to define maximum step:
|
||||
\verbatim
|
||||
/exp/phys/addPhysics emstandard_opt1
|
||||
/exp/phys/addPhysics QGSP_BERT
|
||||
\endverbatim
|
||||
To see the list of available configurations one can use:
|
||||
\verbatim
|
||||
/exp/phys/list
|
||||
/exp/phys/stepMax value unit
|
||||
\endverbatim
|
||||
|
||||
The command:
|
||||
|
||||
\verbatim
|
||||
/exp/phys/addPhysics PHYSLIST
|
||||
\endverbatim
|
||||
allows to download a physics configuration defined by an
|
||||
environment variable PHYSLIST.
|
||||
|
||||
The cuts for electromagnetic phsyics can be established via:
|
||||
\verbatim
|
||||
/exp/phys/allCuts 1 mm
|
||||
/exp/phys/gammaCut 0.1 mm
|
||||
/exp/phys/electronCut 0.2 mm
|
||||
/exp/phys/positronCut 0.3 mm
|
||||
\endverbatim
|
||||
The cut for the F04StepMax process via:
|
||||
\verbatim
|
||||
/exp/phys/stepMax
|
||||
\endverbatim
|
||||
The two G4PhysConstVectors can be cleared via:
|
||||
\verbatim
|
||||
/exp/phys/clearEMPhysics
|
||||
/exp/phys/clearHadronPhysics
|
||||
\endverbatim
|
||||
and individual processes can be removed from the vectors via,
|
||||
for example:
|
||||
\verbatim
|
||||
/exp/phys/removeEMPhysics msc
|
||||
/exp/phys/removeHadronPhysics gamma_nuc
|
||||
\endverbatim
|
||||
Furthermore, the following commands are also available, but
|
||||
may only be used AFTER /run/initialize
|
||||
\verbatim
|
||||
/process/inactivate msc
|
||||
/process/activate msc
|
||||
\endverbatim
|
||||
The decay of pions can be assigned via (pi -> e nu, pi -> mu nu):
|
||||
\verbatim
|
||||
/decay/pienu
|
||||
/decay/pimunu
|
||||
\endverbatim
|
||||
|
||||
The pienu assignment includes a small fraction of radiative decay:
|
||||
e nu gamma (G4PionRadiativeDecayChannel).
|
||||
|
||||
@@ -267,7 +222,15 @@ See field04.cc.
|
||||
|
||||
The muon decay process is G4DecayWithSpin
|
||||
|
||||
\subsection field04_sub_s17 Overlapping Fields
|
||||
Furthermore, the following commands are also available, but
|
||||
may only be used AFTER /run/initialize
|
||||
|
||||
\verbatim
|
||||
/process/inactivate msc
|
||||
/process/activate msc
|
||||
\endverbatim
|
||||
|
||||
\subsection field04_sub_s17 Overlapping Fields
|
||||
|
||||
The F04GlobalField (a singleton) is instantiated in
|
||||
F04DetectorConstruction() and assigned to the global field manager
|
||||
@@ -400,7 +363,8 @@ if (fields) {
|
||||
|
||||
- F04SteppingVerbose: \n
|
||||
Only print track header and step information for
|
||||
pi+ and mu+
|
||||
pi+ and mu+.
|
||||
Note: the information for primary protons is not printed.
|
||||
|
||||
- F04Trajectory, F04TrajectoryPoint: \n
|
||||
Example of application specific implementations
|
||||
@@ -409,15 +373,25 @@ if (fields) {
|
||||
|
||||
- Execute field04 in 'batch' mode from macro files e.g.
|
||||
\verbatim
|
||||
% field04 field04.in
|
||||
% field04 -m field04.in
|
||||
\endverbatim
|
||||
|
||||
- Execute field04 in 'interactive' mode with visualization e.g.
|
||||
- Execute field04 in 'interactive' mode with visualization
|
||||
\verbatim
|
||||
% field04
|
||||
....
|
||||
Idle> type your commands, for example:
|
||||
Idle> control/execute field04.in
|
||||
Idle> type your commands
|
||||
....
|
||||
\endverbatim
|
||||
|
||||
- Execute field04 in 'interactive' mode without initialization
|
||||
\verbatim
|
||||
% field04 -s preinit
|
||||
....
|
||||
Idle> type your commands, then
|
||||
Idle> /run/initialize
|
||||
Idle> /control/execute vis.mac
|
||||
....
|
||||
\endverbatim
|
||||
|
||||
*/
|
||||
|
||||
@@ -40,7 +40,7 @@ target_link_libraries(field04 ${Geant4_LIBRARIES} )
|
||||
# relies on these scripts being in the current working directory.
|
||||
#
|
||||
set(field04_SCRIPTS
|
||||
field04.in field04.out vis.mac gui.mac
|
||||
field04.in field04.out init_vis.mac vis.mac gui.mac
|
||||
)
|
||||
|
||||
foreach(_script ${field04_SCRIPTS})
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
# $Id: GNUmakefile 68021 2013-03-13 13:36:07Z gcosmo $
|
||||
# --------------------------------------------------------------
|
||||
# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98.
|
||||
# --------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
// $Id:$
|
||||
// ------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -15,6 +14,20 @@ track of all tags.
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
|
||||
July 27, 2018 I.Hrivnacova - fieldex04-V10-04-02
|
||||
- Macro review and code clean-up:
|
||||
- Modify handling program according to basic examples
|
||||
- Separated other than visualization settings from vis.mac in a
|
||||
new init_vis.mac and added 'startPhase' program argument
|
||||
- Added test for commands defined in the example at the end
|
||||
of field04.in macro
|
||||
- Removed SetCut functions and commands from the physics list and
|
||||
physics list messenger (available in G4 kernel)
|
||||
- Fixed warnings when geometry parameters are set in PreInit phase
|
||||
- Improved visualization of geometry
|
||||
- Added "beamOn 10" button in gui.mac
|
||||
- Updated README files
|
||||
|
||||
May 15, 2018 J.Allison - fieldex04-V10-04-01
|
||||
- Remove G4UI_USE and G4VIS_USE.
|
||||
- Move instantiation of G4UIExecutive to start of main.
|
||||
|
||||
@@ -25,36 +25,24 @@
|
||||
|
||||
See field04.cc.
|
||||
|
||||
Note:
|
||||
The example can be run with the following optional arguments:
|
||||
|
||||
// runManager->Initialize();
|
||||
% field04 [-m macro ] [-p physicsList] [-r randomSeed] [-s preinit|idle]
|
||||
|
||||
is commented out and must be executed with: /run/initialize
|
||||
either in a macro or on the command line. Note: One can change
|
||||
the geometry (see below) only BEFORE the initialization!
|
||||
|
||||
Is is possible to assign the F04PhysicsList via an argument to
|
||||
program submission:
|
||||
If a macro is provided with the option "-m", the program runs in a batch mode,
|
||||
otherwise the program open the interactive session after executing the
|
||||
default initialization macro init_vis.mac. The option "-s preinit" can be used
|
||||
to start the program without initialization in PreInit phase.
|
||||
|
||||
For example:
|
||||
to assign the F04PhysicsList:
|
||||
% field04 -p QGSP_BERT
|
||||
|
||||
and an initial random number seed with:
|
||||
an initial random number seed with:
|
||||
% field04 field04.in -r 12345
|
||||
|
||||
% field04 field04.in 12345
|
||||
|
||||
It is also possible to specify more than one macro file which are
|
||||
then executed in succession:
|
||||
|
||||
% field04 field04.in field04.in 12345
|
||||
|
||||
(Note, in this case the initial random # must also be provided)
|
||||
|
||||
(1) argc holds the number of arguments on the command line. Since
|
||||
this MUST include at least the program name, argc value is >= 1!
|
||||
(2) argv[0] is always the name of the program
|
||||
argv[1] points to the first argument, and so on ...
|
||||
(3) argv[argc-1] is assumed to be the intial random # seed
|
||||
(4) the loop over macro files goes from optind = 1 to (argc-1)
|
||||
to start with a macro file and an initial seed:
|
||||
% field04 -m field04.in -r 12345
|
||||
|
||||
|
||||
2- GEOMETRY DEFINITION
|
||||
@@ -199,58 +187,16 @@
|
||||
|
||||
6- PHYSICS
|
||||
|
||||
The F04PhysicsList is adopted from examples/extended/hadronic/Hadr01.
|
||||
It uses components which are distributed with Geant4 in
|
||||
/geant4/physics_lists subdirectory. So, before compiling field04
|
||||
it is necessary to compile physics_lists.
|
||||
The F04PhysicsList extends a selected Geant4 physics list.
|
||||
The base physics list name is provided by its name in the F04PhysicsList
|
||||
constructor.
|
||||
|
||||
There are two std::vector<G4VPhysicsConstructor*> PhysicsListVectors;
|
||||
one for EMPhysics and one for HadronPHysics and a user defined process
|
||||
F04StepMax.
|
||||
In addition to processes defined in the base Geant4 physics list,
|
||||
there is added the F04StepMax process and the decay of pions can be assigned
|
||||
via dedicated commands in F04PhysicsListMessenger.
|
||||
|
||||
The choice of the physics is provided by the UI command:
|
||||
|
||||
/exp/phys/addPhysics emstandard_opt1
|
||||
/exp/phys/addPhysics QGSP_BERT
|
||||
|
||||
To see the list of available configurations one can use:
|
||||
|
||||
/exp/phys/list
|
||||
|
||||
The command:
|
||||
|
||||
/exp/phys/addPhysics PHYSLIST
|
||||
|
||||
allows to download a physics configuration defined by an
|
||||
environment variable PHYSLIST.
|
||||
|
||||
The cuts for electromagnetic phsyics can be established via:
|
||||
|
||||
/exp/phys/allCuts 1 mm
|
||||
/exp/phys/gammaCut 0.1 mm
|
||||
/exp/phys/electronCut 0.2 mm
|
||||
/exp/phys/positronCut 0.3 mm
|
||||
|
||||
The cut for the F04StepMax process via:
|
||||
|
||||
/exp/phys/stepMax
|
||||
|
||||
The two G4PhysConstVectors can be cleared via:
|
||||
|
||||
/exp/phys/clearEMPhysics
|
||||
/exp/phys/clearHadronPhysics
|
||||
|
||||
and individual processes can be removed from the vectors via,
|
||||
for example:
|
||||
|
||||
/exp/phys/removeEMPhysics msc
|
||||
/exp/phys/removeHadronPhysics gamma_nuc
|
||||
|
||||
Furthermore, the following commands are also available, but
|
||||
may only be used AFTER /run/initialize
|
||||
|
||||
/process/inactivate msc
|
||||
/process/activate msc
|
||||
The command to define maximum step:
|
||||
/exp/phys/stepMax value unit
|
||||
|
||||
The decay of pions can be assigned via (pi -> e nu, pi -> mu nu):
|
||||
|
||||
@@ -269,6 +215,11 @@
|
||||
|
||||
The muon decay process is G4DecayWithSpin
|
||||
|
||||
Furthermore, the following commands are also available, but
|
||||
may only be used AFTER /run/initialize
|
||||
|
||||
/process/inactivate msc
|
||||
/process/activate msc
|
||||
|
||||
7- Overlapping Fields
|
||||
|
||||
@@ -317,8 +268,8 @@
|
||||
A beamline element, for example the F04SimpleSolenoid, will derive
|
||||
from F04ElementField and implement the computation for the element.
|
||||
|
||||
simpleSolenoid = new F04SimpleSolenoid(B, l,
|
||||
logicTransferMgnt,TransferMgntCenter);
|
||||
simpleSolenoid
|
||||
= new F04SimpleSolenoid(B, l, logicTransferMgnt,TransferMgntCenter);
|
||||
|
||||
Besides the magnetic field and the length of the simple solenoid,
|
||||
the constructor needs the knowledge of the G4LogicalVolume for
|
||||
@@ -400,19 +351,27 @@
|
||||
|
||||
F04SteppingVerbose:
|
||||
Only print track header and step information for
|
||||
pi+ and mu+
|
||||
pi+ and mu+.
|
||||
Note: the information for primary protons is not printed.
|
||||
|
||||
F04Trajectory, TrajectoryPoint:
|
||||
Example of application specific implementations
|
||||
|
||||
9- HOW TO START ?
|
||||
|
||||
- execute field04 in 'batch' mode from macro files e.g.
|
||||
% field04 field04.in
|
||||
- Execute field04 in 'batch' mode from macro files e.g.
|
||||
% field04 -m field04.in
|
||||
|
||||
- execute field04 in 'interactive' mode with visualization e.g.
|
||||
- Execute field04 in 'interactive' mode with visualization
|
||||
% field04
|
||||
....
|
||||
Idle> type your commands, for example:
|
||||
Idle> control/execute field04.in
|
||||
Idle> type your commands
|
||||
....
|
||||
|
||||
- Execute field04 in 'interactive' mode without initialization
|
||||
% field04 -s preinit
|
||||
....
|
||||
Idle> type your commands, then
|
||||
Idle> /run/initialize
|
||||
Idle> /control/execute vis.mac
|
||||
....
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: field04.cc 110170 2018-05-17 07:28:42Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/field04.cc
|
||||
/// \brief Main program of the field/field04 example
|
||||
@@ -64,18 +63,51 @@
|
||||
#include "G4VisExecutive.hh"
|
||||
#include "G4UIExecutive.hh"
|
||||
|
||||
// argc holds the number of arguments (including the name) on the command line
|
||||
// -> it is ONE when only the name is given !!!
|
||||
// argv[0] is always the name of the program
|
||||
// argv[1] points to the first argument, and so on
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
namespace {
|
||||
void PrintUsage() {
|
||||
G4cerr << " Usage: " << G4endl;
|
||||
G4cerr << " field04 [-m macro ] [-p physicsList] [-r randomSeed] [-s preinit|idle]"
|
||||
<< G4endl;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
int main(int argc,char** argv)
|
||||
{
|
||||
// Evaluate arguments
|
||||
// argc holds the number of arguments (including the name) on the command line
|
||||
// -> it is ONE when only the name is given !!!
|
||||
// argv[0] is always the name of the program
|
||||
// argv[1] points to the first argument, and so on
|
||||
//
|
||||
if ( argc > 7 ) {
|
||||
PrintUsage();
|
||||
return 1;
|
||||
}
|
||||
|
||||
G4String macro;
|
||||
G4String physicsList = "QGSP_BERT";
|
||||
G4int randomSeed = 1234;
|
||||
G4String startPhase = "idle";
|
||||
for ( G4int i=1; i<argc; i=i+2 ) {
|
||||
if ( G4String(argv[i]) == "-m" ) macro = argv[i+1];
|
||||
else if ( G4String(argv[i]) == "-r" ) randomSeed = atoi(argv[i+1]);
|
||||
else if ( G4String(argv[i]) == "-p" ) physicsList = argv[i+1];
|
||||
else if ( G4String(argv[i]) == "-s" ) startPhase = argv[i+1];
|
||||
else {
|
||||
PrintUsage();
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
// Instantiate G4UIExecutive if there are no arguments (interactive mode)
|
||||
G4UIExecutive* ui = nullptr;
|
||||
if ( argc == 1 ) {
|
||||
if ( ! macro.size() ) {
|
||||
ui = new G4UIExecutive(argc, argv);
|
||||
}
|
||||
|
||||
@@ -83,9 +115,6 @@ int main(int argc,char** argv)
|
||||
//
|
||||
G4Random::setTheEngine(new CLHEP::RanecuEngine);
|
||||
|
||||
G4int myseed = 1234;
|
||||
if (argc > 2) myseed = atoi(argv[argc-1]);
|
||||
|
||||
// Construct the default run manager
|
||||
//
|
||||
#ifdef G4MULTITHREADED
|
||||
@@ -95,28 +124,7 @@ int main(int argc,char** argv)
|
||||
G4RunManager * runManager = new G4RunManager;
|
||||
#endif
|
||||
|
||||
G4Random::setTheSeed(myseed);
|
||||
|
||||
G4String physicsList = "QGSP_BERT";
|
||||
|
||||
#ifndef WIN32
|
||||
G4int c = 0;
|
||||
while ((c=getopt(argc,argv,"p")) != -1)
|
||||
{
|
||||
switch (c)
|
||||
{
|
||||
case 'p':
|
||||
physicsList = optarg;
|
||||
G4cout << "Physics List used is " << physicsList << G4endl;
|
||||
break;
|
||||
case ':': /* -p without operand */
|
||||
fprintf(stderr,"Option -%c requires an operand\n", optopt);
|
||||
break;
|
||||
case '?':
|
||||
fprintf(stderr,"Unrecognised option: -%c\n", optopt);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
G4Random::setTheSeed(randomSeed);
|
||||
|
||||
// Set mandatory initialization classes
|
||||
//
|
||||
@@ -143,41 +151,33 @@ int main(int argc,char** argv)
|
||||
//
|
||||
G4UImanager* UImanager = G4UImanager::GetUIpointer();
|
||||
|
||||
#ifndef WIN32
|
||||
G4int optmax = argc;
|
||||
if (argc > 2) { optmax = optmax-1; }
|
||||
|
||||
if (optind < optmax)
|
||||
{
|
||||
G4String command = "/control/execute ";
|
||||
for ( ; optind < optmax; optind++)
|
||||
{
|
||||
G4String macroFilename = argv[optind];
|
||||
UImanager->ApplyCommand(command+macroFilename);
|
||||
}
|
||||
// Process macro or start UI session
|
||||
//
|
||||
if ( macro.size() ) {
|
||||
// batch mode
|
||||
G4String command = "/control/execute ";
|
||||
UImanager->ApplyCommand(command+macro);
|
||||
}
|
||||
#else // Simple UI for Windows runs, no possibility of additional arguments
|
||||
if (!ui) // batch mode
|
||||
{
|
||||
G4String command = "/control/execute ";
|
||||
G4String fileName = argv[1];
|
||||
UImanager->ApplyCommand(command+fileName);
|
||||
}
|
||||
#endif
|
||||
else
|
||||
{
|
||||
// UImanager->ApplyCommand("/control/execute vis.mac");
|
||||
G4cout << "At the prompt, issue commands to set up detector & field, then:"
|
||||
<< G4endl;
|
||||
G4cout << "/run/initialize" << G4endl;
|
||||
G4cout << "Then if you want a viewer:"<< G4endl;
|
||||
G4cout << "/control/execute vis.mac" << G4endl;
|
||||
G4cout << "Then: " << G4endl;
|
||||
G4cout << "/run/beamOn … etc." << G4endl;
|
||||
if (ui->IsGUI())
|
||||
UImanager->ApplyCommand("/control/execute gui.mac");
|
||||
ui->SessionStart();
|
||||
delete ui;
|
||||
else {
|
||||
// interactive mode : define UI session
|
||||
if ( startPhase == "preinit" ) {
|
||||
// start in PreInit> phase if requested
|
||||
G4cout << "At the prompt, issue commands to set up detector & field, then:"
|
||||
<< G4endl;
|
||||
G4cout << "/run/initialize" << G4endl;
|
||||
G4cout << "Then if you want a viewer:"<< G4endl;
|
||||
G4cout << "/control/execute vis.mac" << G4endl;
|
||||
G4cout << "Then: " << G4endl;
|
||||
G4cout << "/run/beamOn … etc." << G4endl;
|
||||
} else {
|
||||
// perform initialization and draw geometry
|
||||
UImanager->ApplyCommand("/control/execute init_vis.mac");
|
||||
}
|
||||
if (ui->IsGUI()) {
|
||||
UImanager->ApplyCommand("/control/execute gui.mac");
|
||||
}
|
||||
ui->SessionStart();
|
||||
delete ui;
|
||||
}
|
||||
|
||||
// Job termination
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Macro file for the initialization phase of field04
|
||||
# Macro file for the test of field04 example
|
||||
#
|
||||
#/run/verbose 1
|
||||
/control/verbose 2
|
||||
@@ -78,3 +78,9 @@
|
||||
#
|
||||
/run/beamOn 10
|
||||
#
|
||||
/field04/SetTransferR 0.3 m
|
||||
/field04/SetTransferZ 15.0 m
|
||||
/field04/SetTransferP 0.0 m
|
||||
#
|
||||
/run/beamOn 1
|
||||
|
||||
|
||||
+6328
-6680
File diff suppressed because it is too large
Load Diff
@@ -10,6 +10,7 @@
|
||||
# Run menu :
|
||||
/gui/addMenu run Run
|
||||
/gui/addButton run "beamOn 1" "/run/beamOn 1"
|
||||
/gui/addButton run "beamOn 10" "/run/beamOn 10"
|
||||
#/gui/addButton run run1 "/control/execute run1.mac"
|
||||
#/gui/addButton run run2 "/control/execute run2.mac"
|
||||
#
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04DetectorConstruction.hh 78551 2014-01-07 09:45:08Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/include/F04DetectorConstruction.hh
|
||||
/// \brief Definition of the F04DetectorConstruction class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04DetectorMessenger.hh 78551 2014-01-07 09:45:08Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/include/F04DetectorMessenger.hh
|
||||
/// \brief Definition of the F04DetectorMessenger class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04ElementField.hh 78551 2014-01-07 09:45:08Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/include/F04ElementField.hh
|
||||
/// \brief Definition of the F04ElementField class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04EventAction.hh 90239 2015-05-21 09:07:05Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/include/F04EventAction.hh
|
||||
/// \brief Definition of the F04EventAction class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04EventActionMessenger.hh 90239 2015-05-21 09:07:05Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/include/F04EventActionMessenger.hh
|
||||
/// \brief Definition of the F04EventActionMessenger class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04FieldMessenger.hh 78551 2014-01-07 09:45:08Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/include/F04FieldMessenger.hh
|
||||
/// \brief Definition of the F04FieldMessenger class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04FocusSolenoid.hh 68021 2013-03-13 13:36:07Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/include/F04FocusSolenoid.hh
|
||||
/// \brief Definition of the F04FocusSolenoid class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04GlobalField.hh 78551 2014-01-07 09:45:08Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/include/F04GlobalField.hh
|
||||
/// \brief Definition of the F04GlobalField class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04Materials.hh 68021 2013-03-13 13:36:07Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/include/F04Materials.hh
|
||||
/// \brief Definition of the F04Materials class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04PhysicsList.hh 85915 2014-11-06 09:05:23Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/include/F04PhysicsList.hh
|
||||
/// \brief Definition of the F04PhysicsList class
|
||||
@@ -47,11 +46,6 @@ public:
|
||||
F04PhysicsList(G4String);
|
||||
virtual ~F04PhysicsList();
|
||||
|
||||
virtual void SetCuts();
|
||||
void SetCutForGamma(G4double);
|
||||
void SetCutForElectron(G4double);
|
||||
void SetCutForPositron(G4double);
|
||||
|
||||
void SetStepMax(G4double);
|
||||
F04StepMax* GetStepMaxProcess();
|
||||
void AddStepMax();
|
||||
@@ -67,10 +61,6 @@ public:
|
||||
|
||||
private:
|
||||
|
||||
G4double fCutForGamma;
|
||||
G4double fCutForElectron;
|
||||
G4double fCutForPositron;
|
||||
|
||||
G4double fMaxChargedStep;
|
||||
static G4ThreadLocal F04StepMax* fStepMaxProcess;
|
||||
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04PhysicsListMessenger.hh 68021 2013-03-13 13:36:07Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/include/F04PhysicsListMessenger.hh
|
||||
/// \brief Definition of the F04PhysicsListMessenger class
|
||||
@@ -60,10 +59,6 @@ private:
|
||||
G4UIdirectory* fDirectory;
|
||||
G4UIdirectory* fDecayDirectory;
|
||||
|
||||
G4UIcmdWithADoubleAndUnit* fGammaCutCMD;
|
||||
G4UIcmdWithADoubleAndUnit* fElectCutCMD;
|
||||
G4UIcmdWithADoubleAndUnit* fPosCutCMD;
|
||||
G4UIcmdWithADoubleAndUnit* fAllCutCMD;
|
||||
G4UIcmdWithADoubleAndUnit* fStepMaxCMD;
|
||||
/*
|
||||
G4UIcmdWithAString* fRemovePhysicsCMD;
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04PrimaryGeneratorAction.hh 77884 2013-11-29 08:41:11Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/include/F04PrimaryGeneratorAction.hh
|
||||
/// \brief Definition of the F04PrimaryGeneratorAction class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04PrimaryGeneratorMessenger.hh 68021 2013-03-13 13:36:07Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/include/F04PrimaryGeneratorMessenger.hh
|
||||
/// \brief Definition of the F04PrimaryGeneratorMessenger class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04RunAction.hh 68021 2013-03-13 13:36:07Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/include/F04RunAction.hh
|
||||
/// \brief Definition of the F04RunAction class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04RunActionMessenger.hh 68021 2013-03-13 13:36:07Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/include/F04RunActionMessenger.hh
|
||||
/// \brief Definition of the F04RunActionMessenger class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04SimpleSolenoid.hh 68021 2013-03-13 13:36:07Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/include/F04SimpleSolenoid.hh
|
||||
/// \brief Definition of the F04SimpleSolenoid class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04StackingAction.hh 68021 2013-03-13 13:36:07Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/include/F04StackingAction.hh
|
||||
/// \brief Definition of the F04StackingAction class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04StepMax.hh 68021 2013-03-13 13:36:07Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/include/F04StepMax.hh
|
||||
/// \brief Definition of the F04StepMax class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04SteppingAction.hh 68021 2013-03-13 13:36:07Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/include/F04SteppingAction.hh
|
||||
/// \brief Definition of the F04SteppingAction class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04SteppingActionMessenger.hh 73014 2013-08-15 08:54:47Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/include/F04SteppingActionMessenger.hh
|
||||
/// \brief Definition of the F04SteppingActionMessenger class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04SteppingVerbose.hh 68021 2013-03-13 13:36:07Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/include/F04SteppingVerbose.hh
|
||||
/// \brief Definition of the F04SteppingVerbose class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04TrackingAction.hh 68021 2013-03-13 13:36:07Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/include/F04TrackingAction.hh
|
||||
/// \brief Definition of the F04TrackingAction class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04Trajectory.hh 90239 2015-05-21 09:07:05Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/include/F04Trajectory.hh
|
||||
/// \brief Definition of the F04Trajectory class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04TrajectoryPoint.hh 76690 2013-11-14 08:45:07Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/include/F04TrajectoryPoint.hh
|
||||
/// \brief Definition of the F04TrajectoryPoint class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04UserTrackInformation.hh 68021 2013-03-13 13:36:07Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/include/F04UserTrackInformation.hh
|
||||
/// \brief Definition of the F04UserTrackInformation class
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
# Macro file for the initialization of example field04
|
||||
# in interactive session
|
||||
#
|
||||
#
|
||||
# Set some verbose
|
||||
/control/verbose 1
|
||||
/run/verbose 1
|
||||
#/event/verbose 2
|
||||
#/tracking/verbose 1
|
||||
#
|
||||
# Initialize Geant4
|
||||
/run/initialize
|
||||
#
|
||||
# Visualization setting
|
||||
/control/execute vis.mac
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04DetectorConstruction.cc 78551 2014-01-07 09:45:08Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/src/F04DetectorConstruction.cc
|
||||
/// \brief Implementation of the F04DetectorConstruction class
|
||||
@@ -51,6 +50,7 @@
|
||||
#include "G4PhysicalVolumeStore.hh"
|
||||
|
||||
#include "G4RunManager.hh"
|
||||
#include "G4StateManager.hh"
|
||||
|
||||
#include "G4PhysicalConstants.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
@@ -354,7 +354,10 @@ void F04DetectorConstruction::SetDegraderMaterial(const G4String materialChoice)
|
||||
void F04DetectorConstruction::SetWorldSizeZ(G4double val)
|
||||
{
|
||||
fWorldSizeZ = val;
|
||||
G4RunManager::GetRunManager()->ReinitializeGeometry();
|
||||
|
||||
if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) {
|
||||
G4RunManager::GetRunManager()->ReinitializeGeometry();
|
||||
}
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -362,7 +365,9 @@ void F04DetectorConstruction::SetWorldSizeZ(G4double val)
|
||||
void F04DetectorConstruction::SetWorldSizeR(G4double val)
|
||||
{
|
||||
fWorldSizeR = val;
|
||||
G4RunManager::GetRunManager()->ReinitializeGeometry();
|
||||
if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) {
|
||||
G4RunManager::GetRunManager()->ReinitializeGeometry();
|
||||
}
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -370,7 +375,9 @@ void F04DetectorConstruction::SetWorldSizeR(G4double val)
|
||||
void F04DetectorConstruction::SetCaptureMgntRadius(G4double val)
|
||||
{
|
||||
fCaptureMgntRadius = val;
|
||||
G4RunManager::GetRunManager()->ReinitializeGeometry();
|
||||
if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) {
|
||||
G4RunManager::GetRunManager()->ReinitializeGeometry();
|
||||
}
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -378,7 +385,9 @@ void F04DetectorConstruction::SetCaptureMgntRadius(G4double val)
|
||||
void F04DetectorConstruction::SetCaptureMgntLength(G4double val)
|
||||
{
|
||||
fCaptureMgntLength = val;
|
||||
G4RunManager::GetRunManager()->ReinitializeGeometry();
|
||||
if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) {
|
||||
G4RunManager::GetRunManager()->ReinitializeGeometry();
|
||||
}
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -386,7 +395,9 @@ void F04DetectorConstruction::SetCaptureMgntLength(G4double val)
|
||||
void F04DetectorConstruction::SetCaptureMgntB1(G4double val)
|
||||
{
|
||||
fCaptureMgntB1 = val;
|
||||
G4RunManager::GetRunManager()->ReinitializeGeometry();
|
||||
if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) {
|
||||
G4RunManager::GetRunManager()->ReinitializeGeometry();
|
||||
}
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -394,7 +405,9 @@ void F04DetectorConstruction::SetCaptureMgntB1(G4double val)
|
||||
void F04DetectorConstruction::SetCaptureMgntB2(G4double val)
|
||||
{
|
||||
fCaptureMgntB2 = val;
|
||||
G4RunManager::GetRunManager()->ReinitializeGeometry();
|
||||
if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) {
|
||||
G4RunManager::GetRunManager()->ReinitializeGeometry();
|
||||
}
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -402,7 +415,9 @@ void F04DetectorConstruction::SetCaptureMgntB2(G4double val)
|
||||
void F04DetectorConstruction::SetTransferMgntRadius(G4double val)
|
||||
{
|
||||
fTransferMgntRadius = val;
|
||||
G4RunManager::GetRunManager()->ReinitializeGeometry();
|
||||
if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) {
|
||||
G4RunManager::GetRunManager()->ReinitializeGeometry();
|
||||
}
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -410,7 +425,9 @@ void F04DetectorConstruction::SetTransferMgntRadius(G4double val)
|
||||
void F04DetectorConstruction::SetTransferMgntLength(G4double val)
|
||||
{
|
||||
fTransferMgntLength = val;
|
||||
G4RunManager::GetRunManager()->ReinitializeGeometry();
|
||||
if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) {
|
||||
G4RunManager::GetRunManager()->ReinitializeGeometry();
|
||||
}
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -418,7 +435,9 @@ void F04DetectorConstruction::SetTransferMgntLength(G4double val)
|
||||
void F04DetectorConstruction::SetTransferMgntB(G4double val)
|
||||
{
|
||||
fTransferMgntB = val;
|
||||
G4RunManager::GetRunManager()->ReinitializeGeometry();
|
||||
if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) {
|
||||
G4RunManager::GetRunManager()->ReinitializeGeometry();
|
||||
}
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -426,7 +445,9 @@ void F04DetectorConstruction::SetTransferMgntB(G4double val)
|
||||
void F04DetectorConstruction::SetTransferMgntPos(G4double val)
|
||||
{
|
||||
fTransferMgntPos = val;
|
||||
G4RunManager::GetRunManager()->ReinitializeGeometry();
|
||||
if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) {
|
||||
G4RunManager::GetRunManager()->ReinitializeGeometry();
|
||||
}
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -434,7 +455,9 @@ void F04DetectorConstruction::SetTransferMgntPos(G4double val)
|
||||
void F04DetectorConstruction::SetTargetRadius(G4double val)
|
||||
{
|
||||
fTargetRadius = val;
|
||||
G4RunManager::GetRunManager()->ReinitializeGeometry();
|
||||
if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) {
|
||||
G4RunManager::GetRunManager()->ReinitializeGeometry();
|
||||
}
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -442,7 +465,9 @@ void F04DetectorConstruction::SetTargetRadius(G4double val)
|
||||
void F04DetectorConstruction::SetTargetThickness(G4double val)
|
||||
{
|
||||
fTargetThickness = val;
|
||||
G4RunManager::GetRunManager()->ReinitializeGeometry();
|
||||
if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) {
|
||||
G4RunManager::GetRunManager()->ReinitializeGeometry();
|
||||
}
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -450,7 +475,9 @@ void F04DetectorConstruction::SetTargetThickness(G4double val)
|
||||
void F04DetectorConstruction::SetTargetPos(G4double val)
|
||||
{
|
||||
fTargetPos = val;
|
||||
G4RunManager::GetRunManager()->ReinitializeGeometry();
|
||||
if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) {
|
||||
G4RunManager::GetRunManager()->ReinitializeGeometry();
|
||||
}
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -458,7 +485,9 @@ void F04DetectorConstruction::SetTargetPos(G4double val)
|
||||
void F04DetectorConstruction::SetTargetAngle(G4int val)
|
||||
{
|
||||
fTargetAngle = val;
|
||||
G4RunManager::GetRunManager()->ReinitializeGeometry();
|
||||
if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) {
|
||||
G4RunManager::GetRunManager()->ReinitializeGeometry();
|
||||
}
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -466,7 +495,9 @@ void F04DetectorConstruction::SetTargetAngle(G4int val)
|
||||
void F04DetectorConstruction::SetDegraderRadius(G4double val)
|
||||
{
|
||||
fDegraderRadius = val;
|
||||
G4RunManager::GetRunManager()->ReinitializeGeometry();
|
||||
if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) {
|
||||
G4RunManager::GetRunManager()->ReinitializeGeometry();
|
||||
}
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -474,7 +505,9 @@ void F04DetectorConstruction::SetDegraderRadius(G4double val)
|
||||
void F04DetectorConstruction::SetDegraderThickness(G4double val)
|
||||
{
|
||||
fDegraderThickness = val;
|
||||
G4RunManager::GetRunManager()->ReinitializeGeometry();
|
||||
if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) {
|
||||
G4RunManager::GetRunManager()->ReinitializeGeometry();
|
||||
}
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -482,7 +515,9 @@ void F04DetectorConstruction::SetDegraderThickness(G4double val)
|
||||
void F04DetectorConstruction::SetDegraderPos(G4double val)
|
||||
{
|
||||
fDegraderPos = val;
|
||||
G4RunManager::GetRunManager()->ReinitializeGeometry();
|
||||
if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) {
|
||||
G4RunManager::GetRunManager()->ReinitializeGeometry();
|
||||
}
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04DetectorMessenger.cc 78551 2014-01-07 09:45:08Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/src/F04DetectorMessenger.cc
|
||||
/// \brief Implementation of the F04DetectorMessenger class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04ElementField.cc 101905 2016-12-07 11:34:39Z gunter $
|
||||
//
|
||||
/// \file field/field04/src/F04ElementField.cc
|
||||
/// \brief Implementation of the F04ElementField class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04EventAction.cc 90239 2015-05-21 09:07:05Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/src/F04EventAction.cc
|
||||
/// \brief Implementation of the F04EventAction class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04EventActionMessenger.cc 90239 2015-05-21 09:07:05Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/src/F04EventActionMessenger.cc
|
||||
/// \brief Implementation of the F04EventActionMessenger class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04FieldMessenger.cc 78551 2014-01-07 09:45:08Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/src/F04FieldMessenger.cc
|
||||
/// \brief Implementation of the F04FieldMessenger class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04FocusSolenoid.cc 68021 2013-03-13 13:36:07Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/src/F04FocusSolenoid.cc
|
||||
/// \brief Implementation of the F04FocusSolenoid class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04GlobalField.cc 96981 2016-05-19 09:42:40Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/src/F04GlobalField.cc
|
||||
/// \brief Implementation of the F04GlobalField class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04Materials.cc 68021 2013-03-13 13:36:07Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/src/F04Materials.cc
|
||||
/// \brief Implementation of the F04Materials class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04PhysicsList.cc 100252 2016-10-17 07:50:45Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/src/F04PhysicsList.cc
|
||||
/// \brief Implementation of the F04PhysicsList class
|
||||
@@ -75,9 +74,6 @@ F04PhysicsList::F04PhysicsList(G4String physName) : G4VModularPhysicsList()
|
||||
G4LossTableManager::Instance();
|
||||
|
||||
defaultCutValue = 1.*mm;
|
||||
fCutForGamma = defaultCutValue;
|
||||
fCutForElectron = defaultCutValue;
|
||||
fCutForPositron = defaultCutValue;
|
||||
|
||||
fMessenger = new F04PhysicsListMessenger(this);
|
||||
|
||||
@@ -97,7 +93,7 @@ F04PhysicsList::F04PhysicsList(G4String physName) : G4VModularPhysicsList()
|
||||
// Physics List is defined via environment variable PHYSLIST
|
||||
// if (!phys) phys = factory.ReferencePhysList();
|
||||
|
||||
if (!phys) G4Exception("WLSPhysicsList::WLSPhysicsList","InvalidSetup",
|
||||
if (!phys) G4Exception("F04PhysicsList::F04PhysicsList","InvalidSetup",
|
||||
FatalException,"PhysicsList does not exist");
|
||||
|
||||
for (G4int i = 0; ; ++i) {
|
||||
@@ -259,49 +255,6 @@ void F04PhysicsList::ClearPhysics()
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void F04PhysicsList::SetCuts()
|
||||
{
|
||||
if (verboseLevel >0) {
|
||||
G4cout << "F04PhysicsList::SetCuts:";
|
||||
G4cout << "CutLength : " << G4BestUnit(defaultCutValue,"Length")
|
||||
<< G4endl;
|
||||
}
|
||||
|
||||
// set cut values for gamma at first and for e- second and next for e+,
|
||||
// because some processes for e+/e- need cut values for gamma
|
||||
SetCutValue(fCutForGamma, "gamma");
|
||||
SetCutValue(fCutForElectron, "e-");
|
||||
SetCutValue(fCutForPositron, "e+");
|
||||
|
||||
if (verboseLevel>0) DumpCutValuesTable();
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void F04PhysicsList::SetCutForGamma(G4double cut)
|
||||
{
|
||||
fCutForGamma = cut;
|
||||
SetParticleCuts(fCutForGamma, G4Gamma::Gamma());
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void F04PhysicsList::SetCutForElectron(G4double cut)
|
||||
{
|
||||
fCutForElectron = cut;
|
||||
SetParticleCuts(fCutForElectron, G4Electron::Electron());
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void F04PhysicsList::SetCutForPositron(G4double cut)
|
||||
{
|
||||
fCutForPositron = cut;
|
||||
SetParticleCuts(fCutForPositron, G4Positron::Positron());
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void F04PhysicsList::SetStepMax(G4double step)
|
||||
{
|
||||
fMaxChargedStep = step ;
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04PhysicsListMessenger.cc 68021 2013-03-13 13:36:07Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/src/F04PhysicsListMessenger.cc
|
||||
/// \brief Implementation of the F04PhysicsListMessenger class
|
||||
@@ -56,40 +55,6 @@ F04PhysicsListMessenger::F04PhysicsListMessenger(F04PhysicsList* pPhys)
|
||||
fDirectory = new G4UIdirectory("/exp/phys/");
|
||||
fDirectory->SetGuidance("Control the physics lists");
|
||||
|
||||
fGammaCutCMD = new G4UIcmdWithADoubleAndUnit("/exp/phys/gammaCut",this);
|
||||
fGammaCutCMD->SetGuidance("Set gamma cut");
|
||||
fGammaCutCMD->SetParameterName("Gcut",false);
|
||||
fGammaCutCMD->SetUnitCategory("Length");
|
||||
fGammaCutCMD->SetRange("Gcut>0.0");
|
||||
fGammaCutCMD->SetDefaultUnit("mm");
|
||||
fGammaCutCMD->AvailableForStates(G4State_PreInit,G4State_Idle);
|
||||
|
||||
fElectCutCMD = new G4UIcmdWithADoubleAndUnit("/exp/phys/electronCut",
|
||||
this);
|
||||
fElectCutCMD->SetGuidance("Set electron cut");
|
||||
fElectCutCMD->SetParameterName("Ecut",false);
|
||||
fElectCutCMD->SetUnitCategory("Length");
|
||||
fElectCutCMD->SetRange("Ecut>0.0");
|
||||
fElectCutCMD->SetDefaultUnit("mm");
|
||||
fElectCutCMD->AvailableForStates(G4State_PreInit,G4State_Idle);
|
||||
|
||||
fPosCutCMD = new G4UIcmdWithADoubleAndUnit("/exp/phys/positronCut",
|
||||
this);
|
||||
fPosCutCMD->SetGuidance("Set positron cut");
|
||||
fPosCutCMD->SetParameterName("Pcut",false);
|
||||
fPosCutCMD->SetUnitCategory("Length");
|
||||
fPosCutCMD->SetRange("Pcut>0.0");
|
||||
fPosCutCMD->SetDefaultUnit("mm");
|
||||
fPosCutCMD->AvailableForStates(G4State_PreInit,G4State_Idle);
|
||||
|
||||
fAllCutCMD = new G4UIcmdWithADoubleAndUnit("/exp/phys/allCuts",this);
|
||||
fAllCutCMD->SetGuidance("Set cut for all");
|
||||
fAllCutCMD->SetParameterName("cut",false);
|
||||
fAllCutCMD->SetUnitCategory("Length");
|
||||
fAllCutCMD->SetRange("cut>0.0");
|
||||
fAllCutCMD->SetDefaultUnit("mm");
|
||||
fAllCutCMD->AvailableForStates(G4State_PreInit,G4State_Idle);
|
||||
|
||||
fStepMaxCMD = new G4UIcmdWithADoubleAndUnit("/exp/phys/stepMax",this);
|
||||
fStepMaxCMD->SetGuidance("Set max. step length in the detector");
|
||||
fStepMaxCMD->SetParameterName("mxStep",false);
|
||||
@@ -124,10 +89,6 @@ F04PhysicsListMessenger::F04PhysicsListMessenger(F04PhysicsList* pPhys)
|
||||
|
||||
F04PhysicsListMessenger::~F04PhysicsListMessenger()
|
||||
{
|
||||
delete fGammaCutCMD;
|
||||
delete fElectCutCMD;
|
||||
delete fPosCutCMD;
|
||||
delete fAllCutCMD;
|
||||
/*
|
||||
delete fClearPhysicsCMD;
|
||||
delete fRemovePhysicsCMD;
|
||||
@@ -163,24 +124,6 @@ void F04PhysicsListMessenger::SetNewValue(G4UIcommand* command,
|
||||
fParticleDef->SetDecayTable(fTable);
|
||||
}
|
||||
|
||||
if (command == fGammaCutCMD) {
|
||||
fPhysicsList->SetCutForGamma(fGammaCutCMD
|
||||
->GetNewDoubleValue(newValue));
|
||||
}
|
||||
else if (command == fElectCutCMD) {
|
||||
fPhysicsList->SetCutForElectron(fElectCutCMD
|
||||
->GetNewDoubleValue(newValue));
|
||||
}
|
||||
else if (command == fPosCutCMD) {
|
||||
fPhysicsList->SetCutForPositron(fPosCutCMD
|
||||
->GetNewDoubleValue(newValue));
|
||||
}
|
||||
else if (command == fAllCutCMD) {
|
||||
G4double cut = fAllCutCMD->GetNewDoubleValue(newValue);
|
||||
fPhysicsList->SetCutForGamma(cut);
|
||||
fPhysicsList->SetCutForElectron(cut);
|
||||
fPhysicsList->SetCutForPositron(cut);
|
||||
}
|
||||
else if (command == fStepMaxCMD) {
|
||||
fPhysicsList->SetStepMax(fStepMaxCMD
|
||||
->GetNewDoubleValue(newValue));
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04PrimaryGeneratorAction.cc 78002 2013-12-02 08:25:49Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/src/F04PrimaryGeneratorAction.cc
|
||||
/// \brief Implementation of the F04PrimaryGeneratorAction class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04PrimaryGeneratorMessenger.cc 77884 2013-11-29 08:41:11Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/src/F04PrimaryGeneratorMessenger.cc
|
||||
/// \brief Implementation of the F04PrimaryGeneratorMessenger class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04RunAction.cc 78002 2013-12-02 08:25:49Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/src/F04RunAction.cc
|
||||
/// \brief Implementation of the F04RunAction class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04RunActionMessenger.cc 76690 2013-11-14 08:45:07Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/src/F04RunActionMessenger.cc
|
||||
/// \brief Implementation of the F04RunActionMessenger class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04SimpleSolenoid.cc 68021 2013-03-13 13:36:07Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/src/F04SimpleSolenoid.cc
|
||||
/// \brief Implementation of the F04SimpleSolenoid class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04StackingAction.cc 68021 2013-03-13 13:36:07Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/src/F04StackingAction.cc
|
||||
/// \brief Implementation of the F04StackingAction class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04StepMax.cc 68021 2013-03-13 13:36:07Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/src/F04StepMax.cc
|
||||
/// \brief Implementation of the F04StepMax class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04SteppingAction.cc 73014 2013-08-15 08:54:47Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/src/F04SteppingAction.cc
|
||||
/// \brief Implementation of the F04SteppingAction class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04SteppingActionMessenger.cc 73014 2013-08-15 08:54:47Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/src/F04SteppingActionMessenger.cc
|
||||
/// \brief Implementation of the F04SteppingActionMessenger class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04SteppingVerbose.cc 68021 2013-03-13 13:36:07Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/src/F04SteppingVerbose.cc
|
||||
/// \brief Implementation of the F04SteppingVerbose class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04TrackingAction.cc 68021 2013-03-13 13:36:07Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/src/F04TrackingAction.cc
|
||||
/// \brief Implementation of the F04TrackingAction class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04Trajectory.cc 90239 2015-05-21 09:07:05Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/src/F04Trajectory.cc
|
||||
/// \brief Implementation of the F04Trajectory class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04TrajectoryPoint.cc 76690 2013-11-14 08:45:07Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/src/F04TrajectoryPoint.cc
|
||||
/// \brief Implementation of the F04TrajectoryPoint class
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: F04UserTrackInformation.cc 68021 2013-03-13 13:36:07Z gcosmo $
|
||||
//
|
||||
/// \file field/field04/src/F04UserTrackInformation.cc
|
||||
/// \brief Implementation of the F04UserTrackInformation class
|
||||
|
||||
@@ -16,10 +16,6 @@
|
||||
#/vis/viewer/set/style surface
|
||||
/vis/viewer/set/style wireframe
|
||||
#
|
||||
# Set direction from target to camera.
|
||||
/vis/viewer/set/viewpointVector 1 1.5 1.1
|
||||
/vis/viewer/set/viewpointThetaPhi 110 140
|
||||
/vis/viewer/zoom 1.4
|
||||
#
|
||||
# The compound command "/vis/drawVolume"
|
||||
# is equivalent to the following set of commands:
|
||||
@@ -34,9 +30,9 @@
|
||||
#
|
||||
# Add trajectories to the current scene
|
||||
/vis/scene/add/trajectories smooth
|
||||
#/vis/modeling/trajectories/create/drawByCharge
|
||||
#/vis/modeling/trajectories/drawByCharge-0/default/setDrawStepPts true
|
||||
#/vis/modeling/trajectories/drawByCharge-0/default/setStepPtsSize 2
|
||||
/vis/modeling/trajectories/create/drawByCharge
|
||||
/vis/modeling/trajectories/drawByCharge-0/default/setDrawStepPts true
|
||||
/vis/modeling/trajectories/drawByCharge-0/default/setStepPtsSize 2
|
||||
# (if too many tracks cause core dump => /tracking/storeTrajectory 0)
|
||||
#
|
||||
#/vis/modeling/trajectories/create/drawByParticleID
|
||||
@@ -47,8 +43,35 @@
|
||||
#/vis/modeling/trajectories/drawByParticleID-0/set nu_e yellow
|
||||
#/vis/modeling/trajectories/drawByParticleID-0/set anti_nu_mu yellow
|
||||
#
|
||||
# Requests viewer to accumulate hits, tracks, etc. at end of event.
|
||||
# detector remains or is redrawn.
|
||||
/vis/scene/endOfEventAction refresh
|
||||
#/vis/scene/endOfEventAction accumulate
|
||||
# To superimpose all of the events from a given run:
|
||||
/vis/scene/endOfEventAction accumulate
|
||||
#
|
||||
# field04 specific setting
|
||||
#
|
||||
# To get nice view
|
||||
#/vis/geometry/set/visibility World 0 false
|
||||
/vis/geometry/set/colour World 0 1 1 1 .3 # gray
|
||||
/vis/geometry/set/colour CaptureMgnt 0 0 0 1 .3 # blue
|
||||
/vis/geometry/set/colour Target 0 1 0 0 .3 # red
|
||||
/vis/geometry/set/colour TransferMgnt 0 0 1 0 .3 # green
|
||||
/vis/geometry/set/colour TestPlane 0 1 1 0 .3 # yellow
|
||||
/vis/geometry/set/colour Degrader 0 0 1 1 .3 # cyan
|
||||
/vis/viewer/set/style surface
|
||||
/vis/viewer/set/hiddenMarker true
|
||||
#
|
||||
# Specify view angle:
|
||||
# Set direction from target to camera.
|
||||
/vis/viewer/set/viewpointThetaPhi 110 140
|
||||
#
|
||||
# Specify zoom value:
|
||||
/vis/viewer/zoom 1.4
|
||||
#
|
||||
# Draw magnetic field
|
||||
#/vis/scene/add/magneticField 1
|
||||
#
|
||||
# Re-establish auto refreshing and verbosity:
|
||||
/vis/viewer/set/autoRefresh true
|
||||
/vis/verbose warnings
|
||||
#
|
||||
# For file-based drivers, use this to create an empty detector view:
|
||||
#/vis/viewer/flush
|
||||
|
||||
Reference in New Issue
Block a user