Geant4  v4-10.4-release
 모두 클래스 네임스페이스들 파일들 함수 변수 타입정의 열거형 타입 열거형 멤버 Friends 매크로 그룹들 페이지들
G4INCLConfig.hh
이 파일의 문서화 페이지로 가기
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 #ifndef G4INCLConfig_hh
39 #define G4INCLConfig_hh 1
40 
41 #include "G4INCLParticleSpecies.hh"
42 #include "G4INCLConfigEnums.hh"
44 #include <iostream>
45 #include <string>
46 #include <sstream>
47 // #include <cassert>
48 
49 class ConfigParser;
50 
51 namespace G4INCL {
52 
60  class Config {
61  public:
63  Config();
64 
66  ~Config();
67 
69  void init();
70 
72  std::string summary();
73 
75  G4int getVerbosity() const { return verbosity; }
76 
78  std::string const &getCalculationTitle() const { return title; }
79 
81  std::string const &getOutputFileRoot() const { return outputFileRoot; }
82 
84  G4int getNumberOfShots() const { return nShots; }
85 
87  G4bool isNaturalTarget() const { return naturalTarget; }
88 
94  G4int getTargetA() const { return targetSpecies.theA; }
95 
97  G4int getTargetZ() const { return targetSpecies.theZ; }
98 
100  G4int getTargetS() const { return targetSpecies.theS; }
101 
104 
107 
110 
113 
116 
119 
122 
125 
127  G4int getVerboseEvent() const { return verboseEvent; }
128 
130  static std::string const getVersionID();
131 
133  static std::string const getVersionHash();
134 
136  static std::string const getVersionString() {
137  std::stringstream ss;
138  ss << getVersionID() << "-" << getVersionHash();
139  return ss.str();
140  }
141 
144  return randomSeedVector;
145  }
146 
148  PauliType getPauliType() const { return pauliType; }
149 
151  G4bool getCDPP() const { return CDPP; }
152 
155 
157  void setCoulombType(CoulombType const c) { coulombType = c; }
158 
161 
164 
167 
169  void setPionPotential(const G4bool pionPot) { pionPotential = pionPot; }
170 
173 
176 
179 
182 
184  std::string const &getLogFileName() const { return logFileName; }
185 
188 
190  std::string getDeExcitationString() const { return deExcitationString; }
191 
194 
197 
200 
203 
206 
209 
212 
214  void setUseRealMasses(G4bool use) { useRealMasses = use; }
215 
217  void setINCLXXDataFilePath(std::string const &s) { INCLXXDataFilePath=s; }
218 
219  std::string const &getINCLXXDataFilePath() const {
220  return INCLXXDataFilePath;
221  }
222 
223 #ifdef INCL_DEEXCITATION_ABLAXX
224  std::string const &getABLAv3pCxxDataFilePath() const {
225  return ablav3pCxxDataFilePath;
226  }
227 #endif
228 
229 #ifdef INCL_DEEXCITATION_ABLA07
230  std::string const &getABLA07DataFilePath() const {
231  return abla07DataFilePath;
232  }
233 #endif
234 #ifdef INCL_DEEXCITATION_GEMINIXX
235  std::string const &getGEMINIXXDataFilePath() const {
236  return geminixxDataFilePath;
237  }
238 #endif
239 
241 
244 
247 
250 
253 
256 
257  G4double getCutNN() const { return cutNN; }
258 
259 #ifdef INCL_ROOT_USE
260  std::string const &getROOTSelectionString() const {
261  return rootSelectionString;
262  }
263 #endif
264 
265 #ifdef INCL_DEEXCITATION_FERMI_BREAKUP
266  G4int getMaxMassFermiBreakUp() const {
267  return maxMassFermiBreakUp;
268  }
269 
270  G4int getMaxChargeFermiBreakUp() const {
271  return maxChargeFermiBreakUp;
272  }
273 #endif
274 
277 // assert(t==Proton || t==Neutron);
279  }
280 
282  void setRPCorrelationCoefficient(const ParticleType t, const G4double corrCoeff) {
283 // assert(t==Proton || t==Neutron);
284  if(t==Proton)
286  else
288  }
289 
291  void setRPCorrelationCoefficient(const G4double corrCoeff) {
294  }
295 
297  G4double getNeutronSkin() const { return neutronSkin; }
298 
301 
303  G4double getNeutronHalo() const { return neutronHalo; }
304 
307 
309  G4bool getRefraction() const { return refraction; }
310 
312  void setRefraction(const G4bool r) { refraction = r; }
313 
315  RNGType getRNGType() const { return rngType; }
316 
318  void setRNGType(RNGType const r) { rngType=r; }
319 
322 
325 
328 
331 
333  unsigned int getAutosaveFrequency() const { return autosaveFrequency; }
334 
336  void setAutosaveFrequency(const unsigned int f) { autosaveFrequency=f; }
337 
340 
343 
346 
349 
352 
355 
356 #ifdef INCL_ROOT_USE
357  G4bool getConciseROOTTree() const { return conciseROOTTree; }
358 #endif
359 
361 
364 
367 
369  G4double getBias() const { return bias; }
370 
371  private:
372 
374  std::string inputFileName;
375  std::string title;
376  std::string outputFileRoot;
377  std::string fileSuffix;
378  std::string logFileName;
379 
381 
382  std::string targetString;
385 
386  std::string projectileString;
389 
391 
392  std::string randomSeeds;
394 
395  std::string pauliString;
398 
399  std::string coulombString;
401 
402  std::string potentialString;
405 
406  std::string localEnergyBBString;
408 
409  std::string localEnergyPiString;
411 
414  std::string deExcitationString;
416 #ifdef INCL_DEEXCITATION_ABLAXX
417  std::string ablav3pCxxDataFilePath;
418 #endif
419 #ifdef INCL_DEEXCITATION_ABLA07
420  std::string abla07DataFilePath;
421 #endif
422 #ifdef INCL_DEEXCITATION_GEMINIXX
423  std::string geminixxDataFilePath;
424 #endif
425  std::string INCLXXDataFilePath;
426 
429 
431 
433 
435 
437 
440 
441  std::string fermiMomentumString;
443 
445 
447 
449 
450 #ifdef INCL_ROOT_USE
451  std::string rootSelectionString;
452 #endif
453 
454 #ifdef INCL_DEEXCITATION_FERMI_BREAKUP
455  G4int maxMassFermiBreakUp;
456  G4int maxChargeFermiBreakUp;
457 #endif
458 
462 
465 
467 
470 
471  std::string phaseSpaceGenerator;
473 
474  unsigned int autosaveFrequency;
475 
476  std::string crossSectionsString;
479 
480  std::string cascadeAction;
482 
484 
485 #ifdef INCL_ROOT_USE
486  G4bool conciseROOTTree;
487 #endif
488 
490 
492 
493  friend class ::ConfigParser;
494  };
495 
496 }
497 
498 #endif
G4double decayTimeThreshold
G4double rpCorrelationCoefficientProton
void setProjectileSpecies(ParticleSpecies const &ps)
Set the projectile species.
void setCascadeActionType(CascadeActionType const c)
Set the cascade-action type.
PhaseSpaceGeneratorType getPhaseSpaceGeneratorType() const
Get the phase-space-generator type.
CoulombType getCoulombType() const
Get the Coulomb-distortion algorithm.
G4double getProjectileKineticEnergy() const
Get the projectile kinetic energy.
G4bool getUseRealMasses() const
Whether to use real masses.
std::string const & getLogFileName() const
Get the log file name.
CascadeActionType getCascadeActionType() const
Get the cascade-action type.
std::string fileSuffix
std::string title
void setRPCorrelationCoefficient(const G4double corrCoeff)
Set the r-p correlation coefficient.
void init()
Initialise the members.
Definition: G4INCLConfig.cc:51
void setTargetS(G4int S)
Set target strangess number.
void setTargetZ(G4int Z)
Set target charge number.
static std::string const getVersionString()
Get the INCL version string.
LocalEnergyType getLocalEnergyBBType() const
Get the type of local energy for N-N avatars.
G4bool getInverseKinematics() const
G4double impactParameter
G4bool inverseKinematics
void setLocalEnergyBBType(const LocalEnergyType t)
Set the type of local energy for N-N avatars.
void setPhaseSpaceGeneratorType(PhaseSpaceGeneratorType const p)
Set the phase-space-generator type.
const char * p
Definition: xmltok.h:285
std::string const & getINCLXXDataFilePath() const
void setNeutronSkin(const G4double d)
Set the neutron-skin thickness.
G4bool getPionPotential() const
Do we want the pion potential?
G4double getDecayTimeThreshold() const
Get the decay time threshold time.
void setRPCorrelationCoefficient(const ParticleType t, const G4double corrCoeff)
Set the r-p correlation coefficient.
PotentialType potentialType
PauliType getPauliType() const
Get the Pauli-blocking algorithm.
void setTargetA(G4int A)
Set target mass number.
FermiMomentumType fermiMomentumType
std::string inputFileName
G4bool getBackToSpectator() const
Get back-to-spectator.
G4int getTargetZ() const
Get the target charge number.
Definition: G4INCLConfig.hh:97
G4int getMaxNumberMultipions() const
Get the maximum number of pions for multipion collisions.
Random::SeedVector getRandomSeeds() const
Get the seeds for the random-number generator.
std::string separationEnergyString
G4double getImpactParameter() const
G4double fermiMomentum
RNGType getRNGType() const
Get the RNG type.
std::string cascadeAction
std::string getDeExcitationString() const
Get the de-excitation string.
G4double getHadronizationTime() const
Get the hadronization time.
ClusterAlgorithmType getClusterAlgorithm() const
Get the clustering algorithm.
G4bool getCDPP() const
Do we want CDPP?
double S(double temp)
G4double hadronizationTime
G4int getVerboseEvent() const
Get the number of the verbose event.
void setFermiMomentum(const G4double p)
Set the Fermi momentum.
std::string potentialString
Float_t Z
G4int getTargetA() const
Get the target mass number.
Definition: G4INCLConfig.hh:94
unsigned int getAutosaveFrequency() const
Get the autosave frequency.
void setCrossSectionsType(CrossSectionsType const c)
Set the Cross Section type.
static constexpr double m
Definition: G4SIunits.hh:129
const XML_Char * s
Definition: expat.h:262
std::string outputFileRoot
DeExcitationType getDeExcitationType() const
Get the de-excitation model.
void setINCLXXDataFilePath(std::string const &s)
Set the INCLXX datafile path.
G4double rpCorrelationCoefficient
static constexpr double ps
Definition: G4SIunits.hh:172
ParticleSpecies getProjectileSpecies() const
Get the projectile species.
double G4double
Definition: G4Types.hh:76
bool G4bool
Definition: G4Types.hh:79
std::string localEnergyPiString
std::string const & getCalculationTitle() const
Get the run title.
Definition: G4INCLConfig.hh:78
std::string const & getOutputFileRoot() const
Get the output file root.
Definition: G4INCLConfig.hh:81
void setClusterMaxMass(const G4int m)
Set the maximum mass for production of clusters.
static std::string const getVersionID()
Get the INCL version ID.
SeparationEnergyType separationEnergyType
G4double getRPCorrelationCoefficient(const ParticleType t) const
Get the r-p correlation coefficient.
PhaseSpaceGeneratorType phaseSpaceGeneratorType
std::string phaseSpaceGenerator
G4bool getRefraction() const
True if we should use refraction.
void setBackToSpectator(const G4bool b)
Set back-to-spectator.
std::string localEnergyBBString
LocalEnergyType localEnergyBBType
ParticleType getProjectileType() const
Get the projectile type.
double A(double temperature)
Float_t d
PotentialType getPotentialType() const
Get the type of the potential for nucleons.
G4double neutronSkin
static std::string const getVersionHash()
Get the INCL version hash.
std::string deExcitationOptionDescription
G4bool naturalTarget
LocalEnergyType getLocalEnergyPiType() const
Get the type of local energy for pi-N and decay avatars.
unsigned int autosaveFrequency
G4double getNeutronSkin() const
Get the neutron-skin thickness.
CrossSectionsType getCrossSectionsType() const
Get the Cross Section type.
std::string clusterAlgorithmString
CrossSectionsType crossSectionsType
G4bool isNaturalTarget() const
Natural targets.
Definition: G4INCLConfig.hh:87
void setClusterAlgorithm(ClusterAlgorithmType const c)
Set the clustering algorithm.
G4double neutronHalo
G4double getCutNN() const
G4int getNumberOfShots() const
Get the number of shots.
Definition: G4INCLConfig.hh:84
void setNeutronHalo(const G4double d)
Set the neutron-halo size.
~Config()
Default destructor.
Definition: G4INCLConfig.cc:49
G4int getClusterMaxMass() const
Get the maximum mass for production of clusters.
std::string summary()
Return a summary of the run configuration.
void setMaxNumberMultipions(const G4int n)
Set the maximum number of pions for multipion collisions.
void setLocalEnergyPiType(const LocalEnergyType t)
Set the type of local energy for N-N avatars.
int G4int
Definition: G4Types.hh:78
std::string fermiMomentumString
std::string randomSeeds
ParticleSpecies projectileSpecies
void setUseRealMasses(G4bool use)
Set whether to use real masses.
Config()
Default constructor.
Definition: G4INCLConfig.cc:45
void setHadronizationTime(const G4double t)
Set the hadronization time.
G4int getTargetS() const
Get the target strangess number.
std::string coulombString
void setProjectileKineticEnergy(G4double const kinE)
Set the projectile kinetic energy.
SeparationEnergyType getSeparationEnergyType() const
Get the separation-energy type.
CascadeActionType cascadeActionType
G4double getNeutronHalo() const
Get the neutron-halo size.
LocalEnergyType localEnergyPiType
CoulombType coulombType
std::string deExcitationModelList
G4int getVerbosity() const
Get the verbosity.
Definition: G4INCLConfig.hh:75
G4double getFermiMomentum() const
Get the Fermi momentum.
std::string pauliString
G4bool pionPotential
void setCoulombType(CoulombType const c)
Set the Coulomb-distortion algorithm.
void setRefraction(const G4bool r)
Set the refraction variable.
std::string projectileString
std::string INCLXXDataFilePath
void setAutosaveFrequency(const unsigned int f)
Set the autosave frequency.
Char_t n[5]
void setDecayTimeThreshold(const G4double t)
Set decay time threshold time.
std::string randomNumberGenerator
FermiMomentumType getFermiMomentumType() const
Get the Fermi-momentum type.
void setPionPotential(const G4bool pionPot)
Set the type of the potential for nucleons.
void setPotentialType(PotentialType type)
Set the type of the potential for nucleons.
G4double projectileKineticEnergy
std::string targetString
void setFermiMomentumType(FermiMomentumType const f)
Set the Fermi-momentum type.
ParticleSpecies targetSpecies
G4bool useRealMasses
std::string crossSectionsString
G4double getBias() const
Get the bias.
Random::SeedVector randomSeedVector
PauliType pauliType
G4int maxNumberMultipions
ClusterAlgorithmType clusterAlgorithmType
void setRNGType(RNGType const r)
Set the RNG type.
std::string logFileName
DeExcitationType deExcitationType
std::string deExcitationString
G4bool backToSpectator
G4double rpCorrelationCoefficientNeutron