Geant4  10.03.p01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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"
40 #include "G4INCLParticleSpecies.hh"
41 #include "G4INCLParticleTable.hh"
42 
43 namespace 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 = 1.;
97  rpCorrelationCoefficientProton = 1.;
98  rpCorrelationCoefficientNeutron = 1.;
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 = "multipions-resonances";
111  crossSectionsType = MultiPionsAndResonancesCrossSections;
112  hadronizationTime = 0.;
113 #ifdef INCL_ROOT_USE
114  conciseROOTTree = false;
115 #endif
116  inverseKinematics = false;
117  decayTimeThreshold = 1.e-18;
118  }
119 
120  std::string Config::summary() {
121  std::stringstream message;
122  message << "INCL++ version " << getVersionString() << '\n';
123  if(projectileSpecies.theType != Composite)
124  message << "Projectile: " << ParticleTable::getName(projectileSpecies) << '\n';
125  else
126  message << "Projectile: composite, A=" << projectileSpecies.theA << ", Z=" << projectileSpecies.theZ << '\n';
127  message << " energy = " << projectileKineticEnergy << '\n';
128  if(targetSpecies.theA>0)
129  message << "Target: A = " << targetSpecies.theA << " Z = " << targetSpecies.theZ << '\n';
130  else
131  message << "Target: natural isotopic composition, Z = " << targetSpecies.theZ << '\n';
132  message << "Number of requested shots = " << nShots << '\n';
133  return message.str();
134  }
135 
136 }
~Config()
Default destructor.
Definition: G4INCLConfig.cc:49
static std::string const getVersionString()
Get the INCL version string.
Config()
Default constructor.
Definition: G4INCLConfig.cc:45
void init()
Initialise the members.
Definition: G4INCLConfig.cc:51
std::string summary()
Return a summary of the run configuration.
std::string getName(const ParticleType t)
Get the native INCL name of the particle.