Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4INCLConfig.cc
Go to the documentation of this file.
1//
2// ********************************************************************
3// * License and Disclaimer *
4// * *
5// * The Geant4 software is copyright of the Copyright Holders of *
6// * the Geant4 Collaboration. It is provided under the terms and *
7// * conditions of the Geant4 Software License, included in the file *
8// * LICENSE and available at http://cern.ch/geant4/license . These *
9// * include a list of copyright holders. *
10// * *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work make any representation or warranty, express or implied, *
14// * regarding this software system or assume any liability for its *
15// * use. Please see the license in the file LICENSE and URL above *
16// * for the full disclaimer and the limitation of liability. *
17// * *
18// * This code implementation is the result of the scientific and *
19// * technical work of the GEANT4 collaboration. *
20// * By using, copying, modifying or distributing the software (or *
21// * any work based on the software) you agree to acknowledge its *
22// * use in resulting scientific publications, and indicate your *
23// * acceptance of all terms of the Geant4 Software license. *
24// ********************************************************************
25//
26// INCL++ intra-nuclear cascade model
27// Alain Boudard, CEA-Saclay, France
28// Joseph Cugnon, University of Liege, Belgium
29// Jean-Christophe David, CEA-Saclay, France
30// Pekka Kaitaniemi, CEA-Saclay, France, and Helsinki Institute of Physics, Finland
31// Sylvie Leray, CEA-Saclay, France
32// Davide Mancusi, CEA-Saclay, France
33//
34#define INCLXX_IN_GEANT4_MODE 1
35
36#include "globals.hh"
37
38#include "G4INCLParticleType.hh"
39#include "G4INCLConfig.hh"
42
43namespace G4INCL {
44
46 init();
47 }
48
50
51 void Config::init() {
52 verbosity = 1;
53 logFileName = "-";
54 inputFileName = "";
55 title = "INCL default run title";
56 nShots = 1000;
57 naturalTarget = false;
58 projectileString = "proton";
59 projectileSpecies = G4INCL::Proton;
60 projectileKineticEnergy = 1000.0;
61 verboseEvent = -1;
62 randomSeeds = "";
63 randomSeedVector.push_back(666);
64 randomSeedVector.push_back(777);
65 randomSeedVector.push_back(1234);
66 pauliString = "strict-statistical";
67 pauliType = StrictStatisticalPauli;
68 CDPP = true;
69 coulombString = "non-relativistic";
70 coulombType = NonRelativisticCoulomb;
71 potentialString = "isospin-energy";
72 potentialType = IsospinEnergyPotential;
73 pionPotential = true;
74 localEnergyBBString = "first-collision";
75 localEnergyBBType = FirstCollisionLocalEnergy;
76 localEnergyPiString = "first-collision";
77 localEnergyPiType = FirstCollisionLocalEnergy;
78 deExcitationString = "none";
79 deExcitationType = DeExcitationNone;
80 clusterAlgorithmString = "intercomparison";
81 clusterAlgorithmType = IntercomparisonClusterAlgorithm;
82 clusterMaxMass = 8;
83 backToSpectator = true;
84 useRealMasses = true;
85 impactParameter = -1.;
86 separationEnergyString = "INCL";
87 separationEnergyType = INCLSeparationEnergy;
88 fermiMomentumString = "constant";
89 fermiMomentumType = ConstantFermiMomentum;
90 fermiMomentum = -1.;
91 cutNN = 1910.;
92#ifdef INCL_DEEXCITATION_FERMI_BREAKUP
93 maxMassFermiBreakUp = 16;
94 maxChargeFermiBreakUp = 8;
95#endif
96 rpCorrelationCoefficient = 0.98;
97 rpCorrelationCoefficientProton = 0.5;
98 rpCorrelationCoefficientNeutron = 0.73;
99 neutronSkin = 0.;
100 neutronHalo = 0.;
101 refraction=false;
102 phaseSpaceGenerator = "Raubold-Lynch";
103 phaseSpaceGeneratorType = RauboldLynchType;
104 cascadeAction = "default";
105 cascadeActionType = DefaultActionType;
106 randomNumberGenerator = "Ranecu";
107 rngType = RanecuType;
108 autosaveFrequency = 10000;
109 maxNumberMultipions = -1;
110 crossSectionsString = "antiparticles";
111 crossSectionsType = AntiparticlesCrossSections;
112 hadronizationTime = 0.;
113#ifdef INCL_ROOT_USE
114 conciseROOTTree = false;
115#endif
116 inverseKinematics = false;
117 decayTimeThreshold = 1.e-20;
118 bias = 1.;
119 atrestThreshold = 200.;
120 }
121
122 std::string Config::summary() {
123 std::stringstream message;
124 message << "INCL++ version " << getVersionString() << '\n';
125 if(projectileSpecies.theType != Composite)
126 message << "Projectile: " << ParticleTable::getName(projectileSpecies) << '\n';
127 else
128 message << "Projectile: composite, A=" << projectileSpecies.theA << ", Z=" << projectileSpecies.theZ << ", S=" << projectileSpecies.theS << '\n';
129 message << " energy = " << projectileKineticEnergy << '\n';
130 if(targetSpecies.theA>0)
131 message << "Target: A = " << targetSpecies.theA << " Z = " << targetSpecies.theZ << " S = " << targetSpecies.theS << '\n';
132 else
133 message << "Target: natural isotopic composition, Z = " << targetSpecies.theZ << '\n';
134 message << "Number of requested shots = " << nShots << '\n';
135 return message.str();
136 }
137
138}
static std::string const getVersionString()
Get the INCL version string.
~Config()
Default destructor.
Config()
Default constructor.
std::string summary()
Return a summary of the run configuration.
void init()
Initialise the members.
std::string getName(const ParticleType t)
Get the native INCL name of the particle.
@ FirstCollisionLocalEnergy
@ AntiparticlesCrossSections
@ IntercomparisonClusterAlgorithm