Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions
G4INCL::Config Class Reference

#include <G4INCLConfig.hh>

Public Member Functions

 Config ()
 Default constructor. More...
 
 Config (G4int, G4int, ParticleSpecies, G4double)
 
 Config (G4int argc, char *argv[], G4bool isFullRun)
 Constructor based on command-line and config-file options. More...
 
 ~Config ()
 Default destructor. More...
 
void init ()
 Initialise the members. More...
 
std::string summary ()
 Return a summary of the run configuration. More...
 
G4int getVerbosity () const
 Get the verbosity. More...
 
std::string const & getCalculationTitle () const
 Get the run title. More...
 
std::string const & getOutputFileRoot () const
 Get the output file root. More...
 
G4int getNumberOfShots () const
 Get the number of shots. More...
 
G4bool isNaturalTarget () const
 Natural targets. More...
 
G4int getTargetA () const
 Get the target mass number. More...
 
G4int getTargetZ () const
 Get the target charge number. More...
 
void setTargetA (G4int A)
 Set target mass number. More...
 
void setTargetZ (G4int Z)
 Set target charge number. More...
 
ParticleType getProjectileType () const
 Get the projectile type. More...
 
ParticleSpecies getProjectileSpecies () const
 Get the projectile species. More...
 
void setProjectileSpecies (ParticleSpecies const &ps)
 Set the projectile species. More...
 
G4double getProjectileKineticEnergy () const
 Get the projectile kinetic energy. More...
 
void setProjectileKineticEnergy (G4double const kinE)
 Set the projectile kinetic energy. More...
 
G4int getVerboseEvent () const
 Get the number of the verbose event. More...
 
Random::SeedVector getRandomSeeds () const
 Get the seeds for the random-number generator. More...
 
PauliType getPauliType () const
 Get the Pauli-blocking algorithm. More...
 
G4bool getCDPP () const
 Do we want CDPP? More...
 
G4bool getPionPotential () const
 Do we want the pion potential? More...
 
CoulombType getCoulombType () const
 Get the Coulomb-distortion algorithm. More...
 
PotentialType getPotentialType () const
 Get the type of the potential for nucleons. More...
 
void setPotentialType (PotentialType type)
 Set the type of the potential for nucleons. More...
 
void setPionPotential (const G4bool pionPot)
 Set the type of the potential for nucleons. More...
 
LocalEnergyType getLocalEnergyBBType () const
 Get the type of local energy for N-N avatars. More...
 
LocalEnergyType getLocalEnergyPiType () const
 Get the type of local energy for pi-N and decay avatars. More...
 
void setLocalEnergyBBType (const LocalEnergyType t)
 Set the type of local energy for N-N avatars. More...
 
void setLocalEnergyPiType (const LocalEnergyType t)
 Set the type of local energy for N-N avatars. More...
 
std::string const & getLogFileName () const
 Get the log file name. More...
 
DeExcitationType getDeExcitationType () const
 Get the de-excitation model. More...
 
std::string getDeExcitationString () const
 Get the de-excitation string. More...
 
ClusterAlgorithmType getClusterAlgorithm () const
 Get the clustering algorithm. More...
 
G4int getClusterMaxMass () const
 Get the maximum mass for production of clusters. More...
 
void setClusterMaxMass (const G4int m)
 Set the maximum mass for production of clusters. More...
 
G4bool getBackToSpectator () const
 Get back-to-spectator. More...
 
G4bool getUseRealMasses () const
 Whether to use real masses. More...
 
void setUseRealMasses (G4bool use)
 Set whether to use real masses. More...
 
std::string const & getINCLXXDataFilePath () const
 
G4double getImpactParameter () const
 
SeparationEnergyType getSeparationEnergyType () const
 Get the separation-energy type. More...
 
FermiMomentumType getFermiMomentumType () const
 Get the Fermi-momentum type. More...
 
void setFermiMomentumType (FermiMomentumType const f)
 Set the Fermi-momentum type. More...
 
G4double getCutNN () const
 
G4double getRPCorrelationCoefficient (const ParticleType t) const
 Get the r-p correlation coefficient. More...
 
void setRPCorrelationCoefficient (const ParticleType t, const G4double corrCoeff)
 Set the r-p correlation coefficient. More...
 
void setRPCorrelationCoefficient (const G4double corrCoeff)
 Set the r-p correlation coefficient. More...
 
G4double getNeutronSkinThickness () const
 Get the neutron-skin thickness. More...
 
void setNeutronSkinThickness (const G4double d)
 Set the neutron-skin thickness. More...
 
G4double getNeutronSkinAdditionalDiffuseness () const
 Get the neutron-skin additional diffuseness. More...
 
void setNeutronSkinAdditionalDiffuseness (const G4double d)
 Set the neutron-skin additional diffuseness. More...
 
G4bool getRefraction () const
 True if we should use refraction. More...
 
void setRefraction (const G4bool r)
 Set the refraction variable. More...
 

Static Public Member Functions

static std::string const getVersionID ()
 Get the INCL version ID. More...
 
static std::string const getVersionHash ()
 Get the INCL version hash. More...
 
static std::string const getVersionString ()
 Get the INCL version string. More...
 

Detailed Description

The INCL configuration object

The Config object keeps track of various INCL physics options (e.g. which Pauli blocking scheme to use, whether to use local energy option or not, etc.

Definition at line 67 of file G4INCLConfig.hh.

Constructor & Destructor Documentation

G4INCL::Config::Config ( )

Default constructor.

Definition at line 48 of file G4INCLConfig.cc.

References init().

49  {
50  init();
51  }
void init()
Initialise the members.
G4INCL::Config::Config ( G4int  ,
G4int  ,
G4INCL::ParticleSpecies  proj,
G4double  projectileE 
)

Constructor for INCL++ with specified target A, Z, projectile type and energy. All other options are the default ones.

Definition at line 53 of file G4INCLConfig.cc.

References init().

54  {
55  init();
56  projectileSpecies = proj;
57  projectileKineticEnergy = projectileE;
58  }
void init()
Initialise the members.
G4INCL::Config::Config ( G4int  argc,
char *  argv[],
G4bool  isFullRun 
)

Constructor based on command-line and config-file options.

Parameters
argccommand-line parameters
argvcommand-line parameters
isFullRunis this a real calculation: true = yes; false = no, it's just a unit test

Definition at line 755 of file G4INCLConfig.cc.

References init().

756  {
757  init();
758  }
void init()
Initialise the members.
G4INCL::Config::~Config ( )

Default destructor.

Definition at line 761 of file G4INCLConfig.cc.

762  {}

Member Function Documentation

G4bool G4INCL::Config::getBackToSpectator ( ) const
inline

Get back-to-spectator.

Definition at line 217 of file G4INCLConfig.hh.

Referenced by G4INCL::InteractionAvatar::postInteraction().

217 { return backToSpectator; }
std::string const& G4INCL::Config::getCalculationTitle ( ) const
inline

Get the run title.

Definition at line 99 of file G4INCLConfig.hh.

99 { return title; }
G4bool G4INCL::Config::getCDPP ( ) const
inline

Do we want CDPP?

Definition at line 169 of file G4INCLConfig.hh.

Referenced by G4INCL::INCL::INCL().

169 { return CDPP; }
ClusterAlgorithmType G4INCL::Config::getClusterAlgorithm ( ) const
inline

Get the clustering algorithm.

Definition at line 208 of file G4INCLConfig.hh.

Referenced by G4INCL::INCL::INCL().

208 { return clusterAlgorithmType; }
G4int G4INCL::Config::getClusterMaxMass ( ) const
inline

Get the maximum mass for production of clusters.

Definition at line 211 of file G4INCLConfig.hh.

Referenced by G4INCL::ClusteringModelIntercomparison::getCluster(), and G4INCLXXInterfaceStore::SetMaxClusterMass().

211 { return clusterMaxMass; }
CoulombType G4INCL::Config::getCoulombType ( ) const
inline

Get the Coulomb-distortion algorithm.

Definition at line 175 of file G4INCLConfig.hh.

Referenced by G4INCL::INCL::INCL().

175 { return coulombType; }
G4double G4INCL::Config::getCutNN ( ) const
inline

Definition at line 257 of file G4INCLConfig.hh.

Referenced by G4INCL::INCL::INCL().

257 { return cutNN; }
std::string G4INCL::Config::getDeExcitationString ( ) const
inline

Get the de-excitation string.

Definition at line 205 of file G4INCLConfig.hh.

Referenced by G4INCL::INCL::INCL().

205 { return deExcitationString; }
DeExcitationType G4INCL::Config::getDeExcitationType ( ) const
inline

Get the de-excitation model.

Definition at line 202 of file G4INCLConfig.hh.

202 { return deExcitationType; }
FermiMomentumType G4INCL::Config::getFermiMomentumType ( ) const
inline

Get the Fermi-momentum type.

Definition at line 252 of file G4INCLConfig.hh.

Referenced by G4INCL::ParticleTable::initialize().

252 { return fermiMomentumType; }
G4double G4INCL::Config::getImpactParameter ( ) const
inline

Definition at line 246 of file G4INCLConfig.hh.

Referenced by G4INCL::INCL::INCL().

246 { return impactParameter; }
std::string const& G4INCL::Config::getINCLXXDataFilePath ( ) const
inline

Definition at line 225 of file G4INCLConfig.hh.

Referenced by G4INCL::ParticleTable::initialize().

225  {
226  return INCLXXDataFilePath;
227  }
LocalEnergyType G4INCL::Config::getLocalEnergyBBType ( ) const
inline

Get the type of local energy for N-N avatars.

Definition at line 187 of file G4INCLConfig.hh.

Referenced by G4INCL::INCL::INCL(), and G4INCL::InteractionAvatar::shouldUseLocalEnergy().

187 { return localEnergyBBType; }
LocalEnergyType G4INCL::Config::getLocalEnergyPiType ( ) const
inline

Get the type of local energy for pi-N and decay avatars.

Definition at line 190 of file G4INCLConfig.hh.

Referenced by G4INCL::INCL::INCL(), and G4INCL::InteractionAvatar::shouldUseLocalEnergy().

190 { return localEnergyPiType; }
std::string const& G4INCL::Config::getLogFileName ( ) const
inline

Get the log file name.

Definition at line 199 of file G4INCLConfig.hh.

Referenced by G4INCL::INCL::INCL().

199 { return logFileName; }
G4double G4INCL::Config::getNeutronSkinAdditionalDiffuseness ( ) const
inline

Get the neutron-skin additional diffuseness.

Definition at line 299 of file G4INCLConfig.hh.

Referenced by G4INCL::ParticleTable::initialize().

299 { return neutronSkinAdditionalDiffuseness; }
G4double G4INCL::Config::getNeutronSkinThickness ( ) const
inline

Get the neutron-skin thickness.

Definition at line 293 of file G4INCLConfig.hh.

Referenced by G4INCL::ParticleTable::initialize().

293 { return neutronSkinThickness; }
G4int G4INCL::Config::getNumberOfShots ( ) const
inline

Get the number of shots.

Definition at line 105 of file G4INCLConfig.hh.

105 { return nShots; }
std::string const& G4INCL::Config::getOutputFileRoot ( ) const
inline

Get the output file root.

Definition at line 102 of file G4INCLConfig.hh.

102 { return outputFileRoot; }
PauliType G4INCL::Config::getPauliType ( ) const
inline

Get the Pauli-blocking algorithm.

Definition at line 166 of file G4INCLConfig.hh.

Referenced by G4INCL::INCL::INCL().

166 { return pauliType; }
G4bool G4INCL::Config::getPionPotential ( ) const
inline

Do we want the pion potential?

Definition at line 172 of file G4INCLConfig.hh.

Referenced by G4INCL::Nucleus::Nucleus().

172 { return pionPotential; }
PotentialType G4INCL::Config::getPotentialType ( ) const
inline

Get the type of the potential for nucleons.

Definition at line 178 of file G4INCLConfig.hh.

Referenced by G4INCL::Nucleus::Nucleus().

178 { return potentialType; }
G4double G4INCL::Config::getProjectileKineticEnergy ( ) const
inline

Get the projectile kinetic energy.

Definition at line 136 of file G4INCLConfig.hh.

Referenced by G4INCL::INCL::INCL(), and G4INCL::INCL::processEvent().

136 { return projectileKineticEnergy; }
ParticleSpecies G4INCL::Config::getProjectileSpecies ( ) const
inline

Get the projectile species.

Definition at line 130 of file G4INCLConfig.hh.

Referenced by G4INCL::INCL::INCL(), and G4INCL::INCL::processEvent().

130 { return projectileSpecies; }
ParticleType G4INCL::Config::getProjectileType ( ) const
inline

Get the projectile type.

Definition at line 127 of file G4INCLConfig.hh.

References G4INCL::ParticleSpecies::theType.

127 { return projectileSpecies.theType; }
Random::SeedVector G4INCL::Config::getRandomSeeds ( ) const
inline

Get the seeds for the random-number generator.

Definition at line 158 of file G4INCLConfig.hh.

References G4INCL::Random::SeedVector::push_back().

Referenced by G4INCL::INCL::INCL().

158  {
159  Random::SeedVector s;
160  s.push_back(randomSeed1);
161  s.push_back(randomSeed2);
162  return s;
163  }
const XML_Char * s
G4bool G4INCL::Config::getRefraction ( ) const
inline

True if we should use refraction.

Definition at line 305 of file G4INCLConfig.hh.

Referenced by G4INCL::SurfaceAvatar::getChannel(), and G4INCL::SurfaceAvatar::getTransmissionProbability().

305 { return refraction; }
G4double G4INCL::Config::getRPCorrelationCoefficient ( const ParticleType  t) const
inline

Get the r-p correlation coefficient.

Definition at line 272 of file G4INCLConfig.hh.

References G4INCL::Proton.

Referenced by G4INCL::ParticleTable::initialize().

272  {
273 // assert(t==Proton || t==Neutron);
274  return ((t==Proton) ? rpCorrelationCoefficientProton : rpCorrelationCoefficientNeutron);
275  }
SeparationEnergyType G4INCL::Config::getSeparationEnergyType ( ) const
inline

Get the separation-energy type.

Definition at line 249 of file G4INCLConfig.hh.

Referenced by G4INCL::ParticleTable::initialize().

249 { return separationEnergyType; }
G4int G4INCL::Config::getTargetA ( ) const
inline

Get the target mass number.

Note that A==0 means natural target. You should first check the isNaturalTarget() method.

Definition at line 115 of file G4INCLConfig.hh.

References G4INCL::ParticleSpecies::theA.

Referenced by G4INCL::INCL::INCL(), and G4INCL::INCL::processEvent().

115 { return targetSpecies.theA; }
G4int G4INCL::Config::getTargetZ ( ) const
inline

Get the target charge number.

Definition at line 118 of file G4INCLConfig.hh.

References G4INCL::ParticleSpecies::theZ.

Referenced by G4INCL::INCL::INCL(), and G4INCL::INCL::processEvent().

118 { return targetSpecies.theZ; }
G4bool G4INCL::Config::getUseRealMasses ( ) const
inline

Whether to use real masses.

Definition at line 220 of file G4INCLConfig.hh.

Referenced by G4INCL::ParticleTable::initialize().

220 { return useRealMasses; }
G4int G4INCL::Config::getVerboseEvent ( ) const
inline

Get the number of the verbose event.

Definition at line 142 of file G4INCLConfig.hh.

142 { return verboseEvent; }
G4int G4INCL::Config::getVerbosity ( ) const
inline

Get the verbosity.

Definition at line 96 of file G4INCLConfig.hh.

Referenced by G4INCL::INCL::INCL().

96 { return verbosity; }
std::string const G4INCL::Config::getVersionHash ( )
static

Get the INCL version hash.

Definition at line 55 of file G4INCLConfigVersion.cc.

References G4INCL_GIT_HASH.

Referenced by getVersionString().

55 { return G4INCL_GIT_HASH; }
#define G4INCL_GIT_HASH
std::string const G4INCL::Config::getVersionID ( )
static

Get the INCL version ID.

Definition at line 53 of file G4INCLConfigVersion.cc.

References G4INCL_VERSION_ID.

Referenced by getVersionString().

53 { return G4INCL_VERSION_ID; }
#define G4INCL_VERSION_ID
static std::string const G4INCL::Config::getVersionString ( )
inlinestatic

Get the INCL version string.

Definition at line 151 of file G4INCLConfig.hh.

References getVersionHash(), and getVersionID().

Referenced by G4INCL::INCL::INCL(), and summary().

151  {
152  std::stringstream ss;
153  ss << getVersionID() << "-" << getVersionHash();
154  return ss.str();
155  }
static std::string const getVersionID()
Get the INCL version ID.
static std::string const getVersionHash()
Get the INCL version hash.
void G4INCL::Config::init ( )

Initialise the members.

Definition at line 764 of file G4INCLConfig.cc.

References G4INCL::ConstantFermiMomentum, G4INCL::DeExcitationNone, G4INCL::FirstCollisionLocalEnergy, G4INCL::INCLSeparationEnergy, G4INCL::IntercomparisonClusterAlgorithm, G4INCL::IsospinEnergyPotential, G4INCL::NonRelativisticCoulomb, G4INCL::Proton, and G4INCL::StrictStatisticalPauli.

Referenced by Config().

764  {
765  verbosity = 1;
766  inputFileName = "";
767  title = "INCL default run title";
768  nShots = 1000;
769  naturalTarget = false;
770  projectileString = "proton";
771  projectileSpecies = G4INCL::Proton;
772  projectileKineticEnergy = 1000.0;
773  verboseEvent = -1;
774  randomSeed1 = 666;
775  randomSeed2 = 777;
776  pauliString = "strict-statistical";
777  pauliType = StrictStatisticalPauli;
778  CDPP = true;
779  coulombString = "non-relativistic";
780  coulombType = NonRelativisticCoulomb;
781  potentialString = "isospin-energy";
782  potentialType = IsospinEnergyPotential;
783  pionPotential = true;
784  localEnergyBBString = "first-collision";
785  localEnergyBBType = FirstCollisionLocalEnergy;
786  localEnergyPiString = "first-collision";
787  localEnergyPiType = FirstCollisionLocalEnergy;
788  deExcitationString = "none";
789  deExcitationType = DeExcitationNone;
790  clusterAlgorithmString = "intercomparison";
791  clusterAlgorithmType = IntercomparisonClusterAlgorithm;
792  clusterMaxMass = 8;
793  backToSpectator = true;
794  useRealMasses = true;
795  impactParameter = -1.;
796  separationEnergyString = "INCL";
797  separationEnergyType = INCLSeparationEnergy;
798  fermiMomentumString = "constant";
799  fermiMomentumType = ConstantFermiMomentum;
800  cutNN = 1910.;
801 #ifdef INCL_DEEXCITATION_FERMI_BREAKUP
802  maxMassFermiBreakUp = 18;
803 #endif
804  rpCorrelationCoefficient = 1.;
805  rpCorrelationCoefficientProton = 1.;
806  rpCorrelationCoefficientNeutron = 1.;
807  neutronSkinThickness = 0.;
808  neutronSkinAdditionalDiffuseness = 0.;
809  refraction=false;
810  }
G4bool G4INCL::Config::isNaturalTarget ( ) const
inline

Natural targets.

Definition at line 108 of file G4INCLConfig.hh.

Referenced by G4INCL::INCL::prepareReaction().

108 { return naturalTarget; }
void G4INCL::Config::setClusterMaxMass ( const G4int  m)
inline

Set the maximum mass for production of clusters.

Definition at line 214 of file G4INCLConfig.hh.

References python.hepunit::m.

Referenced by G4INCLXXInterfaceStore::SetMaxClusterMass().

214 { clusterMaxMass=m; }
void G4INCL::Config::setFermiMomentumType ( FermiMomentumType const  f)
inline

Set the Fermi-momentum type.

Definition at line 255 of file G4INCLConfig.hh.

255 { fermiMomentumType=f; }
void G4INCL::Config::setLocalEnergyBBType ( const LocalEnergyType  t)
inline

Set the type of local energy for N-N avatars.

Definition at line 193 of file G4INCLConfig.hh.

193 { localEnergyBBType=t; }
void G4INCL::Config::setLocalEnergyPiType ( const LocalEnergyType  t)
inline

Set the type of local energy for N-N avatars.

Definition at line 196 of file G4INCLConfig.hh.

196 { localEnergyPiType=t; }
void G4INCL::Config::setNeutronSkinAdditionalDiffuseness ( const G4double  d)
inline

Set the neutron-skin additional diffuseness.

Definition at line 302 of file G4INCLConfig.hh.

302 { neutronSkinAdditionalDiffuseness=d; }
void G4INCL::Config::setNeutronSkinThickness ( const G4double  d)
inline

Set the neutron-skin thickness.

Definition at line 296 of file G4INCLConfig.hh.

296 { neutronSkinThickness=d; }
void G4INCL::Config::setPionPotential ( const G4bool  pionPot)
inline

Set the type of the potential for nucleons.

Definition at line 184 of file G4INCLConfig.hh.

184 { pionPotential = pionPot; }
void G4INCL::Config::setPotentialType ( PotentialType  type)
inline

Set the type of the potential for nucleons.

Definition at line 181 of file G4INCLConfig.hh.

181 { potentialType = type; }
void G4INCL::Config::setProjectileKineticEnergy ( G4double const  kinE)
inline

Set the projectile kinetic energy.

Definition at line 139 of file G4INCLConfig.hh.

139 { projectileKineticEnergy=kinE; }
void G4INCL::Config::setProjectileSpecies ( ParticleSpecies const &  ps)
inline

Set the projectile species.

Definition at line 133 of file G4INCLConfig.hh.

133 { projectileSpecies=ps; }
void G4INCL::Config::setRefraction ( const G4bool  r)
inline

Set the refraction variable.

Definition at line 308 of file G4INCLConfig.hh.

308 { refraction = r; }
void G4INCL::Config::setRPCorrelationCoefficient ( const ParticleType  t,
const G4double  corrCoeff 
)
inline

Set the r-p correlation coefficient.

Definition at line 278 of file G4INCLConfig.hh.

References G4INCL::Proton.

Referenced by setRPCorrelationCoefficient().

278  {
279 // assert(t==Proton || t==Neutron);
280  if(t==Proton)
281  rpCorrelationCoefficientProton=corrCoeff;
282  else
283  rpCorrelationCoefficientNeutron=corrCoeff;
284  }
void G4INCL::Config::setRPCorrelationCoefficient ( const G4double  corrCoeff)
inline

Set the r-p correlation coefficient.

Definition at line 287 of file G4INCLConfig.hh.

References G4INCL::Neutron, G4INCL::Proton, and setRPCorrelationCoefficient().

287  {
290  }
void setRPCorrelationCoefficient(const ParticleType t, const G4double corrCoeff)
Set the r-p correlation coefficient.
void G4INCL::Config::setTargetA ( G4int  A)
inline

Set target mass number.

Definition at line 121 of file G4INCLConfig.hh.

References G4INCL::ParticleSpecies::theA.

121 { targetSpecies.theA = A; }
void G4INCL::Config::setTargetZ ( G4int  Z)
inline

Set target charge number.

Definition at line 124 of file G4INCLConfig.hh.

References G4INCL::ParticleSpecies::theZ.

124 { targetSpecies.theZ = Z; }
void G4INCL::Config::setUseRealMasses ( G4bool  use)
inline

Set whether to use real masses.

Definition at line 223 of file G4INCLConfig.hh.

223 { useRealMasses = use; }
std::string G4INCL::Config::summary ( )

Return a summary of the run configuration.

Definition at line 812 of file G4INCLConfig.cc.

References G4INCL::Composite, G4INCL::ParticleTable::getName(), getVersionString(), G4INCL::ParticleSpecies::theA, G4INCL::ParticleSpecies::theType, and G4INCL::ParticleSpecies::theZ.

812  {
813  std::stringstream message;
814  message << "INCL++ version " << getVersionString() << std::endl;
815  if(projectileSpecies.theType != Composite)
816  message << "Projectile: " << ParticleTable::getName(projectileSpecies) << std::endl;
817  else
818  message << "Projectile: composite, A=" << projectileSpecies.theA << ", Z=" << projectileSpecies.theZ << std::endl;
819  message << " energy = " << projectileKineticEnergy << std::endl;
820  if(targetSpecies.theA>0)
821  message << "Target: A = " << targetSpecies.theA << " Z = " << targetSpecies.theZ << std::endl;
822  else
823  message << "Target: natural isotopic composition, Z = " << targetSpecies.theZ << std::endl;
824  message << "Number of requested shots = " << nShots << std::endl;
825  return message.str();
826  }
static std::string const getVersionString()
Get the INCL version string.
std::string getName(const ParticleType t)
Get the native INCL name of the particle.

The documentation for this class was generated from the following files: