33 #define INCLXX_IN_GEANT4_MODE 1
37 #ifndef G4INCLConfig_hh
38 #define G4INCLConfig_hh 1
48 #if defined(HAS_BOOST_PROGRAM_OPTIONS) && !defined(INCLXX_IN_GEANT4_MODE)
49 #include <boost/program_options/options_description.hpp>
50 #include <boost/program_options/parsers.hpp>
51 #include <boost/program_options/variables_map.hpp>
55 namespace po = boost::program_options;
152 std::stringstream ss;
226 return INCLXXDataFilePath;
229 #ifdef INCL_DEEXCITATION_ABLAXX
230 std::string
const &getABLAv3pCxxDataFilePath()
const {
231 return ablav3pCxxDataFilePath;
235 #ifdef INCL_DEEXCITATION_ABLA07
236 std::string
const &getABLA07DataFilePath()
const {
237 return abla07DataFilePath;
240 #ifdef INCL_DEEXCITATION_GEMINIXX
241 std::string
const &getGEMINIXXDataFilePath()
const {
242 return geminixxDataFilePath;
260 std::string
const &getROOTSelectionString()
const {
261 return rootSelectionString;
265 #ifdef INCL_DEEXCITATION_FERMI_BREAKUP
266 G4int getMaxMassFermiBreakUp()
const {
267 return maxMassFermiBreakUp;
274 return ((t==
Proton) ? rpCorrelationCoefficientProton : rpCorrelationCoefficientNeutron);
281 rpCorrelationCoefficientProton=corrCoeff;
283 rpCorrelationCoefficientNeutron=corrCoeff;
310 #if defined(HAS_BOOST_PROGRAM_OPTIONS) && !defined(INCLXX_IN_GEANT4_MODE)
311 std::string
const echo()
const;
317 #if defined(HAS_BOOST_PROGRAM_OPTIONS) && !defined(INCLXX_IN_GEANT4_MODE)
318 std::string echoOptionsDescription(
const po::options_description &aDesc)
const;
320 po::options_description runOptDesc;
321 po::options_description hiddenOptDesc;
322 po::options_description genericOptDesc;
323 po::options_description physicsOptDesc;
324 po::variables_map variablesMap;
328 std::string inputFileName;
330 std::string outputFileRoot;
331 std::string fileSuffix;
332 std::string logFileName;
336 std::string targetString;
340 std::string projectileString;
346 G4int randomSeed1, randomSeed2;
347 static const G4int randomSeedMin, randomSeedMax;
349 std::string pauliString;
353 std::string coulombString;
356 std::string potentialString;
360 std::string localEnergyBBString;
363 std::string localEnergyPiString;
366 std::string deExcitationModelList;
367 std::string deExcitationOptionDescription;
368 std::string deExcitationString;
370 #ifdef INCL_DEEXCITATION_ABLAXX
371 std::string ablav3pCxxDataFilePath;
373 #ifdef INCL_DEEXCITATION_ABLA07
374 std::string abla07DataFilePath;
376 #ifdef INCL_DEEXCITATION_GEMINIXX
377 std::string geminixxDataFilePath;
379 std::string INCLXXDataFilePath;
381 std::string clusterAlgorithmString;
384 G4int clusterMaxMass;
392 std::string separationEnergyString;
395 std::string fermiMomentumString;
401 std::string rootSelectionString;
404 #ifdef INCL_DEEXCITATION_FERMI_BREAKUP
405 G4int maxMassFermiBreakUp;
409 G4double rpCorrelationCoefficientProton;
410 G4double rpCorrelationCoefficientNeutron;
413 G4double neutronSkinAdditionalDiffuseness;
DeExcitationType getDeExcitationType() const
Get the de-excitation model.
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.
G4int getTargetZ() const
Get the target charge number.
G4int getNumberOfShots() const
Get the number of shots.
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.
~Config()
Default destructor.
void setRPCorrelationCoefficient(const ParticleType t, const G4double corrCoeff)
Set the r-p correlation coefficient.
G4double getNeutronSkinAdditionalDiffuseness() const
Get the neutron-skin additional diffuseness.
G4bool isNaturalTarget() const
Natural targets.
SeparationEnergyType getSeparationEnergyType() const
Get the separation-energy type.
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.
void setNeutronSkinAdditionalDiffuseness(const G4double d)
Set the neutron-skin additional diffuseness.
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.
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 push_back(const long val)
G4bool getUseRealMasses() const
Whether to use real masses.
Config()
Default constructor.
Random::SeedVector getRandomSeeds() const
Get the seeds for the random-number generator.
ClusterAlgorithmType getClusterAlgorithm() const
Get the clustering algorithm.
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.
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.
void setNeutronSkinThickness(const G4double d)
Set the neutron-skin thickness.
CoulombType getCoulombType() const
Get the Coulomb-distortion algorithm.
G4double getNeutronSkinThickness() const
Get the neutron-skin thickness.
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.
void setUseRealMasses(G4bool use)
Set whether to use real masses.
G4double getProjectileKineticEnergy() const
Get the projectile kinetic energy.
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.