34 #define INCLXX_IN_GEANT4_MODE 1
38 #ifndef G4INCLConfig_hh
39 #define G4INCLConfig_hh 1
131 std::stringstream ss;
138 return randomSeedVector;
214 return INCLXXDataFilePath;
217 #ifdef INCL_DEEXCITATION_ABLAXX
218 std::string
const &getABLAv3pCxxDataFilePath()
const {
219 return ablav3pCxxDataFilePath;
223 #ifdef INCL_DEEXCITATION_ABLA07
224 std::string
const &getABLA07DataFilePath()
const {
225 return abla07DataFilePath;
228 #ifdef INCL_DEEXCITATION_GEMINIXX
229 std::string
const &getGEMINIXXDataFilePath()
const {
230 return geminixxDataFilePath;
254 std::string
const &getROOTSelectionString()
const {
255 return rootSelectionString;
259 #ifdef INCL_DEEXCITATION_FERMI_BREAKUP
260 G4int getMaxMassFermiBreakUp()
const {
261 return maxMassFermiBreakUp;
264 G4int getMaxChargeFermiBreakUp()
const {
265 return maxChargeFermiBreakUp;
272 return ((t==
Proton) ? rpCorrelationCoefficientProton : rpCorrelationCoefficientNeutron);
279 rpCorrelationCoefficientProton=corrCoeff;
281 rpCorrelationCoefficientNeutron=corrCoeff;
351 G4bool getConciseROOTTree()
const {
return conciseROOTTree; }
365 std::string inputFileName;
367 std::string outputFileRoot;
368 std::string fileSuffix;
369 std::string logFileName;
373 std::string targetString;
377 std::string projectileString;
383 std::string randomSeeds;
386 std::string pauliString;
390 std::string coulombString;
393 std::string potentialString;
397 std::string localEnergyBBString;
400 std::string localEnergyPiString;
403 std::string deExcitationModelList;
404 std::string deExcitationOptionDescription;
405 std::string deExcitationString;
407 #ifdef INCL_DEEXCITATION_ABLAXX
408 std::string ablav3pCxxDataFilePath;
410 #ifdef INCL_DEEXCITATION_ABLA07
411 std::string abla07DataFilePath;
413 #ifdef INCL_DEEXCITATION_GEMINIXX
414 std::string geminixxDataFilePath;
416 std::string INCLXXDataFilePath;
418 std::string clusterAlgorithmString;
421 G4int clusterMaxMass;
429 std::string separationEnergyString;
432 std::string fermiMomentumString;
440 std::string rootSelectionString;
443 #ifdef INCL_DEEXCITATION_FERMI_BREAKUP
444 G4int maxMassFermiBreakUp;
445 G4int maxChargeFermiBreakUp;
449 G4double rpCorrelationCoefficientProton;
450 G4double rpCorrelationCoefficientNeutron;
457 std::string randomNumberGenerator;
460 std::string phaseSpaceGenerator;
463 unsigned int autosaveFrequency;
465 std::string crossSectionsString;
467 G4int maxNumberMultipions;
469 std::string cascadeAction;
482 friend class ::ConfigParser;
DeExcitationType getDeExcitationType() const
Get the de-excitation model.
CascadeActionType getCascadeActionType() const
Get the cascade-action type.
ParticleType getProjectileType() const
Get the projectile type.
void setFermiMomentumType(FermiMomentumType const f)
Set the Fermi-momentum type.
void setProjectileSpecies(ParticleSpecies const &ps)
Set the projectile species.
void setRPCorrelationCoefficient(const G4double corrCoeff)
Set the r-p correlation coefficient.
void setHadronizationTime(const G4double t)
Set the hadronization time.
G4int getTargetZ() const
Get the target charge number.
G4int getNumberOfShots() const
Get the number of shots.
G4double getNeutronSkin() const
Get the neutron-skin thickness.
std::string const & getINCLXXDataFilePath() const
G4int getVerboseEvent() const
Get the number of the verbose event.
void setProjectileKineticEnergy(G4double const kinE)
Set the projectile kinetic energy.
G4int getClusterMaxMass() const
Get the maximum mass for production of clusters.
void setCascadeActionType(CascadeActionType const c)
Set the cascade-action type.
~Config()
Default destructor.
void setINCLXXDataFilePath(std::string const &s)
Set the INCLXX datafile path.
void setRPCorrelationCoefficient(const ParticleType t, const G4double corrCoeff)
Set the r-p correlation coefficient.
G4bool isNaturalTarget() const
Natural targets.
G4double getFermiMomentum() const
Get the Fermi momentum.
SeparationEnergyType getSeparationEnergyType() const
Get the separation-energy type.
void setMaxNumberMultipions(const G4int n)
Set the maximum number of pions for multipion collisions.
void setLocalEnergyBBType(const LocalEnergyType t)
Set the type of local energy for N-N avatars.
G4int getVerbosity() const
Get the verbosity.
G4double getImpactParameter() const
G4bool getCDPP() const
Do we want CDPP?
static std::string const getVersionString()
Get the INCL version string.
double A(double temperature)
static constexpr double m
void setNeutronHalo(const G4double d)
Set the neutron-halo size.
void setFermiMomentum(const G4double p)
Set the Fermi momentum.
void setTargetA(G4int A)
Set target mass number.
G4bool getBackToSpectator() const
Get back-to-spectator.
PauliType getPauliType() const
Get the Pauli-blocking algorithm.
void setRefraction(const G4bool r)
Set the refraction variable.
G4double getDecayTimeThreshold() const
Get the hadronization time.
G4int getTargetA() const
Get the target mass number.
void setLocalEnergyPiType(const LocalEnergyType t)
Set the type of local energy for N-N avatars.
G4bool getPionPotential() const
Do we want the pion potential?
void setClusterAlgorithm(ClusterAlgorithmType const c)
Set the clustering algorithm.
void setPhaseSpaceGeneratorType(PhaseSpaceGeneratorType const p)
Set the phase-space-generator type.
PhaseSpaceGeneratorType getPhaseSpaceGeneratorType() const
Get the phase-space-generator type.
G4bool getUseRealMasses() const
Whether to use real masses.
void setAutosaveFrequency(const unsigned int f)
Set the autosave frequency.
Config()
Default constructor.
G4double getHadronizationTime() const
Get the hadronization time.
unsigned int getAutosaveFrequency() const
Get the autosave frequency.
G4int getMaxNumberMultipions() const
Get the maximum number of pions for multipion collisions.
RNGType getRNGType() const
Get the RNG type.
void setDecayTimeThreshold(const G4double t)
Set the hadronization time.
G4double getNeutronHalo() const
Get the neutron-halo size.
Random::SeedVector getRandomSeeds() const
Get the seeds for the random-number generator.
ClusterAlgorithmType getClusterAlgorithm() const
Get the clustering algorithm.
void setRNGType(RNGType const r)
Set the RNG type.
FermiMomentumType getFermiMomentumType() const
Get the Fermi-momentum type.
std::string const & getLogFileName() const
Get the log file name.
PotentialType getPotentialType() const
Get the type of the potential for nucleons.
std::string getDeExcitationString() const
Get the de-excitation string.
static std::string const getVersionID()
Get the INCL version ID.
void setCoulombType(CoulombType const c)
Set the Coulomb-distortion algorithm.
ParticleSpecies getProjectileSpecies() const
Get the projectile species.
void init()
Initialise the members.
void setPotentialType(PotentialType type)
Set the type of the potential for nucleons.
LocalEnergyType getLocalEnergyPiType() const
Get the type of local energy for pi-N and decay avatars.
LocalEnergyType getLocalEnergyBBType() const
Get the type of local energy for N-N avatars.
CoulombType getCoulombType() const
Get the Coulomb-distortion algorithm.
std::string const & getOutputFileRoot() const
Get the output file root.
std::string const & getCalculationTitle() const
Get the run title.
std::string summary()
Return a summary of the run configuration.
void setClusterMaxMass(const G4int m)
Set the maximum mass for production of clusters.
void setPionPotential(const G4bool pionPot)
Set the type of the potential for nucleons.
G4bool getInverseKinematics() const
void setUseRealMasses(G4bool use)
Set whether to use real masses.
void setBackToSpectator(const G4bool b)
Set back-to-spectator.
static constexpr double ps
void setNeutronSkin(const G4double d)
Set the neutron-skin thickness.
CrossSectionsType getCrossSectionsType() const
Get the Cross Section type.
G4double getProjectileKineticEnergy() const
Get the projectile kinetic energy.
void setCrossSectionsType(CrossSectionsType const c)
Set the Cross Section type.
G4double getRPCorrelationCoefficient(const ParticleType t) const
Get the r-p correlation coefficient.
G4double getCutNN() const
static std::string const getVersionHash()
Get the INCL version hash.
G4bool getRefraction() const
True if we should use refraction.
void setTargetZ(G4int Z)
Set target charge number.