Import Geant4 10.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-10 11:51:14 +02:00
parent e2d2f9810a
commit 286caacf06
12421 changed files with 730077 additions and 502383 deletions
@@ -7,7 +7,7 @@
#
# Generated on : 24/9/2010
#
# $Id: CMakeLists.txt,v 1.1 2010-09-29 19:04:03 bmorgan Exp $
# $Id: CMakeLists.txt 77301 2013-11-22 11:09:07Z gcosmo $
#
#------------------------------------------------------------------------------
@@ -0,0 +1,963 @@
---------------- g4svn ----------------
Command: svn copy --non-interactive . svn+ssh://bwendt@svn.cern.ch/reps/geant4/branches/geant4/source/processes/hadronic/models/neutron_hp/_symbols/FissFragGen -m "This message was manufactured by g4svn to create branch FissFragGen"
Committed revision 69414.
Branch created.
===========
May 6, 2013
===========
(69493) Moved Fission Fragment Generator files into include/ and src/ directories.
Ran command: svn merge -r 69414:HEAD svn+ssh://svn.cern.ch/reps/geant4/trunk/geant4/source/processes/hadronic/models/neutron_hp .
No changes made, revision 69414 remains the most recent copy from trunk.
============
May 16, 2013
============
Ran command: svn merge -r 69414:HEAD svn+ssh://bwendt@svn.cern.ch/reps/geant4/trunk/geant4/source/processes/hadronic/models/neutron_hp .
Committed changes:
svn commit -m "Comming results of merge from trunk"
Sending .
Sending FissFragGen.History
Deleting FissFragGen.History~
Sending History
Sending include/G4NeutronHPCapture.hh
Sending include/G4NeutronHPCaptureData.hh
Sending include/G4NeutronHPElastic.hh
Sending include/G4NeutronHPElasticData.hh
Sending include/G4NeutronHPFission.hh
Sending include/G4NeutronHPFissionData.hh
Sending include/G4NeutronHPInelastic.hh
Sending include/G4NeutronHPInelasticData.hh
Sending src/G4NeutronHPCapture.cc
Sending src/G4NeutronHPCaptureData.cc
Sending src/G4NeutronHPElastic.cc
Sending src/G4NeutronHPElasticData.cc
Sending src/G4NeutronHPFission.cc
Sending src/G4NeutronHPFissionData.cc
Sending src/G4NeutronHPInelastic.cc
Sending src/G4NeutronHPInelasticData.cc
Transmitting file data ..................
Committed revision 69884.
============
May 17, 2013
============
Compile errors in neutron_hp revolved around non-existant "int GetVerbosity(void)" and "void SetVerbosity(int)" in "G4NeutronHPManager.hh"
Resolved: Added missing methods to "G4HPNeutronManager.hh"
Added "G4HPNeutronManager.hh" include to:
G4NeutronHPInelasticData.cc
G4NeutronHPElasticData.cc
G4NeutronHPCaptureData.cc
G4NeutronHPFissionData.cc
============
May 21, 2013
============
Removed G4FissionFragment, will be replaced by pre-existing G4DynamicParticle
Removed G4FissionContainer, will be replaced by pre-existing G4HadFinalState
Affected classes: G4FissionFragmentGenerator, G4FissionProductYieldDist
============
May 22, 2013
============
Altered intent to use G4DynamicParticleVector instead of G4HadFinalState
Completed migration to existing Geant4 data types
Resolved compile errors in G4HPNeutronManager class
Committed changes:
svn ci -m "Finished migration to existing data types. Comitting results of merge from trunk"
Sending .
Sending FissFragGen.History
Sending History
Sending include/G4ArrayOps.hh
Sending include/G4FFGDebuggingMacros.hh
Sending include/G4FFGDefaultValues.hh
Deleting include/G4FissionContainer.hh
Deleting include/G4FissionFragment.hh
Sending include/G4FissionFragmentGenerator.hh
Sending include/G4FissionProductYieldDist.hh
Sending include/G4NeutronHPManager.hh
Sending sources.cmake
Sending src/G4FFGUserPrimaryGeneratorAction.cc
Sending src/G4FPYSamplingOps.cc
Deleting src/G4FissionContainer.cc
Deleting src/G4FissionFragment.cc
Sending src/G4FissionFragmentGenerator.cc
Sending src/G4FissionProductYieldDist.cc
Sending src/G4NeutronHPCaptureData.cc
Sending src/G4NeutronHPElasticData.cc
Sending src/G4NeutronHPFissionData.cc
Sending src/G4NeutronHPInelasticData.cc
Sending src/G4NeutronHPManager.cc
Sending src/G4ShiftedGaussian.cc
Transmitting file data ...................
Committed revision 70063.
============
June 21, 2013
============
Ran command: svn merge -r 70063:HEAD svn+ssh://bwendt@svn.cern.ch/reps/geant4/trunk/geant4/source/processes/hadronic/models/neutron_hp .
Committed changes:
svn ci -m "Committing results of merge from trunk"
Sending .
Sending CMakeLists.txt
Sending GNUmakefile
Sending History
Sending include
Sending include/G4ArrayOps.hh
Sending include/G4ENDFTapeRead.hh
Sending include/G4FFGDebuggingMacros.hh
Sending include/G4FFGDefaultValues.hh
Sending include/G4FFGEnumerations.hh
Sending include/G4FFGUPGAMessenger.hh
Sending include/G4FFGUserPrimaryGeneratorAction.hh
Sending include/G4FFGVerboseMacros.hh
Sending include/G4FPYBiasedLightFragmentDist.hh
Sending include/G4FPYNormalFragmentDist.hh
Sending include/G4FPYNubarValues.hh
Sending include/G4FPYSamplingOps.hh
Sending include/G4FPYTreeStructures.hh
Sending include/G4FissionFragmentGenerator.hh
Sending include/G4FissionProductYieldDist.hh
Sending include/G4InterpolationIterator.hh
Sending include/G4InterpolationManager.hh
Sending include/G4InterpolationScheme.hh
Sending include/G4NeutronHP2AInelasticFS.hh
Sending include/G4NeutronHP2N2AInelasticFS.hh
Sending include/G4NeutronHP2NAInelasticFS.hh
Sending include/G4NeutronHP2NDInelasticFS.hh
Sending include/G4NeutronHP2NInelasticFS.hh
Sending include/G4NeutronHP2NPInelasticFS.hh
Sending include/G4NeutronHP2PInelasticFS.hh
Sending include/G4NeutronHP3AInelasticFS.hh
Sending include/G4NeutronHP3NAInelasticFS.hh
Sending include/G4NeutronHP3NInelasticFS.hh
Sending include/G4NeutronHP3NPInelasticFS.hh
Sending include/G4NeutronHP4NInelasticFS.hh
Sending include/G4NeutronHPAInelasticFS.hh
Sending include/G4NeutronHPAngular.hh
Sending include/G4NeutronHPAngularP.hh
Sending include/G4NeutronHPArbitaryTab.hh
Sending include/G4NeutronHPBGGNucleonInelasticXS.hh
Sending include/G4NeutronHPCapture.hh
Sending include/G4NeutronHPCaptureData.hh
Sending include/G4NeutronHPCaptureFS.hh
Sending include/G4NeutronHPChannel.hh
Sending include/G4NeutronHPChannelList.hh
Sending include/G4NeutronHPContAngularPar.hh
Sending include/G4NeutronHPContEnergyAngular.hh
Sending include/G4NeutronHPD2AInelasticFS.hh
Sending include/G4NeutronHPDAInelasticFS.hh
Sending include/G4NeutronHPDInelasticFS.hh
Sending include/G4NeutronHPData.hh
Sending include/G4NeutronHPDataPoint.hh
Sending include/G4NeutronHPDataUsed.hh
Sending include/G4NeutronHPDeExGammas.hh
Sending include/G4NeutronHPDiscreteTwoBody.hh
Sending include/G4NeutronHPElastic.hh
Sending include/G4NeutronHPElasticData.hh
Sending include/G4NeutronHPElasticFS.hh
Sending include/G4NeutronHPElementData.hh
Sending include/G4NeutronHPEnAngCorrelation.hh
Sending include/G4NeutronHPEnergyDistribution.hh
Sending include/G4NeutronHPEvapSpectrum.hh
Sending include/G4NeutronHPFCFissionFS.hh
Sending include/G4NeutronHPFFFissionFS.hh
Sending include/G4NeutronHPFSFissionFS.hh
Sending include/G4NeutronHPFastLegendre.hh
Sending include/G4NeutronHPField.hh
Sending include/G4NeutronHPFieldPoint.hh
Sending include/G4NeutronHPFinalState.hh
Sending include/G4NeutronHPFission.hh
Sending include/G4NeutronHPFissionBaseFS.hh
Sending include/G4NeutronHPFissionData.hh
Sending include/G4NeutronHPFissionERelease.hh
Sending include/G4NeutronHPFissionFS.hh
Sending include/G4NeutronHPFissionSpectrum.hh
Sending include/G4NeutronHPGamma.hh
Sending include/G4NeutronHPHash.hh
Sending include/G4NeutronHPHe3InelasticFS.hh
Sending include/G4NeutronHPInelastic.hh
Sending include/G4NeutronHPInelasticBaseFS.hh
Sending include/G4NeutronHPInelasticCompFS.hh
Sending include/G4NeutronHPInelasticData.hh
Sending include/G4NeutronHPInterpolator.hh
Sending include/G4NeutronHPIsoData.hh
Sending include/G4NeutronHPIsotropic.hh
Sending include/G4NeutronHPJENDLHEData.hh
Sending include/G4NeutronHPJENDLHEElasticData.hh
Sending include/G4NeutronHPJENDLHEInelasticData.hh
Sending include/G4NeutronHPKallbachMannSyst.hh
Sending include/G4NeutronHPLCFissionFS.hh
Sending include/G4NeutronHPLabAngularEnergy.hh
Sending include/G4NeutronHPLegendreStore.hh
Sending include/G4NeutronHPLegendreTable.hh
Sending include/G4NeutronHPLevel.hh
Sending include/G4NeutronHPList.hh
Sending include/G4NeutronHPMadlandNixSpectrum.hh
Sending include/G4NeutronHPManager.hh
Sending include/G4NeutronHPN2AInelasticFS.hh
Sending include/G4NeutronHPN2PInelasticFS.hh
Sending include/G4NeutronHPN3AInelasticFS.hh
Sending include/G4NeutronHPNAInelasticFS.hh
Sending include/G4NeutronHPNBodyPhaseSpace.hh
Sending include/G4NeutronHPND2AInelasticFS.hh
Sending include/G4NeutronHPNDInelasticFS.hh
Sending include/G4NeutronHPNHe3InelasticFS.hh
Sending include/G4NeutronHPNInelasticFS.hh
Sending include/G4NeutronHPNPAInelasticFS.hh
Sending include/G4NeutronHPNPInelasticFS.hh
Sending include/G4NeutronHPNT2AInelasticFS.hh
Sending include/G4NeutronHPNTInelasticFS.hh
Sending include/G4NeutronHPNXInelasticFS.hh
Sending include/G4NeutronHPNames.hh
Sending include/G4NeutronHPNeutronYield.hh
Sending include/G4NeutronHPPAInelasticFS.hh
Sending include/G4NeutronHPPDInelasticFS.hh
Sending include/G4NeutronHPPInelasticFS.hh
Sending include/G4NeutronHPPTInelasticFS.hh
Sending include/G4NeutronHPPartial.hh
Sending include/G4NeutronHPPhotonDist.hh
Sending include/G4NeutronHPPhotonXSection.hh
Sending include/G4NeutronHPPolynomExpansion.hh
Sending include/G4NeutronHPProduct.hh
Sending include/G4NeutronHPReactionWhiteBoard.hh
Sending include/G4NeutronHPSCFissionFS.hh
Sending include/G4NeutronHPSimpleEvapSpectrum.hh
Sending include/G4NeutronHPT2AInelasticFS.hh
Sending include/G4NeutronHPTCFissionFS.hh
Sending include/G4NeutronHPTInelasticFS.hh
Sending include/G4NeutronHPThermalBoost.hh
Sending include/G4NeutronHPThermalScattering.hh
Sending include/G4NeutronHPThermalScatteringData.hh
Sending include/G4NeutronHPThermalScatteringNames.hh
Sending include/G4NeutronHPVector.hh
Sending include/G4NeutronHPWattSpectrum.hh
Sending include/G4ShiftedGaussian.hh
Sending include/G4TableTemplate.hh
Sending include/G4VNeutronHPEDis.hh
Sending include/G4VNeutronHPEnergyAngular.hh
Sending include/G4WattFissionSpectrumValues.hh
Sending sources.cmake
Sending src
Sending src/G4NeutronHPCaptureFS.cc
Sending src/G4NeutronHPFFFissionFS.cc
Sending src/G4NeutronHPThermalScattering.cc
Sending src/G4NeutronHPThermalScatteringData.cc
Sending src/G4NeutronHPThermalScatteringNames.cc
Sending test
Transmitting file data ..........
Committed revision 71740.
Created hook in G4NeutronHPChannel
Added class: G4WendtFissionFragmentGenerator
Committed changes:
svn ci -m "Added hook into G4NeutronHPChannel"
Sending FissFragGen.History
Sending include/G4ENDFYieldDataContainer.hh
Sending include/G4FissionFragmentGenerator.hh
Adding include/G4WendtFissionFragmentGenerator.hh
Sending sources.cmake
Sending src/G4FissionFragmentGenerator.cc
Sending src/G4NeutronHPChannel.cc
Adding src/G4WendtFissionFragmentGenerator.cc
Transmitting file data ........
Committed revision 71768.
============
June 28, 2013
============
Ran command: svn merge -r 71740:HEAD svn+ssh://bwendt@svn.cern.ch/reps/geant4/trunk/geant4/source/processes/hadronic/models/neutron_hp .
Committed changes:
svn ci -m "Committing results of merge from trunk"
Sending .
Sending CMakeLists.txt
Sending FissFragGen.History
Sending GNUmakefile
Sending History
Sending include
Sending include/G4ArrayOps.hh
Sending include/G4ENDFTapeRead.hh
Sending include/G4FFGDebuggingMacros.hh
Sending include/G4FFGDefaultValues.hh
Sending include/G4FFGEnumerations.hh
Sending include/G4FFGUPGAMessenger.hh
Sending include/G4FFGUserPrimaryGeneratorAction.hh
Sending include/G4FFGVerboseMacros.hh
Sending include/G4FPYBiasedLightFragmentDist.hh
Sending include/G4FPYNormalFragmentDist.hh
Sending include/G4FPYNubarValues.hh
Sending include/G4FPYSamplingOps.hh
Sending include/G4FPYTreeStructures.hh
Sending include/G4FissionFragmentGenerator.hh
Sending include/G4FissionProductYieldDist.hh
Sending include/G4InterpolationIterator.hh
Sending include/G4InterpolationManager.hh
Sending include/G4InterpolationScheme.hh
Sending include/G4NeutronHP2AInelasticFS.hh
Sending include/G4NeutronHP2N2AInelasticFS.hh
Sending include/G4NeutronHP2NAInelasticFS.hh
Sending include/G4NeutronHP2NDInelasticFS.hh
Sending include/G4NeutronHP2NInelasticFS.hh
Sending include/G4NeutronHP2NPInelasticFS.hh
Sending include/G4NeutronHP2PInelasticFS.hh
Sending include/G4NeutronHP3AInelasticFS.hh
Sending include/G4NeutronHP3NAInelasticFS.hh
Sending include/G4NeutronHP3NInelasticFS.hh
Sending include/G4NeutronHP3NPInelasticFS.hh
Sending include/G4NeutronHP4NInelasticFS.hh
Sending include/G4NeutronHPAInelasticFS.hh
Sending include/G4NeutronHPAngular.hh
Sending include/G4NeutronHPAngularP.hh
Sending include/G4NeutronHPArbitaryTab.hh
Sending include/G4NeutronHPBGGNucleonInelasticXS.hh
Sending include/G4NeutronHPCapture.hh
Sending include/G4NeutronHPCaptureData.hh
Sending include/G4NeutronHPCaptureFS.hh
Sending include/G4NeutronHPChannel.hh
Sending include/G4NeutronHPChannelList.hh
Sending include/G4NeutronHPContAngularPar.hh
Sending include/G4NeutronHPContEnergyAngular.hh
Sending include/G4NeutronHPD2AInelasticFS.hh
Sending include/G4NeutronHPDAInelasticFS.hh
Sending include/G4NeutronHPDInelasticFS.hh
Sending include/G4NeutronHPData.hh
Sending include/G4NeutronHPDataPoint.hh
Sending include/G4NeutronHPDataUsed.hh
Sending include/G4NeutronHPDeExGammas.hh
Sending include/G4NeutronHPDiscreteTwoBody.hh
Sending include/G4NeutronHPElastic.hh
Sending include/G4NeutronHPElasticData.hh
Sending include/G4NeutronHPElasticFS.hh
Sending include/G4NeutronHPElementData.hh
Sending include/G4NeutronHPEnAngCorrelation.hh
Sending include/G4NeutronHPEnergyDistribution.hh
Sending include/G4NeutronHPEvapSpectrum.hh
Sending include/G4NeutronHPFCFissionFS.hh
Sending include/G4NeutronHPFFFissionFS.hh
Sending include/G4NeutronHPFSFissionFS.hh
Sending include/G4NeutronHPFastLegendre.hh
Sending include/G4NeutronHPField.hh
Sending include/G4NeutronHPFieldPoint.hh
Sending include/G4NeutronHPFinalState.hh
Sending include/G4NeutronHPFission.hh
Sending include/G4NeutronHPFissionBaseFS.hh
Sending include/G4NeutronHPFissionData.hh
Sending include/G4NeutronHPFissionERelease.hh
Sending include/G4NeutronHPFissionFS.hh
Sending include/G4NeutronHPFissionSpectrum.hh
Sending include/G4NeutronHPGamma.hh
Sending include/G4NeutronHPHash.hh
Sending include/G4NeutronHPHe3InelasticFS.hh
Sending include/G4NeutronHPInelastic.hh
Sending include/G4NeutronHPInelasticBaseFS.hh
Sending include/G4NeutronHPInelasticCompFS.hh
Sending include/G4NeutronHPInelasticData.hh
Sending include/G4NeutronHPInterpolator.hh
Sending include/G4NeutronHPIsoData.hh
Sending include/G4NeutronHPIsotropic.hh
Sending include/G4NeutronHPJENDLHEData.hh
Sending include/G4NeutronHPJENDLHEElasticData.hh
Sending include/G4NeutronHPJENDLHEInelasticData.hh
Sending include/G4NeutronHPKallbachMannSyst.hh
Sending include/G4NeutronHPLCFissionFS.hh
Sending include/G4NeutronHPLabAngularEnergy.hh
Sending include/G4NeutronHPLegendreStore.hh
Sending include/G4NeutronHPLegendreTable.hh
Sending include/G4NeutronHPLevel.hh
Sending include/G4NeutronHPList.hh
Sending include/G4NeutronHPMadlandNixSpectrum.hh
Sending include/G4NeutronHPManager.hh
Sending include/G4NeutronHPN2AInelasticFS.hh
Sending include/G4NeutronHPN2PInelasticFS.hh
Sending include/G4NeutronHPN3AInelasticFS.hh
Sending include/G4NeutronHPNAInelasticFS.hh
Sending include/G4NeutronHPNBodyPhaseSpace.hh
Sending include/G4NeutronHPND2AInelasticFS.hh
Sending include/G4NeutronHPNDInelasticFS.hh
Sending include/G4NeutronHPNHe3InelasticFS.hh
Sending include/G4NeutronHPNInelasticFS.hh
Sending include/G4NeutronHPNPAInelasticFS.hh
Sending include/G4NeutronHPNPInelasticFS.hh
Sending include/G4NeutronHPNT2AInelasticFS.hh
Sending include/G4NeutronHPNTInelasticFS.hh
Sending include/G4NeutronHPNXInelasticFS.hh
Sending include/G4NeutronHPNames.hh
Sending include/G4NeutronHPNeutronYield.hh
Sending include/G4NeutronHPPAInelasticFS.hh
Sending include/G4NeutronHPPDInelasticFS.hh
Sending include/G4NeutronHPPInelasticFS.hh
Sending include/G4NeutronHPPTInelasticFS.hh
Sending include/G4NeutronHPPartial.hh
Sending include/G4NeutronHPPhotonDist.hh
Sending include/G4NeutronHPPhotonXSection.hh
Sending include/G4NeutronHPPolynomExpansion.hh
Sending include/G4NeutronHPProduct.hh
Sending include/G4NeutronHPReactionWhiteBoard.hh
Sending include/G4NeutronHPSCFissionFS.hh
Sending include/G4NeutronHPSimpleEvapSpectrum.hh
Sending include/G4NeutronHPT2AInelasticFS.hh
Sending include/G4NeutronHPTCFissionFS.hh
Sending include/G4NeutronHPTInelasticFS.hh
Sending include/G4NeutronHPThermalBoost.hh
Sending include/G4NeutronHPThermalScattering.hh
Sending include/G4NeutronHPThermalScatteringData.hh
Sending include/G4NeutronHPThermalScatteringNames.hh
Sending include/G4NeutronHPVector.hh
Sending include/G4NeutronHPWattSpectrum.hh
Sending include/G4ShiftedGaussian.hh
Sending include/G4TableTemplate.hh
Sending include/G4VNeutronHPEDis.hh
Sending include/G4VNeutronHPEnergyAngular.hh
Sending include/G4WattFissionSpectrumValues.hh
Sending include/G4WendtFissionFragmentGenerator.hh
Sending sources.cmake
Sending src
Sending src/G4NeutronHPChannel.cc
Sending src/G4NeutronHPThermalScatteringData.cc
Sending src/G4WendtFissionFragmentGenerator.cc
Sending test
Transmitting file data .....
Committed revision 71944.
============
July 11, 2013
============
Ran command: svn merge -r 71944:HEAD svn+ssh://bwendt@svn.cern.ch/reps/geant4/trunk/geant4/source/processes/hadronic/models/neutron_hp .
Committed changes:
svn ci -m "Committing current status of the G4FissFragGen Branch"
Sending .
Sending CMakeLists.txt
Sending FissFragGen.History
Sending GNUmakefile
Sending History
Sending include
Sending include/G4ArrayOps.hh
Sending include/G4ENDFTapeRead.hh
Sending include/G4ENDFYieldDataContainer.hh
Sending include/G4FFGDebuggingMacros.hh
Sending include/G4FFGDefaultValues.hh
Sending include/G4FFGEnumerations.hh
Sending include/G4FFGUPGAMessenger.hh
Sending include/G4FFGUserPrimaryGeneratorAction.hh
Sending include/G4FFGVerboseMacros.hh
Sending include/G4FPYBiasedLightFragmentDist.hh
Sending include/G4FPYNormalFragmentDist.hh
Sending include/G4FPYNubarValues.hh
Sending include/G4FPYSamplingOps.hh
Sending include/G4FPYTreeStructures.hh
Sending include/G4FissionFragmentGenerator.hh
Sending include/G4FissionProductYieldDist.hh
Sending include/G4InterpolationIterator.hh
Sending include/G4InterpolationManager.hh
Sending include/G4InterpolationScheme.hh
Sending include/G4NeutronHP2AInelasticFS.hh
Sending include/G4NeutronHP2N2AInelasticFS.hh
Sending include/G4NeutronHP2NAInelasticFS.hh
Sending include/G4NeutronHP2NDInelasticFS.hh
Sending include/G4NeutronHP2NInelasticFS.hh
Sending include/G4NeutronHP2NPInelasticFS.hh
Sending include/G4NeutronHP2PInelasticFS.hh
Sending include/G4NeutronHP3AInelasticFS.hh
Sending include/G4NeutronHP3NAInelasticFS.hh
Sending include/G4NeutronHP3NInelasticFS.hh
Sending include/G4NeutronHP3NPInelasticFS.hh
Sending include/G4NeutronHP4NInelasticFS.hh
Sending include/G4NeutronHPAInelasticFS.hh
Sending include/G4NeutronHPAngular.hh
Sending include/G4NeutronHPAngularP.hh
Sending include/G4NeutronHPArbitaryTab.hh
Sending include/G4NeutronHPBGGNucleonInelasticXS.hh
Sending include/G4NeutronHPCapture.hh
Sending include/G4NeutronHPCaptureData.hh
Sending include/G4NeutronHPCaptureFS.hh
Sending include/G4NeutronHPChannel.hh
Sending include/G4NeutronHPChannelList.hh
Sending include/G4NeutronHPContAngularPar.hh
Sending include/G4NeutronHPContEnergyAngular.hh
Sending include/G4NeutronHPD2AInelasticFS.hh
Sending include/G4NeutronHPDAInelasticFS.hh
Sending include/G4NeutronHPDInelasticFS.hh
Sending include/G4NeutronHPData.hh
Sending include/G4NeutronHPDataPoint.hh
Sending include/G4NeutronHPDataUsed.hh
Sending include/G4NeutronHPDeExGammas.hh
Sending include/G4NeutronHPDiscreteTwoBody.hh
Sending include/G4NeutronHPElastic.hh
Sending include/G4NeutronHPElasticData.hh
Sending include/G4NeutronHPElasticFS.hh
Sending include/G4NeutronHPElementData.hh
Sending include/G4NeutronHPEnAngCorrelation.hh
Sending include/G4NeutronHPEnergyDistribution.hh
Sending include/G4NeutronHPEvapSpectrum.hh
Sending include/G4NeutronHPFCFissionFS.hh
Sending include/G4NeutronHPFFFissionFS.hh
Sending include/G4NeutronHPFSFissionFS.hh
Sending include/G4NeutronHPFastLegendre.hh
Sending include/G4NeutronHPField.hh
Sending include/G4NeutronHPFieldPoint.hh
Sending include/G4NeutronHPFinalState.hh
Sending include/G4NeutronHPFission.hh
Sending include/G4NeutronHPFissionBaseFS.hh
Sending include/G4NeutronHPFissionData.hh
Sending include/G4NeutronHPFissionERelease.hh
Sending include/G4NeutronHPFissionFS.hh
Sending include/G4NeutronHPFissionSpectrum.hh
Sending include/G4NeutronHPGamma.hh
Sending include/G4NeutronHPHash.hh
Sending include/G4NeutronHPHe3InelasticFS.hh
Sending include/G4NeutronHPInelastic.hh
Sending include/G4NeutronHPInelasticBaseFS.hh
Sending include/G4NeutronHPInelasticCompFS.hh
Sending include/G4NeutronHPInelasticData.hh
Sending include/G4NeutronHPInterpolator.hh
Sending include/G4NeutronHPIsoData.hh
Sending include/G4NeutronHPIsotropic.hh
Sending include/G4NeutronHPJENDLHEData.hh
Sending include/G4NeutronHPJENDLHEElasticData.hh
Sending include/G4NeutronHPJENDLHEInelasticData.hh
Sending include/G4NeutronHPKallbachMannSyst.hh
Sending include/G4NeutronHPLCFissionFS.hh
Sending include/G4NeutronHPLabAngularEnergy.hh
Sending include/G4NeutronHPLegendreStore.hh
Sending include/G4NeutronHPLegendreTable.hh
Sending include/G4NeutronHPLevel.hh
Sending include/G4NeutronHPList.hh
Sending include/G4NeutronHPMadlandNixSpectrum.hh
Sending include/G4NeutronHPManager.hh
Sending include/G4NeutronHPN2AInelasticFS.hh
Sending include/G4NeutronHPN2PInelasticFS.hh
Sending include/G4NeutronHPN3AInelasticFS.hh
Sending include/G4NeutronHPNAInelasticFS.hh
Sending include/G4NeutronHPNBodyPhaseSpace.hh
Sending include/G4NeutronHPND2AInelasticFS.hh
Sending include/G4NeutronHPNDInelasticFS.hh
Sending include/G4NeutronHPNHe3InelasticFS.hh
Sending include/G4NeutronHPNInelasticFS.hh
Sending include/G4NeutronHPNPAInelasticFS.hh
Sending include/G4NeutronHPNPInelasticFS.hh
Sending include/G4NeutronHPNT2AInelasticFS.hh
Sending include/G4NeutronHPNTInelasticFS.hh
Sending include/G4NeutronHPNXInelasticFS.hh
Sending include/G4NeutronHPNames.hh
Sending include/G4NeutronHPNeutronYield.hh
Sending include/G4NeutronHPPAInelasticFS.hh
Sending include/G4NeutronHPPDInelasticFS.hh
Sending include/G4NeutronHPPInelasticFS.hh
Sending include/G4NeutronHPPTInelasticFS.hh
Sending include/G4NeutronHPPartial.hh
Sending include/G4NeutronHPPhotonDist.hh
Sending include/G4NeutronHPPhotonXSection.hh
Sending include/G4NeutronHPPolynomExpansion.hh
Sending include/G4NeutronHPProduct.hh
Sending include/G4NeutronHPReactionWhiteBoard.hh
Sending include/G4NeutronHPSCFissionFS.hh
Sending include/G4NeutronHPSimpleEvapSpectrum.hh
Sending include/G4NeutronHPT2AInelasticFS.hh
Sending include/G4NeutronHPTCFissionFS.hh
Sending include/G4NeutronHPTInelasticFS.hh
Sending include/G4NeutronHPThermalBoost.hh
Sending include/G4NeutronHPThermalScattering.hh
Sending include/G4NeutronHPThermalScatteringData.hh
Sending include/G4NeutronHPThermalScatteringNames.hh
Sending include/G4NeutronHPVector.hh
Sending include/G4NeutronHPWattSpectrum.hh
Sending include/G4ShiftedGaussian.hh
Sending include/G4TableTemplate.hh
Sending include/G4VNeutronHPEDis.hh
Sending include/G4VNeutronHPEnergyAngular.hh
Sending include/G4WattFissionSpectrumValues.hh
Sending include/G4WendtFissionFragmentGenerator.hh
Sending sources.cmake
Sending src
Sending src/G4NeutronHPChannel.cc
Sending src/G4WendtFissionFragmentGenerator.cc
Sending test
Transmitting file data .....
Committed revision 72217.
============
October 28, 2013
============
Ran command: svn merge -r 72217:HEAD svn+ssh://bwendt@svn.cern.ch/reps/geant4/trunk/geant4/source/processes/hadronic/models/neutron_hp .
Committed changes:
svn ci -m "Committing current status of the G4FissFragGen Branch"
Sending .
Sending CMakeLists.txt
Sending FissFragGen.History
Sending GNUmakefile
Sending History
Sending include
Sending include/G4ArrayOps.hh
Sending include/G4ENDFTapeRead.hh
Sending include/G4ENDFYieldDataContainer.hh
Sending include/G4FFGDebuggingMacros.hh
Sending include/G4FFGDefaultValues.hh
Sending include/G4FFGEnumerations.hh
Sending include/G4FFGUPGAMessenger.hh
Sending include/G4FFGUserPrimaryGeneratorAction.hh
Sending include/G4FFGVerboseMacros.hh
Sending include/G4FPYBiasedLightFragmentDist.hh
Sending include/G4FPYNormalFragmentDist.hh
Sending include/G4FPYNubarValues.hh
Sending include/G4FPYSamplingOps.hh
Sending include/G4FPYTreeStructures.hh
Sending include/G4FissionFragmentGenerator.hh
Sending include/G4FissionProductYieldDist.hh
Sending include/G4InterpolationIterator.hh
Sending include/G4InterpolationManager.hh
Sending include/G4InterpolationScheme.hh
Sending include/G4NeutronHP2AInelasticFS.hh
Sending include/G4NeutronHP2N2AInelasticFS.hh
Sending include/G4NeutronHP2NAInelasticFS.hh
Sending include/G4NeutronHP2NDInelasticFS.hh
Sending include/G4NeutronHP2NInelasticFS.hh
Sending include/G4NeutronHP2NPInelasticFS.hh
Sending include/G4NeutronHP2PInelasticFS.hh
Sending include/G4NeutronHP3AInelasticFS.hh
Sending include/G4NeutronHP3NAInelasticFS.hh
Sending include/G4NeutronHP3NInelasticFS.hh
Sending include/G4NeutronHP3NPInelasticFS.hh
Sending include/G4NeutronHP4NInelasticFS.hh
Sending include/G4NeutronHPAInelasticFS.hh
Sending include/G4NeutronHPAngular.hh
Sending include/G4NeutronHPAngularP.hh
Sending include/G4NeutronHPArbitaryTab.hh
Sending include/G4NeutronHPBGGNucleonInelasticXS.hh
Sending include/G4NeutronHPCapture.hh
Sending include/G4NeutronHPCaptureData.hh
Sending include/G4NeutronHPCaptureFS.hh
Sending include/G4NeutronHPChannel.hh
Sending include/G4NeutronHPChannelList.hh
Sending include/G4NeutronHPContAngularPar.hh
Sending include/G4NeutronHPContEnergyAngular.hh
Sending include/G4NeutronHPD2AInelasticFS.hh
Sending include/G4NeutronHPDAInelasticFS.hh
Sending include/G4NeutronHPDInelasticFS.hh
Sending include/G4NeutronHPData.hh
Sending include/G4NeutronHPDataPoint.hh
Sending include/G4NeutronHPDataUsed.hh
Sending include/G4NeutronHPDeExGammas.hh
Sending include/G4NeutronHPDiscreteTwoBody.hh
Sending include/G4NeutronHPElastic.hh
Sending include/G4NeutronHPElasticData.hh
Sending include/G4NeutronHPElasticFS.hh
Sending include/G4NeutronHPElementData.hh
Sending include/G4NeutronHPEnAngCorrelation.hh
Sending include/G4NeutronHPEnergyDistribution.hh
Sending include/G4NeutronHPEvapSpectrum.hh
Sending include/G4NeutronHPFCFissionFS.hh
Sending include/G4NeutronHPFFFissionFS.hh
Sending include/G4NeutronHPFSFissionFS.hh
Sending include/G4NeutronHPFastLegendre.hh
Sending include/G4NeutronHPField.hh
Sending include/G4NeutronHPFieldPoint.hh
Sending include/G4NeutronHPFinalState.hh
Sending include/G4NeutronHPFission.hh
Sending include/G4NeutronHPFissionBaseFS.hh
Sending include/G4NeutronHPFissionData.hh
Sending include/G4NeutronHPFissionERelease.hh
Sending include/G4NeutronHPFissionFS.hh
Sending include/G4NeutronHPFissionSpectrum.hh
Sending include/G4NeutronHPGamma.hh
Sending include/G4NeutronHPHash.hh
Sending include/G4NeutronHPHe3InelasticFS.hh
Sending include/G4NeutronHPInelastic.hh
Sending include/G4NeutronHPInelasticBaseFS.hh
Sending include/G4NeutronHPInelasticCompFS.hh
Sending include/G4NeutronHPInelasticData.hh
Sending include/G4NeutronHPInterpolator.hh
Sending include/G4NeutronHPIsoData.hh
Sending include/G4NeutronHPIsotropic.hh
Sending include/G4NeutronHPJENDLHEData.hh
Sending include/G4NeutronHPJENDLHEElasticData.hh
Sending include/G4NeutronHPJENDLHEInelasticData.hh
Sending include/G4NeutronHPKallbachMannSyst.hh
Sending include/G4NeutronHPLCFissionFS.hh
Sending include/G4NeutronHPLabAngularEnergy.hh
Sending include/G4NeutronHPLegendreStore.hh
Sending include/G4NeutronHPLegendreTable.hh
Sending include/G4NeutronHPLevel.hh
Sending include/G4NeutronHPList.hh
Sending include/G4NeutronHPMadlandNixSpectrum.hh
Sending include/G4NeutronHPManager.hh
Sending include/G4NeutronHPN2AInelasticFS.hh
Sending include/G4NeutronHPN2PInelasticFS.hh
Sending include/G4NeutronHPN3AInelasticFS.hh
Sending include/G4NeutronHPNAInelasticFS.hh
Sending include/G4NeutronHPNBodyPhaseSpace.hh
Sending include/G4NeutronHPND2AInelasticFS.hh
Sending include/G4NeutronHPNDInelasticFS.hh
Sending include/G4NeutronHPNHe3InelasticFS.hh
Sending include/G4NeutronHPNInelasticFS.hh
Sending include/G4NeutronHPNPAInelasticFS.hh
Sending include/G4NeutronHPNPInelasticFS.hh
Sending include/G4NeutronHPNT2AInelasticFS.hh
Sending include/G4NeutronHPNTInelasticFS.hh
Sending include/G4NeutronHPNXInelasticFS.hh
Sending include/G4NeutronHPNames.hh
Sending include/G4NeutronHPNeutronYield.hh
Sending include/G4NeutronHPPAInelasticFS.hh
Sending include/G4NeutronHPPDInelasticFS.hh
Sending include/G4NeutronHPPInelasticFS.hh
Sending include/G4NeutronHPPTInelasticFS.hh
Sending include/G4NeutronHPPartial.hh
Sending include/G4NeutronHPPhotonDist.hh
Sending include/G4NeutronHPPhotonXSection.hh
Sending include/G4NeutronHPPolynomExpansion.hh
Sending include/G4NeutronHPProduct.hh
Sending include/G4NeutronHPReactionWhiteBoard.hh
Sending include/G4NeutronHPSCFissionFS.hh
Sending include/G4NeutronHPSimpleEvapSpectrum.hh
Sending include/G4NeutronHPT2AInelasticFS.hh
Sending include/G4NeutronHPTCFissionFS.hh
Sending include/G4NeutronHPTInelasticFS.hh
Sending include/G4NeutronHPThermalBoost.hh
Sending include/G4NeutronHPThermalScattering.hh
Sending include/G4NeutronHPThermalScatteringData.hh
Sending include/G4NeutronHPThermalScatteringNames.hh
Sending include/G4NeutronHPVector.hh
Sending include/G4NeutronHPWattSpectrum.hh
Sending include/G4ShiftedGaussian.hh
Sending include/G4TableTemplate.hh
Sending include/G4VNeutronHPEDis.hh
Sending include/G4VNeutronHPEnergyAngular.hh
Sending include/G4WattFissionSpectrumValues.hh
Sending include/G4WendtFissionFragmentGenerator.hh
Sending sources.cmake
Sending src
Sending src/G4NeutronHPCaptureFS.cc
Sending src/G4NeutronHPChannel.cc
Sending src/G4NeutronHPChannelList.cc
Sending src/G4NeutronHPContAngularPar.cc
Sending src/G4NeutronHPElasticFS.cc
Sending src/G4NeutronHPFinalState.cc
Sending src/G4NeutronHPFissionFS.cc
Sending src/G4NeutronHPInelasticBaseFS.cc
Sending src/G4NeutronHPInelasticCompFS.cc
Sending src/G4NeutronHPIsotropic.cc
Sending src/G4WendtFissionFragmentGenerator.cc
Sending test
Transmitting file data ...............
Committed revision 75136.
Started all over - checked out trunk, switched to tag hadr-hpn-V09-06-17, switched to branch FissFragGen
============
October 30, 2013
============
FissionFragmentGenerator::GenerateFission(int, const G4HadProjectile&) now verifies the projectile is a neutron
============
October 31 - November 04, 2013
============
Converted ENDFTapeRead to read in the Geant4 ENDL data files
Finished singleton object G4WendtFissionFragmentGenerator than manages the creation of isotope specific G4FissionFragmentGenerator/G4FissionProductYieldDist paired classes
Completed integration into Neutron_HP model - TODO comments left in areas identified as needing future work
============
November 5, 2013
============
Ran command: svn merge -r 75136:HEAD svn+ssh://bwendt@svn.cern.ch/reps/geant4/trunk/geant4/source/processes/hadronic/models/neutron_hp .
============
November 6, 2013
============
Tatsumi KOI
Merging r67926 through r69414 into working copy
by command
svn merge -r 1:75649 svn+ssh://svn.cern.ch/reps/geant4/trunk/geant4/source/processes/hadronic/models/neutron_hp
Solve all 21 conflictions by hands
svn ci
Sending .
Sending CMakeLists.txt
Sending FissFragGen.History
Sending GNUmakefile
Sending History
Sending include
Sending include/G4ArrayOps.hh
Sending include/G4ENDFTapeRead.hh
Sending include/G4ENDFYieldDataContainer.hh
Sending include/G4FFGDebuggingMacros.hh
Sending include/G4FFGDefaultValues.hh
Sending include/G4FFGEnumerations.hh
Sending include/G4FFGUPGAMessenger.hh
Sending include/G4FFGUserPrimaryGeneratorAction.hh
Sending include/G4FFGVerboseMacros.hh
Sending include/G4FPYBiasedLightFragmentDist.hh
Sending include/G4FPYNormalFragmentDist.hh
Sending include/G4FPYNubarValues.hh
Sending include/G4FPYSamplingOps.hh
Sending include/G4FPYTreeStructures.hh
Sending include/G4FissionFragmentGenerator.hh
Sending include/G4FissionProductYieldDist.hh
Sending include/G4InterpolationIterator.hh
Sending include/G4InterpolationManager.hh
Sending include/G4InterpolationScheme.hh
Sending include/G4NeutronHP2AInelasticFS.hh
Sending include/G4NeutronHP2N2AInelasticFS.hh
Sending include/G4NeutronHP2NAInelasticFS.hh
Sending include/G4NeutronHP2NDInelasticFS.hh
Sending include/G4NeutronHP2NInelasticFS.hh
Sending include/G4NeutronHP2NPInelasticFS.hh
Sending include/G4NeutronHP2PInelasticFS.hh
Sending include/G4NeutronHP3AInelasticFS.hh
Sending include/G4NeutronHP3NAInelasticFS.hh
Sending include/G4NeutronHP3NInelasticFS.hh
Sending include/G4NeutronHP3NPInelasticFS.hh
Sending include/G4NeutronHP4NInelasticFS.hh
Sending include/G4NeutronHPAInelasticFS.hh
Sending include/G4NeutronHPAngular.hh
Sending include/G4NeutronHPAngularP.hh
Sending include/G4NeutronHPArbitaryTab.hh
Sending include/G4NeutronHPBGGNucleonInelasticXS.hh
Sending include/G4NeutronHPCapture.hh
Sending include/G4NeutronHPCaptureData.hh
Sending include/G4NeutronHPCaptureFS.hh
Sending include/G4NeutronHPChannel.hh
Sending include/G4NeutronHPChannelList.hh
Sending include/G4NeutronHPContAngularPar.hh
Sending include/G4NeutronHPContEnergyAngular.hh
Sending include/G4NeutronHPD2AInelasticFS.hh
Sending include/G4NeutronHPDAInelasticFS.hh
Sending include/G4NeutronHPDInelasticFS.hh
Sending include/G4NeutronHPData.hh
Sending include/G4NeutronHPDataPoint.hh
Sending include/G4NeutronHPDataUsed.hh
Sending include/G4NeutronHPDeExGammas.hh
Sending include/G4NeutronHPDiscreteTwoBody.hh
Sending include/G4NeutronHPElastic.hh
Sending include/G4NeutronHPElasticData.hh
Sending include/G4NeutronHPElasticFS.hh
Sending include/G4NeutronHPElementData.hh
Sending include/G4NeutronHPEnAngCorrelation.hh
Sending include/G4NeutronHPEnergyDistribution.hh
Sending include/G4NeutronHPEvapSpectrum.hh
Sending include/G4NeutronHPFCFissionFS.hh
Sending include/G4NeutronHPFFFissionFS.hh
Sending include/G4NeutronHPFSFissionFS.hh
Sending include/G4NeutronHPFastLegendre.hh
Sending include/G4NeutronHPField.hh
Sending include/G4NeutronHPFieldPoint.hh
Sending include/G4NeutronHPFinalState.hh
Sending include/G4NeutronHPFission.hh
Sending include/G4NeutronHPFissionBaseFS.hh
Sending include/G4NeutronHPFissionData.hh
Sending include/G4NeutronHPFissionERelease.hh
Sending include/G4NeutronHPFissionFS.hh
Sending include/G4NeutronHPFissionSpectrum.hh
Sending include/G4NeutronHPGamma.hh
Sending include/G4NeutronHPHash.hh
Sending include/G4NeutronHPHe3InelasticFS.hh
Sending include/G4NeutronHPInelastic.hh
Sending include/G4NeutronHPInelasticBaseFS.hh
Sending include/G4NeutronHPInelasticCompFS.hh
Sending include/G4NeutronHPInelasticData.hh
Sending include/G4NeutronHPInterpolator.hh
Sending include/G4NeutronHPIsoData.hh
Sending include/G4NeutronHPIsotropic.hh
Sending include/G4NeutronHPJENDLHEData.hh
Sending include/G4NeutronHPJENDLHEElasticData.hh
Sending include/G4NeutronHPJENDLHEInelasticData.hh
Sending include/G4NeutronHPKallbachMannSyst.hh
Sending include/G4NeutronHPLCFissionFS.hh
Sending include/G4NeutronHPLabAngularEnergy.hh
Sending include/G4NeutronHPLegendreStore.hh
Sending include/G4NeutronHPLegendreTable.hh
Sending include/G4NeutronHPLevel.hh
Sending include/G4NeutronHPList.hh
Sending include/G4NeutronHPMadlandNixSpectrum.hh
Sending include/G4NeutronHPManager.hh
Sending include/G4NeutronHPN2AInelasticFS.hh
Sending include/G4NeutronHPN2PInelasticFS.hh
Sending include/G4NeutronHPN3AInelasticFS.hh
Sending include/G4NeutronHPNAInelasticFS.hh
Sending include/G4NeutronHPNBodyPhaseSpace.hh
Sending include/G4NeutronHPND2AInelasticFS.hh
Sending include/G4NeutronHPNDInelasticFS.hh
Sending include/G4NeutronHPNHe3InelasticFS.hh
Sending include/G4NeutronHPNInelasticFS.hh
Sending include/G4NeutronHPNPAInelasticFS.hh
Sending include/G4NeutronHPNPInelasticFS.hh
Sending include/G4NeutronHPNT2AInelasticFS.hh
Sending include/G4NeutronHPNTInelasticFS.hh
Sending include/G4NeutronHPNXInelasticFS.hh
Sending include/G4NeutronHPNames.hh
Sending include/G4NeutronHPNeutronYield.hh
Sending include/G4NeutronHPPAInelasticFS.hh
Sending include/G4NeutronHPPDInelasticFS.hh
Sending include/G4NeutronHPPInelasticFS.hh
Sending include/G4NeutronHPPTInelasticFS.hh
Sending include/G4NeutronHPPartial.hh
Sending include/G4NeutronHPPhotonDist.hh
Sending include/G4NeutronHPPhotonXSection.hh
Sending include/G4NeutronHPPolynomExpansion.hh
Sending include/G4NeutronHPProduct.hh
Sending include/G4NeutronHPReactionWhiteBoard.hh
Sending include/G4NeutronHPSCFissionFS.hh
Sending include/G4NeutronHPSimpleEvapSpectrum.hh
Sending include/G4NeutronHPT2AInelasticFS.hh
Sending include/G4NeutronHPTCFissionFS.hh
Sending include/G4NeutronHPTInelasticFS.hh
Sending include/G4NeutronHPThermalBoost.hh
Sending include/G4NeutronHPThermalScattering.hh
Sending include/G4NeutronHPThermalScatteringData.hh
Sending include/G4NeutronHPThermalScatteringNames.hh
Sending include/G4NeutronHPVector.hh
Sending include/G4NeutronHPWattSpectrum.hh
Sending include/G4ShiftedGaussian.hh
Sending include/G4TableTemplate.hh
Sending include/G4VNeutronHPEDis.hh
Sending include/G4VNeutronHPEnergyAngular.hh
Sending include/G4WattFissionSpectrumValues.hh
Sending sources.cmake
Sending src
Sending src/G4NeutronHPAngular.cc
Sending src/G4NeutronHPCapture.cc
Sending src/G4NeutronHPCaptureData.cc
Sending src/G4NeutronHPCaptureFS.cc
Sending src/G4NeutronHPContAngularPar.cc
Sending src/G4NeutronHPDeExGammas.cc
Sending src/G4NeutronHPElasticData.cc
Sending src/G4NeutronHPElasticFS.cc
Sending src/G4NeutronHPElementData.cc
Sending src/G4NeutronHPFFFissionFS.cc
Sending src/G4NeutronHPFSFissionFS.cc
Sending src/G4NeutronHPFissionBaseFS.cc
Sending src/G4NeutronHPFissionData.cc
Sending src/G4NeutronHPGamma.cc
Sending src/G4NeutronHPInelasticBaseFS.cc
Sending src/G4NeutronHPInelasticCompFS.cc
Sending src/G4NeutronHPInelasticData.cc
Sending src/G4NeutronHPIsoData.cc
Sending src/G4NeutronHPIsotropic.cc
Sending src/G4NeutronHPLabAngularEnergy.cc
Sending src/G4NeutronHPList.cc
Sending src/G4NeutronHPManager.cc
Sending src/G4NeutronHPNames.cc
Sending src/G4NeutronHPPhotonDist.cc
Sending src/G4NeutronHPThermalScattering.cc
Sending test
Transmitting file data ................................................................
Committed revision 75909.
============
November 7, 2013
============
Tatsumi KOI
Fix compilation errors on Windows platform
ending FissFragGen.History
Sending src/G4ENDFYieldDataContainer.cc
Sending src/G4FPYSamplingOps.cc
Sending src/G4FissionProductYieldDist.cc
Transmitting file data ....
Committed revision 76060.
Brycen Wendt
Fixed data reading
Still Seg Fault in G4FissionProductYieldDist::SampleNeutronEnergies() when running test11
@@ -1,4 +1,4 @@
# $Id: GNUmakefile,v 1.4 2005-11-22 01:50:12 tkoi Exp $
# $Id: GNUmakefile 77301 2013-11-22 11:09:07Z gcosmo $
# -----------------------------------------------------------
# GNUmakefile for hadronic library. Gabriele Cosmo, 18/9/96.
# -----------------------------------------------------------
@@ -35,7 +35,8 @@ CPPFLAGS += -I$(G4BASE)/global/management/include \
-I$(G4BASE)/particles/hadrons/mesons/include \
-I$(G4BASE)/particles/hadrons/barions/include \
-I$(G4BASE)/particles/hadrons/ions/include \
-I$(G4BASE)/materials/include
-I$(G4BASE)/materials/include \
-I$(G4BASE)/intercoms/include
include $(G4INSTALL)/config/common.gmk
@@ -14,6 +14,206 @@ code and to keep track of all tags.
* Please list in reverse chronological order (last date on top)
---------------------------------------------------------------
21 November 2013 John Apostolakis (hadr-hpn-V09-06-24)
Made the data arrays 'const' in place of G4ThreadLocal.
in G4NeutronHPFastLegendre (and its subfiles)
12 November 2013 Tatsumi Koi (hadr-hpn-V09-06-23)
Fix compiler warnings:
include/G4ENDFTapeRead.hh
src/G4WendtFissionFragmentGenerator.cc
src/G4ENDFTapeRead.cc
10 November 2013 Tatsumi Koi (hadr-hpn-V09-06-22)
Fix compiler warnings:
src/G4WendtFissionFragmentGenerator.cc
src/G4FPYBiasedLightFragmentDist.cc
src/G4FPYSamplingOps.cc
src/G4FissionProductYieldDist.cc
Fix on problems on gnumake
GNUmakefile
8 November 2013 Tatsumi Koi (hadr-hpn-V09-06-21)
Fix problem on Wendt model
src/G4FPYSamplingOps.cc
src/G4FissionProductYieldDist.cc
src/G4FissionFragmentGenerator.cc
src/G4WendtFissionFragmentGenerator.cc
src/G4NeutronHPChannel.cc
src/G4NeutronHPFission.cc
8 November 2013 Tatsumi Koi (hadr-hpn-V09-06-20)
Merging branch of "FissFragGen" for update of fix for windows platform and reading data file in Wendt model
-%svn merge --dry-run -r 75913:76341 svn+ssh://svn.cern.ch/reps/geant4/branches/geant4/source/processes/hadronic/models/neutron_hp/_symbols/FissFragGen
7 November 2013 Tatsumi Koi (hadr-hpn-V09-06-19)
Merging branch of "FissFragGen" where fission fragments generator is developed
-%svn merge -r 69414:75913 svn+ssh://svn.cern.ch/reps/geant4/branches/geant4/source/processes/hadronic/models/neutron_hp/_symbols/FissFragGen
Please read FissFragGen.History for detail information
31 October 2013 Tatsumi Koi (hadr-hpn-V09-06-18)
-Fix problem on Windows platform to echo environment variable
src/G4NeutronHPInelasticBaseFS.cc
15 October 2013 Tatsumi Koi (hadr-hpn-V09-06-17)
-Change G4ParticleTable::GetParticleTable()->GetIon(,,)
to G4IonTable::GetIonTable()->GetIon(,,);
src/G4NeutronHPFinalState.cc
src/G4NeutronHPInelasticBaseFS.cc
src/G4NeutronHPFissionFS.cc
src/G4NeutronHPIsotropic.cc
src/G4NeutronHPCaptureFS.cc
src/G4NeutronHPChannelList.cc
src/G4NeutronHPInelasticCompFS.cc
src/G4NeutronHPElasticFS.cc
src/G4NeutronHPContAngularPar.cc
12 Jun 2013 Tatsumi Koi (hadr-hpn-V09-06-16)
-Fix for warning message
src/G4NeutronHPThermalScatteringData.cc
10 Jun 2013 Tatsumi Koi (hadr-hpn-V09-06-15)
-Fix "UNINIT", "FORWARD_NULL"
src/G4NeutronHPThermalScattering.cc
-Replace "abs" to "fabs"
src/G4NeutronHPThermalScatteringData.cc
7 Jun 2013 Tatsumi Koi (hadr-hpn-V09-06-14)
-Fix for hadr-hpn-V09-06-13
src/G4NeutronHPThermalScattering.cc
-Fix for "INVALIDATE_ITERATOR"
-Enable to use single temperature data file
src/G4NeutronHPThermalScatteringData.cc
-Fix for extrapolation problem reported by CIEMAT group
src/G4NeutronHPThermalScattering.cc
-Add trick for fixing problem in dynamically generated materials
include/G4NeutronHPThermalScattering.hh
src/G4NeutronHPThermalScattering.cc
29 May 2013 Tatsumi Koi (hadr-hpn-V09-06-13)
-Adding a capability register user prepared thermal scattering file
include/G4NeutronHPThermalScatteringNames.hh
include/G4NeutronHPThermalScatteringData.hh
include/G4NeutronHPThermalScattering.hh
src/G4NeutronHPThermalScatteringData.cc
src/G4NeutronHPThermalScattering.cc
src/G4NeutronHPThermalScatteringNames.cc
28 May 2013 Tatsumi Koi (hadr-hpn-V09-06-12)
-Adding a capability to disable adjustment of final state photons in capture
Fix for Bugzilla #1279
include/G4NeutronHPFinalState.hh
src/G4NeutronHPCaptureFS.cc
17 May 2013 Tatsumi Koi (hadr-hpn-V09-06-11)
- Activate capability of reading zlibed data file
src/G4NeutronHPManager.cc
7 May 2013 Tatsumi Koi (hadr-hpn-V09-06-10)
- Making GetVerboseLevel into const member function
2 May 2013 Tatsumi Koi (hadr-hpn-V09-06-09)
Add package-wide verbose level control
Sharing one value on entire package
include/G4NeutronHPManager.hh
include/G4NeutronHPCapture.hh
include/G4NeutronHPCaptureData.hh
include/G4NeutronHPElastic.hh
include/G4NeutronHPElasticData.hh
include/G4NeutronHPFission.hh
include/G4NeutronHPFissionData.hh
include/G4NeutronHPInelastic.hh
include/G4NeutronHPInelasticData.hh
src/G4NeutronHPManager.cc
src/G4NeutronHPCapture.cc
src/G4NeutronHPCaptureData.cc
src/G4NeutronHPElastic.cc
src/G4NeutronHPElasticData.cc
src/G4NeutronHPFission.cc
src/G4NeutronHPFissionData.cc
src/G4NeutronHPInelastic.cc
src/G4NeutronHPInelasticData.cc
Delete (Comment out) BuildPhysicsTable from constructor
src/G4NeutronHPCaptureData.cc
src/G4NeutronHPElasticData.cc
src/G4NeutronHPFissionData.cc
src/G4NeutronHPInelasticData.cc
Construction for UR-14
src/G4NeutronHPName.cc
30 April 2013 Tatsumi Koi (hadr-hpn-V09-06-08)
Fix UNINIT_CTOR "theBuffer"
src/G4NeutronHPElementData.cc
Replace std::cout to G4cout
src/G4NeutronHPThermalScattering.cc
16 April 2013 Tatsumi Koi (hadr-hpn-V09-06-07)
Deactivate capability of reading zlibed G4NEUTRONHPDATA library
src/G4NeutronHPManager.cc
16 April 2013 Tatsumi Koi (hadr-hpn-V09-06-06)
Merging branch of "hpz" which enable to read zlibed data files
Step 1 merge trunk to the branch
svn merge -r 67425:68410 svn+ssh://svn.cern.ch/reps/geant4/trunk/geant4/source/processes/hadronic/models/neutron_hp
Step 2 merge the branch to trunk
g4svn merge --branch hpz
Step 3 restore test before commit
svn update --force test
Step 4
svn commit
26 March 2013 Ben Morgan (hadr-hpn-V09-06-05)
- sources.cmake : Use new ZLIB variables for include paths and library
links to allow transparent use of internal/external zlib.
NB: The code does not use ZLIB at present, but this patch allows
usage from now on as you require.
12 March 2013 Dennis Wright (hadr-hpn-V09-06-04)
- fix MacOS Clang compiler warnings:
G4NeutronHPCapture.hh : remove unused private variable "it"
G4NeutronHPCaptureFS.hh : remove unused private variables "theCurrentA"
and "theCurrentZ"
G4NeutronHPThermalScattering.hh : remove unused private variable "xSec"
and "numEle"
9 January 2013 Tatsumi Koi (hadr-hpn-V09-06-03)
Fixed improper use of abort()
src/G4NeutronHPThermalScattering.cc
11 December 2012 Tatsumi Koi (hadr-hpn-V09-06-02)
Delete HP or Low Energy Parameterization Models and data sets from sources.cmake
6 December 2012 Tatsumi Koi (hadr-hpn-V09-06-01)
Delete HP or Low Energy Parameterization Models and data sets from repository
6 December 2012 Tatsumi Koi (hadr-hpn-V09-06-00)
Delete legacy lines for cvs
29 November 2012 Alberto Ribon (hadr-hpn-V09-05-26)
Added protection against negative argument in square root
src/G4NeutronHPInelasticCompFS.cc
@@ -0,0 +1,228 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/*
* File: G4ArrayOps.hh
* Author: B. Wendt (wendbryc@isu.edu)
*
* Created on July 28, 2012, 16:08
*/
// All the arrays that use the functions in this namespace MUST have a
// [] (bracket) operator for element-wise access
#ifndef G4ARRAYOPS_HH
#define G4ARRAYOPS_HH
#include <vector>
#include "globals.hh"
/** G4ArrayOps is a namespace that provides template functions for
* performing basic arithmatic operations on any data type that
* is accessed with the [] operator.
*/
namespace G4ArrayOps
{
/** Set's all the values in an array to a constant */
template< class T >
void Set( G4int Elements,
T* To,
T Value )
{
for(G4int position = 0; position < Elements; position++)
{
To[position] = Value;
}
}
/** Copy values from one array to another */
template< class T >
void Copy( G4int Elements,
T* To,
T* From )
{
for(G4int position = 0; position < Elements; position++)
{
To[position] = From[position];
}
}
/** Add two arrays together. If the second array is NULL then the
* 'To' array is used as if the function were the += operator.
*/
template< class T >
void Add( G4int Elements,
T* To,
T* A1,
T* A2 = NULL )
{
if(A2 == NULL)
{
A2 = To;
}
for(G4int position = 0; position < Elements; position++)
{
To[position] = A2[position] + A1[position];
}
}
/** Add a constant to an array. If the second array is NULL then the
* 'To' array is used as if the function were the += operator.
*/
template< class T >
void Add( G4int Elements,
T* To,
T A1,
T* A2 = NULL )
{
if(A2 == NULL)
{
A2 = To;
}
for(G4int position = 0; position < Elements; position++)
{
To[position] = A1 + A2[position];
}
}
/** Subtract an array from another. If the second array is NULL then the
* 'To' array is used as if the function were the -= operator.
*/
template< class T >
void Subtract( G4int Elements,
T* To,
T* Minuend,
T* Subtrahend = NULL )
{
if(Subtrahend == NULL)
{
Subtrahend = Minuend;
Minuend = To;
}
for(G4int position = 0; position < Elements; position++)
{
To[position] = Minuend[position] - Subtrahend[position];
}
}
/** Multiply two arrays together. If the second array is NULL then the
* 'To' array is used as if the function were the *= operator.
*/
template< class T >
void Multiply( G4int Elements,
T* To,
T* M1,
T* M2 = NULL )
{
if(M2 == NULL)
{
M2 = To;
}
for(G4int position = 0; position < Elements; position++)
{
To[position] = M2[position] * M1[position];
}
}
/** Multiply an array by a constant. If the second array is NULL then the
* 'To' array is used as if the function were the *= operator.
*/
template< class T >
void Multiply( G4int Elements,
T* To,
T M1,
T* M2 = NULL )
{
if(M2 == NULL)
{
M2 = To;
}
for(G4int position = 0; position < Elements; position++)
{
To[position] = M2[position] * M1;
}
}
/** Divide an array by another. If the second array is NULL then the
* 'To' array is used as if the function were the /= operator.
*/
template< class T >
void Divide( G4int Elements,
T* To,
T* Numerator,
T* Denominator = NULL )
{
if(Denominator == NULL)
{
Denominator = Numerator;
Numerator = To;
}
for(G4int position = 0; position < Elements; position++)
{
To[position] = Numerator[position] / Denominator[position];
}
}
/** Divide a constant by an array. If the second array is NULL then the
* 'To' array is used as if the function were the /= operator.
*/
template< class T >
void Divide( G4int Elements,
T* To,
T Numerator,
T* Denominator = NULL )
{
if(Denominator == NULL)
{
Denominator = To;
}
for(G4int position = 0; position < Elements; position++)
{
To[position] = Numerator / Denominator[position];
}
}
template< class T >
void DeleteVectorOfPointers( std::vector< T >& Vector )
{
for(unsigned int i = 0; i < Vector.size(); i++)
{
delete Vector[i];
}
delete &Vector;
}
}
#endif /** G4ARRAYOPS_HH */
@@ -0,0 +1,175 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/*
* File: G4ENDFTapeRead.hh
* Author: B. Wendt (wendbryc@isu.edu)
*
* Created on September 6, 2011, 10:01 AM
*/
#ifndef G4ENDFTAPEREAD_HH
#define G4ENDFTAPEREAD_HH
#include "globals.hh"
#include "G4ENDFYieldDataContainer.hh"
#include "G4FFGEnumerations.hh"
#include "G4TableTemplate.hh"
/** G4ENDFTapeRead is a class designed to read in data from unformatted ENDF data
* tapes for MT = 454 or MT = 459, which correspond to independent fission
* yields and cumulative fission yields, respectively. The data is stored
* internally and can be recalled one product at a time by calling
* G4GetNextYield().
*/
class G4ENDFTapeRead
{
public:
// Constructor definition
/** Default constructor
* - Usage:
* - \p FileLocation: the absolute path to the file
* - \p FileName: the name of the data file
* - \p WhichYield: \p INDEPENDENT or \p CUMULATIVE
* - \p WhichCause: \p SPONTANEOUS or \p N_INDUCED
*
* - Notes: The data will be read in immediately upon construction.
*/
G4ENDFTapeRead( G4String FileLocation,
G4String FileName,
G4FFGEnumerations::YieldType WhichYield,
G4FFGEnumerations::FissionCause WhichCause );
/** Overloaded constructor
* - Usage:
* - \p FileLocation: the absolute path to the file
* - \p FileName: the name of the data file
* - \p WhichYield: \p INDEPENDENT or \p CUMULATIVE
* - \p WhichCause: \p SPONTANEOUS or \p N_INDUCED
* - \p Verbosity: Verbosity level
*
* - Notes: The data will be read in immediately upon construction.
*/
G4ENDFTapeRead( G4String FileLocation,
G4String FileName,
G4FFGEnumerations::YieldType WhichYield,
G4FFGEnumerations::FissionCause WhichCause,
G4int Verbosity );
/** Overloaded constructor
* - Usage:
* - \p DataFile: The absolute path to the data file
* - \p WhichYield: \p INDEPENDENT or \p CUMULATIVE
* - \p WhichCause: \p SPONTANEOUS or \p N_INDUCED
* - \p Verbosity: Verbosity level
*
* - Notes: The data will be read in immediately upon construction.
*/
G4ENDFTapeRead( std::istringstream& dataStream,
G4FFGEnumerations::YieldType WhichYield,
G4FFGEnumerations::FissionCause WhichCause,
G4int Verbosity );
protected:
/** Initialize is a common function called by all constructors. */
void Initialize( G4String dataFile );
/** Initialize is a common function calles by all constructors */
void Initialize( std::istringstream& dataStream );
public:
// Functions
/** Returns and array containing the values of each of the energy groups
* - Usage: No arguments required
*
* - Notes:
*/
G4double* G4GetEnergyGroupValues( void );
/** Returns the number of energy yield groups that were extracted from the
* ENDF tape file
* - Usage: No arguments required
*
* - Notes:
*/
G4int G4GetNumberOfEnergyGroups( void );
/** Returns the number of fission products that were extracted from the
* ENDF tape file
* - Usage: No arguments required
*
* - Notes:
*/
G4int G4GetNumberOfFissionProducts( void );
/** Returns the data for the requested fission product
* - Usage:
* - \p WhichYield: 0-based index of the fission product for which to
* get the yield data
*
* - Notes:
* - This will return a pointer to the next G4FissionYieldContainer.
* NULL will be returned if no more fission containers exist.
*/
G4ENDFYieldDataContainer* G4GetYield( G4int WhichYield );
/** Sets the verbosity levels
* - Usage:
* - \p WhichVerbosity: Combination of levels
*
* - Notes:
* - \p SILENT: All verbose output is repressed
* - \p UPDATES: Only high-level internal changes are reported
* - \p DAUGHTER_INFO: Displays information about daughter product sampling
* - \p NEUTRON_INFO: Displays information about neutron sampling
* - \p GAMMA_INFO: Displays information about gamma sampling
* - \p ALPHA_INFO: Displays information about alpha sampling
* - \p MOMENTUM_INFO: Displays information about momentum balancing
* - \p EXTRAPOLATION_INTERPOLATION_INFO: Displays information about any data extrapolation or interpolation that occurs
* - \p DEBUG: Reports program flow as it steps through functions
* - \p PRINT_ALL: Displays any and all output
*/
void G4SetVerbosity( G4int WhatVerbosity );
private:
// Functions
/** Read in the data from an ENDF data tape. */
void ReadInData( std::istringstream& dataStream );
// Data members
/** Stores the number corresponding to the fission cause that will be extracted */
//const G4FFGEnumerations::FissionCause Cause_;
/** Counter for the number of energy groups that were extracted */
G4int EnergyGroups_;
/** Array containing the values of the extracted energy groups */
G4double* EnergyGroupValues_;
/** Verbosity level */
G4int Verbosity_;
/** Storage for the extracted data */
G4TableTemplate< G4ENDFYieldDataContainer >* YieldContainerTable_;
/** Stores the number corresponding to the yield type that will be extracted */
const G4FFGEnumerations::YieldType YieldType_;
// Destructor function(s)
public:
/** Default Deconstructor */
~G4ENDFTapeRead( void );
};
#endif /* G4ENDFTAPEREAD_HH */
@@ -0,0 +1,96 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/*
* File: G4ENDFYieldDataContainer.hh
* Author: B. Wendt (wendbryc@isu.edu)
*
* Created on September 6, 2011, 10:19 AM
*/
#ifndef G4ENDFYIELDDATACONTAINER_HH
#define G4ENDFYIELDDATACONTAINER_HH
#include "globals.hh"
#include "G4FFGEnumerations.hh"
/** G4ENDFYieldDataContainer is a simple data storage class that handles
* the memory management internally. One instance stores the information
* for one fission product. In the event of a non-spontaneous fission, it
* can store the yield probabilities and errors at each of the fission-
* inducing particles energy levels. For ENDF data and neutron-induced
* fission these energies are typically 0.0253 eV, 1 MeV, and 5 MeV.
*/
class G4ENDFYieldDataContainer
{
public:
// Constructor
/** Default constructor */
G4ENDFYieldDataContainer ( G4int YieldSlots );
// Functions
/** Get the meta state */
G4FFGEnumerations::MetaState GetMetaState( void );
/** Get the product */
G4int GetProduct( void );
/** Get the yield error */
G4double* GetYieldError( void );
/** Get the yield probability */
G4double* GetYieldProbability( void );
/** Get the number of yield slots */
G4int GetYieldSlots( void );
/** Set the meta state */
void SetMetaState( G4FFGEnumerations::MetaState MetaState );
/** Set the product */
void SetProduct( G4int Product );
/** Set the yield error */
void SetYieldError( G4double* YieldError );
/** Set the yield probability */
void SetYieldProbability( G4double* YieldProbability );
/** Set the number of yield slots */
void SetYieldSlots( G4int NumberOfSlots );
protected:
// Data members
/** The number of energy groups, or yield slots, that are stored */
G4int YieldSlots_;
/** ZZZAAA identifier of the stored isotope */
G4int Product_;
/** Metastable state information of the stored isotope */
G4FFGEnumerations::MetaState MetaState_;
/** Array of yield probabilities, one per yield slot */
G4double* YieldProbability_;
/** Array of the yield probability errors, one per yield slot */
G4double* YieldError_;
// Destructor function(s)
public:
/** Default deconstructor */
~G4ENDFYieldDataContainer( void );
};
#endif /* G4ENDFYIELDDATACONTAINER_HH */
@@ -0,0 +1,226 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/*
* File: G4FFGDebuggingMacros.hh
* Author: B. Wendt (wendbryc@isu.edu)
*
* Created on August 17, 2012, 12:54
*/
#ifndef G4FFGDEBUGGINGMACROS_HH
#define G4FFGDEBUGGINGMACROS_HH
#include "globals.hh"
#include "G4FFGEnumerations.hh"
#include "G4FFGVerboseMacros.hh"
// Define the function as available by the compiler
#if defined(__GNUC__)
#define G4FFG_FUNCTION_SIGNATURE__ G4String(__func__) + "()"
#elif defined(_MSC_VER)
// I'm not sure if this is the correct syntax for MS VC
#define G4FFG_FUNCTION_SIGNATURE__ G4String(__FUNCTION__) + "()"
#else
#define G4FFG_FUNCTION_SIGNATURE__ "a function"
#endif
// Only define the variables and macros if G4DEBUG_VERBOSE is set
#if defined(G4DEBUG_VERBOSE)
/** G4FFGDEBUG_RECURSIVE_REPRESSION is used to aid in the repression of
* debugging messages from recursive function calls.
*/
extern G4long G4FFGDEBUG_RECURSIVE_REPRESSION;
/** G4FFGDEBUG_RECURSIVE_REPRESSION_COUNTER tracks the number of recursive
* function debugging messages were repressed.
*/
extern G4long G4FFGDEBUG_RECURSIVE_REPRESSION_COUNTER;
/** G4FFGDEBUG_DATA_STRUCTURE_REPRESSION is used to aid in the repression of
* debugging messages from functions that sort/access data elements.
*/
extern G4long G4FFGDEBUG_DATA_STRUCTURE_REPRESSION;
/** G4FFGDEBUG_DATA_STRUCTURE_REPRESSION_COUNTER tracks the number of recursive
* function debugging messages were repressed.
*/
extern G4long G4FFGDEBUG_DATA_STRUCTURE_REPRESSION_COUNTER;
// Entering functions
/** G4FFG_FUNCTIONENTER__ is blank if G4DEBUG_VERBOSE is not defined at compile time.
* Otherwise, it is used by the fission fragment code to notify when a function is
* first entered.
*/
#define G4FFG_FUNCTIONENTER__ \
if((Verbosity_ & G4FFGEnumerations::DEBUG) && !(Verbosity_ & G4FFGEnumerations::REPRESS_FUNCTION_ENTER_LEAVE_MESSAGES)) \
{ \
G4FFG_SPACING__ \
G4cout << "Entering ";\
G4FFG_LOCATION__ \
G4cout << G4endl; \
} \
G4FFG_DEPTH++;
/** G4FFG_SAMPLING_FUNCTIONENTER__ wraps around G4FFG_FUNCTIONENTER__ and
* can be used in conjunctions with
* G4FFGEnumeration::REPRESS_RANDOM_SAMPLING_MESSAGES to repress debugging output
* for psuedorandom number generation functions
*/
#define G4FFG_SAMPLING_FUNCTIONENTER__ \
if(!(Verbosity_ & G4FFGEnumerations::REPRESS_RANDOM_SAMPLING_MESSAGES)) \
{ \
G4FFG_FUNCTIONENTER__ \
}
/** G4FFG_RECURSIVE_FUNCTIONENTER__ wraps around G4FFG_FUNCTIONENTER__ and
* can be used in conjunctions with
* G4FFGEnumeration::REPRESS_RECURSIVE_DEBUG_MESSAGES to repress debugging output
* recursive function calls.
*/
#define G4FFG_RECURSIVE_FUNCTIONENTER__ \
if(Verbosity_ & G4FFGEnumerations::REPRESS_RECURSIVE_DEBUG_MESSAGES)\
{ \
if(G4FFGDEBUG_RECURSIVE_REPRESSION == 0) \
{ \
G4FFG_FUNCTIONENTER__ \
} else \
{ \
G4FFGDEBUG_RECURSIVE_REPRESSION_COUNTER++; \
} \
G4FFGDEBUG_RECURSIVE_REPRESSION++; \
} else \
{ \
G4FFG_FUNCTIONENTER__ \
}
/** G4FFG_DATA_FUNCTIONENTER__ wraps around G4FFG_FUNCTIONENTER__ and
* can be used in conjunctions with
* G4FFGEnumeration::REPRESS_DATA_STRUCTURE_DEBUG_MESSAGES to repress debugging output
* recursive function calls.
*/
#define G4FFG_DATA_FUNCTIONENTER__ \
if(Verbosity_ & G4FFGEnumerations::REPRESS_DATA_STRUCTURE_DEBUG_MESSAGES)\
{ \
if(G4FFGDEBUG_RECURSIVE_REPRESSION == 0) \
{ \
G4FFG_FUNCTIONENTER__ \
} else \
{ \
G4FFGDEBUG_DATA_STRUCTURE_REPRESSION_COUNTER++; \
} \
G4FFGDEBUG_RECURSIVE_REPRESSION++; \
} else \
{ \
G4FFG_FUNCTIONENTER__ \
}
// Leaving functions
/** G4FFG_FUNCTIONLEAVE__ is blank if G4DEBUG_VERBOSE is not defined at compile time.
* Otherwise, it is used by the fission fragment code to notify when a function is
* exited. It will also be found before \p return statements, since those exit a
* funtion as well.
*/
#define G4FFG_FUNCTIONLEAVE__ \
G4FFG_DEPTH--; \
if((Verbosity_ & G4FFGEnumerations::DEBUG) && !(Verbosity_ & G4FFGEnumerations::REPRESS_FUNCTION_ENTER_LEAVE_MESSAGES)) \
{ \
G4FFG_SPACING__ \
G4cout << "Leaving ";\
G4FFG_LOCATION__ \
G4cout << G4endl; \
}
/** G4FFG_SAMPLING_FUNCTIONLEAVE__ wraps around G4FFG_FUNCTIONLEAVE__ and
* can be used in conjunctions with
* G4FFGEnumeration::REPRESS_RANDOM_SAMPLING_MESSAGES to repress debugging output
* for psuedorandom number generation functions
*/
#define G4FFG_SAMPLING_FUNCTIONLEAVE__ \
if(!(Verbosity_ & G4FFGEnumerations::REPRESS_RANDOM_SAMPLING_MESSAGES)) \
{ \
G4FFG_FUNCTIONLEAVE__ \
}
/** G4FFG_RECURSIVE_FUNCTIONLEAVE__ wraps around G4FFG_FUNCTIONLEAVE__ and
* can be used in conjunctions with
* G4FFGEnumeration::REPRESS_RECURSIVE_DEBUG_MESSAGES to repress debugging output
* recursive function calls.
*/
#define G4FFG_RECURSIVE_FUNCTIONLEAVE__ \
if(Verbosity_ & G4FFGEnumerations::REPRESS_RECURSIVE_DEBUG_MESSAGES)\
{ \
G4FFGDEBUG_RECURSIVE_REPRESSION--; \
if(G4FFGDEBUG_RECURSIVE_REPRESSION == 0) \
{ \
if(G4FFGDEBUG_RECURSIVE_REPRESSION_COUNTER > 0) \
{ \
G4FFG_SPACING__ \
G4cout << "==== " << G4FFGDEBUG_RECURSIVE_REPRESSION_COUNTER * 2 << " recursive function messages suppressed ====" << G4endl; \
G4FFGDEBUG_RECURSIVE_REPRESSION_COUNTER = 0; \
} \
G4FFG_FUNCTIONLEAVE__ \
} \
} else \
{ \
G4FFG_FUNCTIONLEAVE__ \
}
/** G4FFG_DATA_FUNCTIONLEAVE__ wraps around G4FFG_FUNCTIONLEAVE__ and
* can be used in conjunctions with
* G4FFGEnumeration::REPRESS_DATA_STRUCTURE_DEBUG_MESSAGES to repress debugging output
* recursive function calls.
*/
#define G4FFG_DATA_FUNCTIONLEAVE__ \
if(Verbosity_ & G4FFGEnumerations::REPRESS_DATA_STRUCTURE_DEBUG_MESSAGES)\
{ \
G4FFGDEBUG_RECURSIVE_REPRESSION--; \
if(G4FFGDEBUG_RECURSIVE_REPRESSION == 0) \
{ \
if(G4FFGDEBUG_DATA_STRUCTURE_REPRESSION_COUNTER > 0) \
{ \
G4FFG_SPACING__ \
G4cout << "==== " << G4FFGDEBUG_DATA_STRUCTURE_REPRESSION_COUNTER * 2 << " data structure function messages suppressed ====" << G4endl; \
G4FFGDEBUG_DATA_STRUCTURE_REPRESSION_COUNTER = 0; \
} \
G4FFG_FUNCTIONLEAVE__ \
} \
} else \
{ \
G4FFG_FUNCTIONLEAVE__ \
}
#else /* G4DEBUG_VERBOSE */
// If G4DEBUG_VERBOSE is not defined then we will need to define these macros but leave them empty
// Except for G4FFG_FUNCTIONENTER__ and G4FFG_FUNCTIONLEAVE__, which will be used to track G4FFG_DEPTH
#define G4FFG_FUNCTIONENTER__ G4FFG_DEPTH++;
#define G4FFG_SAMPLING_FUNCTIONENTER__
#define G4FFG_RECURSIVE_FUNCTIONENTER__
#define G4FFG_DATA_FUNCTIONENTER__
#define G4FFG_FUNCTIONLEAVE__ G4FFG_DEPTH--;
#define G4FFG_SAMPLING_FUNCTIONLEAVE__
#define G4FFG_RECURSIVE_FUNCTIONLEAVE__
#define G4FFG_DATA_FUNCTIONLEAVE__
#endif /* G4DEBUG_VERBOSE */
#endif /* G4FFGDEBUGGINGMACROS_HH */
@@ -0,0 +1,115 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/*
* File: G4FFGDefaultValues.hh
* Author: B. Wendt (wendbryc@isu.edu)
*
* Created on August 10, 2012, 17:03
*/
#ifndef G4FFGDEFAULTVALUES_HH
#define G4FFGDEFAULTVALUES_HH
#include "G4SystemOfUnits.hh"
#include "G4ThreeVector.hh"
#include "G4FFGEnumerations.hh"
/** G4FFGDefaultValues is a one-stop shop for storing the default values to
* variables that configure how the fission fragment generator code is
* initialized.
*/
namespace G4FFGDefaultValues
{
// Global
/** The energy of thermal neutrons */
static const G4double ThermalNeutronEnergy = 0.0253 * eV;
// Verbosity
#ifdef G4DEBUG_VERBOSE
/** Verbosity for the entire package */
static const G4int Verbosity = G4FFGEnumerations::PRINT_ALL;// | G4FFGEnumerations::REPRESS_FUNCTION_ENTER_LEAVE_MESSAGES;
#else /* G4DEBUG_VERBOSE */
/** Verbosity for the entire package */
static const G4FFGEnumerations::Verbosity Verbosity = G4FFGEnumerations::SILENT;
#endif /* G4DEBUG_VERBOSE */
// Fission Parameters
/** Default Isotope */
static const G4int Isotope = 92238;
/** Default meta state */
static const G4FFGEnumerations::MetaState MetaState = G4FFGEnumerations::GROUND_STATE;
/** Default fission cause */
static const G4FFGEnumerations::FissionCause FissionCause = G4FFGEnumerations::SPONTANEOUS;
/** Default incident energy */
static const G4double IncidentEnergy = ThermalNeutronEnergy / eV;
/** Default incident energy unit */
static const char IncidentEnergyUnit[] = "eV";
/** Default yield type */
static const G4FFGEnumerations::YieldType YieldType = G4FFGEnumerations::INDEPENDENT;
/** Default sampling scheme */
static const G4FFGEnumerations::FissionSamplingScheme SamplingScheme = G4FFGEnumerations::NORMAL;
/** Default probabilility of a ternary fission */
static const G4double TernaryProbability = 0;
/** Default alpha production in a ternary fission */
static const G4double AlphaProduction = 0;
/** Default mean gamma energy for gamma sampling */
static const G4double MeanGammaEnergy = 800 * keV;
// Event Parameters
/** Default event time */
static const G4double EventTime = 0;
/** Default event time units */
static const char EventTimeUnit[] = "ns";
// Source Description
/** Default source center */
static const G4ThreeVector SourceCenter(0, 0, 0);
/** Default source depth */
static const G4double SourceDepth = 1;
/** Default source rectangle Height */
static const G4double SourceHeight = 1;
/** Default source radius */
static const G4double SourceRadius = 1;
/** Default source rectangle Width */
static const G4double SourceWidth = 1;
/** Default event time units */
static const char SourceDimensionUnit[] = "cm";
/** Default source type */
static const G4FFGEnumerations::SourceType SourceType = G4FFGEnumerations::SPHERE;
// Messenger
/** Default command directory */
static const char UICommandDirectory[] = "/process/hadronic/ffgupga";
// Data
/** ENDF data tape location, reference against \p G4HPNEUTRONDATA */
static const char ENDFFissionDataLocation[] = "/Fission/FF/";
}
#endif /** G4FFGDEFAULTVALUES_HH */
@@ -0,0 +1,130 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/*
* File: G4FFGEnumerations.hh
* Author: B. Wendt (wendbryc@isu.edu)
*
* Created on June 6, 2011, 9:12 AM
*/
#ifndef G4FFGENUMAERATIONS_HH
#define G4FFGENUMAERATIONS_HH
/** G4FFGEnumerations is a namespace that contains all the enumerations that
* are used in the fission fragment generator code.
*/
namespace G4FFGEnumerations
{
/** The two types of fission data available. Independent yields are taken
* directly from prompt fission products, while cumulative fission yields are
* taken some time after the fission event so that the products have had a
* moment to stabilize.
*/
enum YieldType { INDEPENDENT = 454,
CUMULATIVE = 459 };
/** The first value of YieldType */
static const G4int YieldTypeFirst = INDEPENDENT;
/** The last value of YieldType */
static const G4int YieldTypeLast = CUMULATIVE;
/** Causes of fission.
* Currently only yields for spontaneous and neutron induced fission are
* included in the data libraries. Photon and gamma induced fission are
* included here only to provide potential forward compatibility.
* <b> G4FissionFragmentGenerator::G4SetCause() must be modified if the data
* sets are expanded to include photon and gamma induced fission. </b>
*/
enum FissionCause { SPONTANEOUS,
NEUTRON_INDUCED,
PROTON_INDUCED,
GAMMA_INDUCED };
/** The first value of FissionCause */
static const G4int FissionCauseFirst = SPONTANEOUS;
/** The last value of FissionCause.
* This is set to NEUTRON_INDUCED becuase neither PROTON_INDUCED
* nor GAMMA_INDUCED are currently supporded.
*/
static const G4int FissionCauseLast = NEUTRON_INDUCED;
/** The possible fission sampling methods */
enum FissionSamplingScheme{ NORMAL,
LIGHT_FRAGMENT };
/** The first value of FissionSamplingScheme */
static const G4int FissionSamplingSchemeFirst = NORMAL;
/** The last value of FissionSamplingScheme */
static const G4int FissionSamplingSchemeLast = LIGHT_FRAGMENT;
/** Truncate the Gaussian distribution at 0 (\p POSITIVE) or sample all values
* (\p ALL)
*/
enum GaussianRange { POSITIVE,
ALL };
/** Sample a discretized Gaussian distribution (\p INT) or continuous (\p DOUBLE) */
enum GaussianReturnType { INT,
DOUBLE };
/** ENDF format provides for 3 isomers - 1 ground state and 2 meta states */
enum MetaState { GROUND_STATE,
META_1,
META_2 };
/** The first value of MetaState */
static const G4int MetaStateFirst = GROUND_STATE;
/** The last value of MetaState */
static const G4int MetaStateLast = META_2;
/** These are the source shapes available */
enum SourceType { RECTANGLE,
CYLINDER,
SPHERE };
/** The first value of SourceType */
static const G4int SourceTypeFirst = RECTANGLE;
/** The last value of SourceType */
static const G4int SourceTypeLast = SPHERE;
/** These are the verbosity levels */
enum Verbosity { SILENT = 0x0,
UPDATES = 0x1,
DAUGHTER_INFO = 0x2,
NEUTRON_INFO = 0x4,
GAMMA_INFO = 0x8,
ALPHA_INFO = 0x10,
MOMENTUM_INFO = 0x20,
ENERGY_INFO = 0x40,
EXTRAPOLATION_INTERPOLATION_INFO = 0x80,
WARNING = 0x100,
DEBUG = 0x200,
PRINT_ALL = 0x3FF,
REPRESS_FUNCTION_ENTER_LEAVE_MESSAGES = 0x1000,
REPRESS_RANDOM_SAMPLING_MESSAGES = 0x2000,
REPRESS_RECURSIVE_DEBUG_MESSAGES = 0x4000,
REPRESS_DATA_STRUCTURE_DEBUG_MESSAGES = 0x8000 };
/** This is the maximum value of Verbosity */
static const G4int VerbosityLast = (REPRESS_DATA_STRUCTURE_DEBUG_MESSAGES << 1) - 1;
}
#endif /* G4FFGENUMAERATIONS_HH */
@@ -23,35 +23,35 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// 05-11-21 NeutronHP or Low Energy Parameterization Models
// Implemented by T. Koi (SLAC/SCCS)
// If NeutronHP data do not available for an element, then Low Energy
// Parameterization models handle the interactions of the element.
//
/*
* File: G4FFGVerboseMacros.hh
* Author: B. Wendt (wendbryc@isu.edu)
*
* Created on August 24, 2012, 16:23
*/
#ifndef G4NeutronHPorLCaptureModel_h
#define G4NeutronHPorLCaptureModel_h 1
#ifndef G4FFGVERBOSEMACROS_HH
#define G4FFGVERBOSEMACROS_HH
#include "G4HadronicInteraction.hh"
//#include "G4NeutronHPElastic.hh"
#include "G4NeutronHPorLCapture.hh"
#include "G4NeutronHPNames.hh"
#include "G4LCapture.hh"
#include "globals.hh"
class G4NeutronHPorLCaptureModel : public G4HadronicInteraction
{
public:
G4NeutronHPorLCaptureModel();
~G4NeutronHPorLCaptureModel();
/** G4FFG_DEPTH is used to track the depth of the function calls in the
* fission fragment generator code.
*/
extern G4long G4FFG_DEPTH;
G4HadFinalState * ApplyYourself(const G4HadProjectile& aTrack, G4Nucleus& aTargetNucleus);
G4VCrossSectionDataSet* GiveHPXSectionDataSet() { return theHPCapture->GiveXSectionDataSet(); }
/** G4FFG_LOCATION__ outputs the current location in the code */
#define G4FFG_LOCATION__ \
G4String debugOutput(__FILE__); \
debugOutput = debugOutput.substr(debugOutput.find_last_of('/') + 1); \
G4cout << G4FFG_FUNCTION_SIGNATURE__ << " at " << debugOutput << ":" << __LINE__;
private:
G4NeutronHPorLCapture* theHPCapture;
G4LCapture* theLCapture;
/** G4FFG_SPACING__ indents the debug messages according to the debugging depth */
#define G4FFG_SPACING__ \
for(G4int depth = 0; depth < G4FFG_DEPTH; depth++) \
{ \
G4cout << " "; \
}
#endif /* G4FFGVERBOSEMACROS_HH */
G4NeutronHPNames* theHPNames;
};
#endif
@@ -0,0 +1,116 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/*
* File: G4FPYBiasedLightFragmentDist.hh
* Author: B. Wendt (wendbryc@isu.edu)
*
* Created on June 2, 2011, 11:02 AM
*/
#ifndef G4FPYBIASEDLIGHTFRAGMENTDIST_HH
#define G4FPYBIASEDLIGHTFRAGMENTDIST_HH
#include "G4Ions.hh"
#include "globals.hh"
#include "G4FFGEnumerations.hh"
#include "G4FissionProductYieldDist.hh"
/** G4FPYBiasedLightFragmentDist is an inherited class of G4FissionProductYield
* that only samples the 'light' fission fragments, defined by A \< 115
* - This inherited class of G4FissionProductYield samples only the lighter
* fission fragments, defined by A \< 115
* - This biasing was implemented because of an artifact that is introduced
* due to random sampling of fission fragments. Typically small fission
* fragments (neutrons, alphas, gammas) are sampled after the first
* fragment is sampled. If a heavy fragment (A \>= 115) is sampled first
* then the resulting lighter fission fragment, after all the other
* particles have been removed from the available mass, will most likely
* land far off the neutron drip line.
* - This implementation reduces the probability that such an improbable
* nucleus will be created by first sampling the lighter fission fragment
* and allowing the heavy fission fragment, which has a lot more
* flexibility for varying neutron populations, to make up the slack.
*/
class G4FPYBiasedLightFragmentDist
: public G4FissionProductYieldDist
{
public:
// Constructor definition
/** Default constructor
* - Usage:
* - \p WhichIsotope: Isotope number of the element in ZZZAAA form
* - \p WhichMetaState: \p GROUND_STATE, \p META_1, or \p META_2
* - \p WhichCause: \p SPONTANEOUS or \p N_INDUCED
* - \p WhichYieldType: \p INDEPENDENT or \p CUMULATIVE
*
* - Notes:
*/
G4FPYBiasedLightFragmentDist( G4int WhichIsotope,
G4FFGEnumerations::MetaState WhichMetaState,
G4FFGEnumerations::FissionCause WhichCause,
G4FFGEnumerations::YieldType WhichYieldType,
std::istringstream& dataStream);
/** Overloaded constructor
* - Usage:
* - \p WhichIsotope: Isotope number of the element in ZZZAAA form
* - \p WhichMetaState: \p GROUND_STATE, \p META_1, or \p META_2
* - \p WhichCause: \p SPONTANEOUS or \p N_INDUCED
* - \p WhichYieldType: \p INDEPENDENT or \p CUMULATIVE
* - \p Verbosity: Verbosity level
*
* - Notes:
*/
G4FPYBiasedLightFragmentDist( G4int WhichIsotope,
G4FFGEnumerations::MetaState WhichMetaState,
G4FFGEnumerations::FissionCause WhichCause,
G4FFGEnumerations::YieldType WhichYieldType,
G4int Verbosity,
std::istringstream& dataStream);
protected:
/** Initialize is a common function called by all constructors. */
void Initialize( void );
protected:
// Variables
/** Defines the half-weight of the fission isotope */
G4int HalfWeight_;
// Functions
/** Selects a fission product from the probability tree, limited by the
* number of nucleons available to the system
*/
virtual G4Ions* GetFissionProduct( void );
// Destructor function(s)
public:
/** Default deconstructor. It is a virtual function since
* G4FPYBiasedLightFragmentDist inherits from G4FissionProductYieldDist
*/
virtual ~G4FPYBiasedLightFragmentDist( void );
};
#endif /* G4FPYBIASEDLIGHTFRAGMENTDIST_HH */
@@ -0,0 +1,101 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/*
* File: G4FPYNormalFragmentDist.hh
* Author: B. Wendt (wendbryc@isu.edu)
*
* Created on July 26, 2011, 12:26 PM
*/
#ifndef G4FPYNORMALFRAGMENTDIST_HH
#define G4FPYNORMALFRAGMENTDIST_HH
#include "G4Ions.hh"
#include "globals.hh"
#include "G4FFGEnumerations.hh"
#include "G4FissionProductYieldDist.hh"
/** G4FPYNormalFragmentDist is an inherited class of G4FissionProductYield
* that samples fission fragments from the entire data set.
*/
class G4FPYNormalFragmentDist
: public G4FissionProductYieldDist
{
public:
// Constructor definition
/** Default constructor
* - Usage:
* - \p WhichIsotope: Isotope number of the element in ZZZAAA form
* - \p WhichMetaState: \p GROUND_STATE, \p META_1, or \p META_2
* - \p WhichCause: \p SPONTANEOUS or \p N_INDUCED
* - \p WhichYieldType: \p INDEPENDENT or \p CUMULATIVE
*
* - Notes:
*/
G4FPYNormalFragmentDist( G4int WhichIsotope,
G4FFGEnumerations::MetaState WhichMetaState,
G4FFGEnumerations::FissionCause WhichCause,
G4FFGEnumerations::YieldType WhichYieldType,
std::istringstream& dataFile);
/** Overloaded constructor
* - Usage:
* - \p WhichIsotope: Isotope number of the element in ZZZAAA form
* - \p WhichMetaState: \p GROUND_STATE, \p META_1, or \p META_2
* - \p WhichCause: \p SPONTANEOUS or \p N_INDUCED
* - \p WhichYieldType: \p INDEPENDENT or \p CUMULATIVE
* - \p Verbosity: Verbosity level
*
* - Notes:
*/
G4FPYNormalFragmentDist( G4int WhichIsotope,
G4FFGEnumerations::MetaState WhichMetaState,
G4FFGEnumerations::FissionCause WhichCause,
G4FFGEnumerations::YieldType WhichYieldType,
G4int Verbosity,
std::istringstream& dataFile);
protected:
/** Initialize is a common function called by all constructors. */
void Initialize( void );
protected:
// Functions
/** Selects a fission product from the probability tree, limited by the
* number of nucleons available to the system.
*/
virtual G4Ions* GetFissionProduct( void );
// Destructor function(s)
public:
/** Default deconstructor. It is a virtual function since
* G4FPYNormalFragmentDist inherits from G4FissionProductYieldDist
*/
virtual ~G4FPYNormalFragmentDist( void );
};
#endif /* G4FPYNORMALFRAGMENTDIST_HH */
@@ -0,0 +1,155 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/*
* File: G4FPYNubarValues.hh
* Author: B. Wendt (wendbryc@isu.edu)
*
* Created on July 11, 2011, 11:23 AM
*/
/* * * * * * * * * * * * * * * * References * * * * * * * * * * * * * * * *
* *
* 1. "Neutron Multiplicity Measurements of Cf and Fm Isotopes", *
* D. C. Hoffman, G. P. Ford, J. P. Balagna, and L. R. Veeser, Physical *
* Review C, 21.2, February 1980 *
* 2. "Spontaneous Fission Properties and Lifetime Systematics", *
* D. C. Hoffman, International Conference on Fifty Years Research in *
* Nuclear Fission, Berlin, Germany, 1989 *
* 3. MCNP - A General Monte carlo N-Particle Transport Code, Version 5, *
* X-5 Monte Carlo Team, Volume I: Overview and Theory, April, 2005 *
* 4. ENDF database, Search parameters: ENDF/B-VII.0; MF=1; MAT=452 *
* 5. Prompt Neutron Multiplicities for the Transplutonium Nuclides, *
* N. E. Holden and M. S. Zucker, Brookhaven National Lab, January, 1985 *
* *
* * * * * * * * * * * * * * * * References * * * * * * * * * * * * * * * */
#ifndef G4FPYNUBARVALUES_HH
#define G4FPYNUBARVALUES_HH
/** Evaluated nubar values for neutron induced fission. The data are represented
* as linear regression fits from experimental data in the form: v = mx + b,
* where x is the incident neutron energy.
* \n \n Value 1: The isotope in ZZZAAA format
* \n Value 2: 'x' of the linear regression fit multiplied by 10^13
* \n Value 3: 'b' of the linear regression fit multiplied by 10^4
* \n \n See Reference 4 for further information
*/
static const G4int NeutronInducedNubar_[][3] = {
// Default
{0, 1476773, 29881},
// Thorium
{90227, 818327, 20647}, {90229, 936480, 20872}, {90232, 1252285, 21061},
// Proactinum
{91231, 1030251, 22480},
// Uranium
{92232, 1070000, 31300}, {92233, 1218868, 25043},
{92234, 1230006, 23673}, {92235, 1392331, 24336},
{92236, 1353849, 23717}, {92237, 1502160, 24911},
{92238, 1343405, 24911},
// Neptunium
{93237, 1485790, 26362}, {93238, 1476892, 25150},
// Plutonium
{94238, 1479368, 28950}, {94239, 1477500, 28505},
{94240, 1518313, 28030}, {94241, 1496809, 29443},
{94242, 1575406, 28100},
// Americium
{95241, 1425195, 30827}, {95242, 1337871, 32717},
{95243, 1305739, 32737},
// Curium
{96242, 1720000, 34400}, {96243, 1220064, 34329},
{96244, 1839123, 32444}, {96245, 1166218, 35968},
{96246, 1223446, 36153}, {96248, 2080000, 34900},
// Californium
{98249, 1796326, 38876}, {98251, 2416144, 41400},
// Einsteinium
{99254, 2438676, 40832},
// Fermium
{100255, 2499442, 43924},
// End of array
{-1, -1, -1} };
/** Recommended Gaussian widths for neutron induced fission.
* \n Column 1: The isotope in ZZZAAA format
* \n Column 2: The width multiplied by 10^6
* \n \n See Reference 3 for further information
*/
// Still need: a lot
static const G4int NeutronInducedNubarWidth_[][2] = {
// Default
{0, 1210000},
// Uranium
{92233, 1144900}, {92235, 1183744}, {92238, 1245456},
// Plutonium
{94239, 1299600}, {94241, 1322500},
// End of array
{-1, -1} };
/** Evaluated nubar values for neutron induced fission. The data are represented
* as linear regression fits from experimental data in the form: v = mx + b,
* where x is the incident neutron energy.
* \n \n Value 1: The isotope in ZZZAAA format
* \n Value 2: 'x' of the linear regression fit multiplied by 10^13
* \n Value 3: 'b' of the linear regression fit multiplied by 10^4
* \n \n See References 1, 2, 4, & 5 for further information
*/
static const G4int SpontaneousNubar_[][3] = {
// Default
{0, 25000},
// Uranium
{92238, 0, 20000},
// Curium
{96244, 0, 26875}, {96246, 0, 29480}, {96248, 0, 31500},
// Californium
{98250, 0, 25200}, {98252, 0, 37676},
// Einsteinium
{99253, 0, 47000},
// Fermium
{100254, 0, 39800}, {100256, 0, 37300},
// End of array
{-1, -1, -1} };
/** Recommended Gaussian widths for neutron induced fission.
* See Reference 3 for further information.
* \n Column 1: The isotope in ZZZAAA format
* \n Column 2: The width multiplied by 10^6
*/
// Still need: 92238, 99253
static const G4int SpontaneousNubarWidth_[][2] = {
// Default
{0, 1210000},
// Plutonium
{94238, 1288225}, {94240, 1324801}, {94242, 1347921},
// Curium
{96242, 1190281}, {96244, 1216609}, {96246, 1205604}, {96248, 1227664},
// Californium
{98250, 1488400}, {98252, 1550025}, {98254, 1476225},
// Fermium
{100254, 1552516}, {100256, 1349007}, {100257, 1178983},
// End of array
{-1, -1} };
#endif /* G4FPYNUBARVALUES_HH */
@@ -0,0 +1,245 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/*
* File: G4FPYSamplingOps.hh
* Author: B. Wendt (wendbryc@isu.edu)
*
* Created on June 30, 2011, 11:10 AM
*/
/* * * * * * * * * * * * * * * * References * * * * * * * * * * * * * * * *
* *
* 1. "Sampling ENDL Watt Fission Spectra, D. E. Cullen, LLNL, April, 2004 *
* *
* * * * * * * * * * * * * * * * References * * * * * * * * * * * * * * * */
#ifndef G4FPYSAMPLINGOPS_HH
#define G4FPYSAMPLINGOPS_HH
#include "Randomize.hh"
#include "globals.hh"
#include "G4FFGEnumerations.hh"
#include "G4ShiftedGaussian.hh"
#include "G4WattFissionSpectrumValues.hh"
/** G4FPYSamplingOps performs all the uniform and Gaussian distribution sampling
* operations
*/
class G4FPYSamplingOps
{
public:
// Constructor definition
/** Default constructor
* - Usage: No arguments required
* - Notes:
*/
G4FPYSamplingOps( void );
/** Overloaded constructor
* - Usage:
* - \p Verbosity: Verbosity level
* - Notes:
*/
G4FPYSamplingOps( G4int Verbosity );
protected:
/** Initialize is a common function called by all constructors. */
void Initialize( void );
public:
// Functions
/** Returns an integer value taken from a Gaussian distribution.
* This overloaded version assumes that the range is not restricted to
* positive values only.
* - Usage:
* - \p Mean: Mean about which the Gaussian distribution will be
* sampled
* - \p StdDev: Standard deviation of the Gaussian distribution. 68.3%
* of the values will lie within the first standard deviation, 95.4%
* within the second standard deviation, etc...
* - Notes:
*/
G4int G4SampleIntegerGaussian( G4double Mean,
G4double StdDev );
/** Returns an integer value taken from a Gaussian distribution about
* \p Mean and with a standard deviation of \p StdDev.
* - Usage:
* - \p Mean: Mean about which the Gaussian distribution will be
* sampled
* - \p StdDev: Standard deviation of the Gaussian distribution. 68.3%
* of the values will lie within the first standard deviation, 95.4%
* within the second standard deviation, etc...
* - \p Range: \p POSITIVE or \p ALL
* - Notes:
*/
G4int G4SampleIntegerGaussian( G4double Mean,
G4double StdDev,
G4FFGEnumerations::GaussianRange Range );
/** Returns a double value taken from a Gaussian distribution about \p Mean
* and with a standard deviation of \p StdDev.
* - Usage:
* - \p Mean: Mean about which the Gaussian distribution will be
* sampled
* - \p StdDev: Standard deviation of the Gaussian distribution. 68.3%
* of the values will lie within the first standard deviation, 95.4%
* within the second standard deviation, etc...
* - Notes:
*/
G4double G4SampleGaussian( G4double Mean,
G4double StdDev );
/** Returns a double value taken from a Gaussian distribution about \p Mean
* and with a standard deviation of \p StdDev.
* - Usage:
* - \p Mean: Mean about which the Gaussian distribution will be
* sampled
* - \p StdDev: Standard deviation of the Gaussian distribution. 68.3%
* of the values will lie within the first standard deviation, 95.4%
* within the second standard deviation, etc...
* - \p Range: \p POSITIVE or \p ALL
* - Notes:
*/
G4double G4SampleGaussian( G4double Mean,
G4double StdDev,
G4FFGEnumerations::GaussianRange Range );
/** Returns a double value evenly distributed in the range (0, 1].
* - Usage: No arguments required
* - Notes:
*/
G4double G4SampleUniform( void );
/** Returns a double value evenly distributed in the range
* (\p Lower, \p Upper].
* - Usage:
* - \p Lower: Lower bounds of the distribution
* - \p Upper: Upper bounds of the distribution
*
* - Notes:
*/
G4double G4SampleUniform( G4double Lower,
G4double Upper );
/** Samples the Watt fission spectrum for the selected isotope, using an
* algorithm adopted from Ref. 1
* - Usage:
* - \p WhatIsotope: The isotope that is to be sampled
* - \p WhatCause: The cause of the isotope to be sampled
* - \p WhatEnergy: The energy, in MeV of the incident particle
* - Notes:
* - All variables needed for this function are grouped together in
* WattConstants_.
* -
*/
G4double G4SampleWatt( G4int WhatIsotope,
G4FFGEnumerations::FissionCause WhatCause,
G4double WhatEnergy );
/** Sets the verbosity levels
* - Usage:
* - \p WhichVerbosity: Combination of levels
*
* - Notes:
* - \p SILENT: All verbose output is repressed
* - \p UPDATES: Only high-level internal changes are reported
* - \p DAUGHTER_INFO: Displays information about daughter product sampling
* - \p NEUTRON_INFO: Displays information about neutron sampling
* - \p GAMMA_INFO: Displays information about gamma sampling
* - \p ALPHA_INFO: Displays information about alpha sampling
* - \p MOMENTUM_INFO: Displays information about momentum balancing
* - \p EXTRAPOLATION_INTERPOLATION_INFO: Displays information about any data extrapolation or interpolation that occurs
* - \p DEBUG: Reports program flow as it steps through functions
* - \p PRINT_ALL: Displays any and all output
*/
void G4SetVerbosity( G4int WhatVerbosity );
protected:
// Variables
// Class descriptor variables
/** Mean for sampling a Gaussian distribution */
G4double Mean_;
/** Standard deviation for sampling a GaussianDistribution */
G4double StdDev_;
/** Structure chain that contains the all the previous values used
* for sampling a Gaussian distribution
*/
G4ShiftedGaussian* ShiftedGaussianValues_;
/** Verbosity level */
G4int Verbosity_;
/** Structure that contains the values for sampling the Watt fission
* spectrum
*/
WattSpectrumConstants* WattConstants_;
// Pointers to external classes
/** Pointer to the CLHEP random number generator. */
CLHEP::HepRandomEngine* RandomEngine_;
// Internal variables for use with sampling a Gaussian distribution.
/** Declares whether the second paired random number has been already
* returned.
*/
G4bool NextGaussianIsStoredInMemory_;
/** Contains the first of the two paired random numbers from the
* Gaussian distribution sampling.
*/
G4double GaussianOne_;
/** Contains the second of the two paired random numbers from the
* Gaussian distribution sampling.
*/
G4double GaussianTwo_;
/** Defines the tolerance that ShiftParameters() must match. */
G4double Tolerance_;
// Functions
/** Check to see if the user requested parameters have already been
* calculated. If they have, it recalls the stored parameters and sets
* them as the current values.
*/
G4bool CheckAndSetParameters( void );
/** Evaluates the constants that are required for the Watt fission spectrum
* sampling.
*/
void EvaluateWattConstants( void );
/** Samples a Gaussian distribution defined by the internal class variables
* NewMean_ and NewStdDev_.
*/
G4double SampleGaussian( void );
/** Sets the mean and standard deviation of the Gaussian distribution
* sampled by this class when \p POSITIVE values are requested.
* ShiftMean() performs two different operations based on the requested
* data type.
* - \p INTEGER: Iteratively searches for an adjusted mean that produces
* the same result as the mean requested by the implementor. In this
* instance the standard deviation is not adjusted.
* - \p DOUBLE: Adjusts the standard deviation of the Gaussian distribution
* so that the first seven standard deviations occur are all positive.
* The chance that a negative value will result using this method is
* 2.56E<sup>-12</sup>
*/
void ShiftParameters( G4FFGEnumerations::GaussianReturnType Type );
// Destructor function(s)
public:
/** Default deconstructor. */
~G4FPYSamplingOps( void );
};
#endif /* G4FPYSAMPLINGOPS_HH */
@@ -0,0 +1,92 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/*
* File: G4FPYTreeStructures.hh
* Author: B. Wendt (wendbryc@isu.edu)
*
* Created on September 8, 2011, 10:43 AM
*/
#ifndef G4FPYTREESTRUCTURES_HH
#define G4FPYTREESTRUCTURES_HH
#include "G4Ions.hh"
#include "globals.hh"
/** ProbabilityBranch is a tree hierarchy storage method. Each 'branch'
* stores information for the isotope/isomer that is stores, as well as the
* probability segment in the (0,1] range references it for use in random
* fission product sampling.
* \n ProbabilityBranch branches 'up' and 'down' to other branches that
* have a probability segment either higher or lower in the (0,1] range.
*/
struct ProbabilityBranch
{
/** Pointer to the \p G4Ions definition that contains the data for
* the isotope/isomer for this ProbabilityBranch
*/
G4Ions* Particle;
/** Number of different incident energies are available */
G4int IncidentEnergiesCount;
/** The different energies available */
G4double* IncidentEnergies;
/** The upper limit of the probability segment, indexed by incident energy*/
G4double* ProbabilityRangeBottom;
/** The lower limit of the probability segment, indexed by incident energy */
G4double* ProbabilityRangeTop;
/** Pointer to the branch that has a higher probability */
ProbabilityBranch* Right;
/** Pointer to the branch that has a lower probability */
ProbabilityBranch* Left;
};
/** ProbabilityTree is the 'root' for each tree hierarchy, and contains
* pointer to the first ProbabilityBranch, or 'trunk', or each tree.
* \n ProbabilityTree also stores the value of the highest probability
* segment that is stored in the tree. This enables trees that are out of
* range to be easily skipped over.
*/
struct ProbabilityTree
{
/** Number of different incident energies are available */
static G4int IncidentEnergiesCount;
/** The different energies available */
static G4double* IncidentEnergies;
/** First branch, or 'trunk', in the tree */
ProbabilityBranch* Trunk;
/** The value of the highest probability segment stored in this tree */
G4double* ProbabilityRangeEnd;
/** Counter for the number of branches that this tree has **/
G4int BranchCount;
/** Variable to identify if this is the last tree in or not */
G4bool IsEnd;
};
#endif /* G4FPYTREESTRUCTURES_HH */
@@ -0,0 +1,287 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/*
* File: G4FissionFragmentGenerator.hh
* Author: B. Wendt (wendbryc@isu.edu)
*
* Created on May 11, 2011, 12:04 PM
*/
#ifndef G4FISSIONFRAGMENTGENERATOR_HH
#define G4FISSIONFRAGMENTGENERATOR_HH
#include "G4Ions.hh"
#include "globals.hh"
#include "G4HadFinalState.hh"
#include "G4HadProjectile.hh"
#include "G4FFGEnumerations.hh"
#include "G4FissionProductYieldDist.hh"
#include "G4TableTemplate.hh"
/** G4FissionFragmentGenerator is the front end class to be used by the user for
* handling all fission event generation.
*
* This class is intended to be instantiated for one type of fission event for
* as specific isotope/isomer, fission type, and incident neutron energy. For
* this reason no functions exist to change or modify these values once the
* class in constructed. A new class must be created by the user for each type
* of fission event, if such functionality is desired.
*/
class G4FissionFragmentGenerator{
public:
// Constructor definition
/** Default constructor
* - Usage: No arguments required
*
* - Notes:
* - There are methods that should be called to set operating
* parameters before generating any fission events with
* G4FissionFragmentGenerator. These are:
* - G4SetIsotope()
* - G4SetMetaState()
* - G4SetCause()
* - G4SetIncidentEnergy()
* - G4SetYieldType()
* - G4SetAlphaProduction()
* - G4SetAlphaProductionProbability()
* - G4SetSamplingScheme()
* - If any or all of these parameters are not set by the user, then
* default values will be used.
* - Isotope: \p 92238
* - Metastable state: \p GROUND_STATE
* - Cause: \p SPONTANEOUS
* - Incident energy: \p 0.025 eV
* - Yield type: \p INDEPENDENT
* - Alpha production: \p 0
* - Alpha production probability: \p 0
* - Sampling scheme: \p NORMAL
*/
G4FissionFragmentGenerator( void );
/** Overloaded constructor
* - Usage:
* - \p Verbosity: Verbosity level
*
* - Notes:
- Refer to the documentation for the default constructor for
* setting up the operating parameters.
*/
G4FissionFragmentGenerator( G4int Verbosity );
protected:
/** Initialize is a common function called by all constructors. */
void Initialize( void );
public:
// Functions
/** Generates a single fission event
* - Usage: No arguments required
*
* - Notes:
* - Generates a single fission event by calling the overloaded function
* and passing an argument of '1'
*/
G4DynamicParticleVector* G4GenerateFission( void );
/** Generates a single fission event
* - Usage:
* -\p Projectile: G4HadProjectile of the fission-inducing particle
*
* - Notes:
* - Generates a single fission event by calling the overloaded function
* and passing an argument of '1'
*/
G4DynamicParticleVector* G4GenerateFission( const G4HadProjectile& Projectile );
/** Generates NumberOfFissions fission events
* - Usage:
* -\p NumberOfFissions: The number of fission events to generate
*
* - Notes:
* - Generates \p NumberOfFissions fission events
*/
const std::vector< G4DynamicParticleVector* > G4GenerateFission( G4long NumberOfFissions,
const G4HadProjectile& Projectile );
/** Returns a randomly sampled fission product */
G4Ions* G4GenerateFissionProduct( void );
/** Returns the production rate of alpha particles for fission events */
G4double G4GetAlphaProduction( void );
/** Returns the probability of ternary fission */
G4double G4GetTernaryProbability( void );
/** Returns the FissionCause of the fission event. */
G4FFGEnumerations::FissionCause G4GetCause( void );
/** Returns the energy of the fission inducing particle. */
G4double G4GetIncidentEnergy( void );
/** Returns the code of the fission isotope in ZZZAAA format. */
G4int G4GetIsotope( void );
/** Returns the MetaState of the fission isotope. */
G4FFGEnumerations::MetaState G4GetMetaState( void );
/** Returns the FissionSamplingScheme that is currently in use. */
G4FFGEnumerations::FissionSamplingScheme G4GetSamplingScheme( void );
/** Returns the yield type that is currently in use */
G4FFGEnumerations::YieldType G4GetYieldType( void );
/** Initializes a new \p G4FPY...Dist class based on the class descriptor
* variables of G4FissionFragmentGenerator.
*/
bool InitializeFissionProductYieldClass( std::istringstream& dataFile );
/** Converts the Z, A and M of an isotope into an integer representation **/
static G4int G4MakeIsotopeCode(G4int Z, G4int A, G4int M);
/** Sets the number of alpha particles produced in fission.
* - Usage:
* - if \p AlphaProduction is negative then alpha particles are sampled
* on a Gaussian with a mean of \p abs(AlphaProduction).
*
* - Notes:
* - The maximum number of alpha particles that may be created is
* physically limited by the nucleons present in the parent nucleus.
* Setting the AlphaProduction too high will have unpredictable
* results on the sampling of the fission products.
*/
void G4SetAlphaProduction( G4double WhatAlphaProduction );
/** Sets the probability of ternary fission
* - Usage:
* - \p WhatAlphaProductionProbability: Probability of generating alpha
* particles for a fission event. 1 = 100% chance of alpha production
*
* - Notes:
*/
void G4SetTernaryProbability( G4double WhatTernaryProbability );
/** Sets the cause of fission event.
* - Usage:
* - \p WhichCause: \p SPONTANEOUS, \p N_INDUCED, \p P_INDUCED, or
* \p G_INDUCED
*
* - Notes:
*/
void G4SetCause( G4FFGEnumerations::FissionCause WhichCause );
/** Sets the incident energy, if any, of the particle that cause fission.
* - Usage:
* - \p WhatIncidentEnergy: Kinetic energy of the particle with units applied;
*
* - Notes:
*/
void G4SetIncidentEnergy( G4double WhatIncidentEnergy );
/** Sets the fission isotope
* - Usage:
* - \p WhichIsotope: Code of the isotope in ZZZAAA format
*
* - Notes:
*/
void G4SetIsotope( G4int WhichIsotope );
/** Sets the metastable state of the fission isotope.
* - Usage:
* - \p WhichMetaState: \p GROUND_STATE, \p META_1, or \p META_2
*
* - Notes:
*/
void G4SetMetaState( G4FFGEnumerations::MetaState WhichMetaState );
/** Set the sampling scheme.
* - Usage:
* - NewScheme: The G4FissionSamplingScheme value for the sampling
* scheme to use.
*
* - Notes:
* - \p NORMAL: Sets the parameters of this class to sample fission
* events without any biasing.
* - \p LIGHT_FRAGMENT: Sets the parameters of this class to bias the
* fragment generation by always selecting a light fragment
* (A \< 115) first.
* - \p WENDT: Sets the parameters of this class to sample fission
* events according to the Wendt sampling scheme. Please refer to
* the code documentation for G4FPYWendtSamplingDist for a more
* detailed explanation.
*/
void G4SetSamplingScheme( G4FFGEnumerations::FissionSamplingScheme NewScheme );
/** Sets the ENDF yield type to be used for the data
* - Usage:
* - \p WhichYieldType: \p INDEPENDENT or \p COMULATIVE
*
* - Notes:
*/
void G4SetYieldType( G4FFGEnumerations::YieldType WhichYieldType );
/** Sets the verbosity levels
* - Usage:
* - \p WhichVerbosity: Combination of levels
*
* - Notes:
* - \p SILENT: All verbose output is repressed
* - \p UPDATES: Only high-level internal changes are reported
* - \p DAUGHTER_INFO: Displays information about daughter product sampling
* - \p NEUTRON_INFO: Displays information about neutron sampling
* - \p GAMMA_INFO: Displays information about gamma sampling
* - \p ALPHA_INFO: Displays information about alpha sampling
* - \p MOMENTUM_INFO: Displays information about momentum balancing
* - \p EXTRAPOLATION_INTERPOLATION_INFO: Displays information about any data extrapolation or interpolation that occurs
* - \p DEBUG: Reports program flow as it steps through functions
* - \p PRINT_ALL: Displays any and all output
*/
void G4SetVerbosity( G4int WhatVerbosity );
protected:
// Variables
// Class descriptor variables
/** Number in ZZZAAA format of the isotope that
* G4FissionFragmentGenerator references
*/
G4int Isotope_;
/** MetaState information of the isotope that G4FissionFragmentGenerator
* references
* \n A value of 0 refers to the ground state
*/
G4FFGEnumerations::MetaState MetaState_;
/** The cause of fission: \p SPONTANEOUS or \p N_INDUCED. */
G4FFGEnumerations::FissionCause Cause_;
/** Kinetic energy, if any, of the incident particle in GeV. */
G4double IncidentEnergy_;
/** The type of yield to be used: \p INDEPENDET or \p CUMULATIVE */
G4FFGEnumerations::YieldType YieldType_;
/** Sets the ternary fission probability. Valid ranges are [0, 1] */
G4double TernaryProbability_;
/** Controls whether alpha particles are emitted, and how many */
G4double AlphaProduction_;
/** If Isotope_, MetaState_, Cause_, or IncidentEnergy_ are changed in
* the middle of a run then the class pointed at by YieldData_ will
* need to be reconstructed
*/
G4bool IsReconstructionNeeded_;
/** Verbosity level */
G4int Verbosity_;
// Defines the current sampling scheme and the respective class
/** The sampling scheme that is used: \p NORMAL, \p LIGHT_FRAGMENT, or
* \p WENDT.
*/
G4FFGEnumerations::FissionSamplingScheme SamplingScheme_;
/** Pointer to G4FissionProductYieldDist class that holds all the
* probabilistic yield data
*/
G4FissionProductYieldDist* YieldData_;
// Destructor function(s)
public:
/** Default deconstructor */
~G4FissionFragmentGenerator();
};
#endif /* G4FISSIONFRAGMENTGENERATOR_HH */
@@ -0,0 +1,369 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/*
* File: G4FissionProductYieldDist.hh
* Author: B. Wendt (wendbryc@isu.edu)
*
* Created on May 11, 2011, 12:04 PM
*/
#ifndef G4FISSIONPRODUCTYIELDDIST_HH
#define G4FISSIONPRODUCTYIELDDIST_HH
#include "G4Ions.hh"
#include "G4IonTable.hh"
#include "G4NeutronHPNames.hh"
#include "globals.hh"
#include "G4DynamicParticle.hh"
#include "G4DynamicParticleVector.hh"
#include "G4ReactionProduct.hh"
#include "G4ENDFTapeRead.hh"
#include "G4ENDFYieldDataContainer.hh"
#include "G4FFGEnumerations.hh"
#include "G4FPYNubarValues.hh"
#include "G4FPYSamplingOps.hh"
#include "G4FPYTreeStructures.hh"
/** G4FissionProductYieldDist is the base class for storing all the fission
* data and generating fission events. */
class G4FissionProductYieldDist
{
public:
// Constructor definition
/** Default constructor
* - Usage:
* - \p WhichIsotope: Isotope number of the element in ZZZAAA form
* - \p WhichMetaState: \p GROUND_STATE, \p META_1, or \p META_2
* - \p WhichCause: \p SPONTANEOUS or \p N_INDUCED
* - \p WhichYieldType: \p INDEPENDENT or \p CUMULATIVE
*
* - Notes:
*/
G4FissionProductYieldDist( G4int WhichIsotope,
G4FFGEnumerations::MetaState WhichMetaState,
G4FFGEnumerations::FissionCause WhichCause,
G4FFGEnumerations::YieldType WhichYieldType,
std::istringstream& dataStream);
/** Overloaded constructor
* - Usage:
* - \p WhichIsotope: Isotope number of the element in ZZZAAA form
* - \p WhichMetaState: \p GROUND_STATE, \p META_1, or \p META_2
* - \p WhichCause: \p SPONTANEOUS or \p N_INDUCED
* - \p WhichYieldType: \p INDEPENDENT or \p CUMULATIVE
* - \p Verbosity: Verbosity level
*
* - Notes:
*/
G4FissionProductYieldDist( G4int WhichIsotope,
G4FFGEnumerations::MetaState WhichMetaState,
G4FFGEnumerations::FissionCause WhichCause,
G4FFGEnumerations::YieldType WhichYieldType,
G4int Verbosity,
std::istringstream& dataStream);
private:
/** Initialize is a common function called by all constructors. */
void Initialize( std::istringstream& dataStream );
public:
// Functions
/** Generates a fission event using default sampling and returns the pointer
* to that fission event.
* - Usage: No arguments required
*
* - Notes:
* - The fission products are loaded into FissionContainer in the
* following order:
* - First daughter product
* - Second daughter product
* - Alpha particles
* - Neutrons
* - Gamma rays
* - The last particle will have a NULL NextFragment pointer
*/
G4DynamicParticleVector* G4GetFission( void );
/** Selects a fission fragment at random from the probability tree and
* returns the \p G4Ions pointer.
* - Usage: No arguments required
*
* - Notes:
*/
G4Ions* G4GetFissionProduct( void );
/** Set the alpha production behavior for fission event generation.
* - Usage:
* - if \p AlphaProduction is negative then alpha particles are sampled
* randomly.
*
* - Notes:
* - The maximum number of alpha particles that may be created is
* physically limited by the nucleons present in the parent nucleus.
* Setting the AlphaProduction too high will have unpredictable
* results on the sampling of the fission products.
*/
void G4SetAlphaProduction( G4double WhatAlphaProduction );
/** Sets the energy of the incident particle
* - Usage:
* - \p WhatIncidentEnergy: Kinetic energy, if any, of the incident
* neutron in GeV
*
* - Notes:
*/
void G4SetEnergy( G4double WhatIncidentEnergy );
/** Sets the probability of ternary fission
* - Usage:
* - \p WhatTernaryProbability: Probability of generating a ternary
* fission event.
*
* - Notes:
*/
void G4SetTernaryProbability( G4double TernaryProbability );
/** Sets the verbosity levels
* - Usage:
* - \p WhichVerbosity: Combination of levels
*
* - Notes:
* - \p SILENT: All verbose output is repressed
* - \p UPDATES: Only high-level internal changes are reported
* - \p DAUGHTER_INFO: Displays information about daughter product sampling
* - \p NEUTRON_INFO: Displays information about neutron sampling
* - \p GAMMA_INFO: Displays information about gamma sampling
* - \p ALPHA_INFO: Displays information about alpha sampling
* - \p MOMENTUM_INFO: Displays information about momentum balancing
* - \p EXTRAPOLATION_INTERPOLATION_INFO: Displays information about any data extrapolation or interpolation that occurs
* - \p DEBUG: Reports program flow as it steps through functions
* - \p PRINT_ALL: Displays any and all output
*/
void G4SetVerbosity( G4int WhatVerbosity );
protected:
// Variables
// Class descriptor variables
/** Number in ZZZAAA format of the isotope that
* G4FissionProductYieldDist references
*/
const G4int Isotope_;
/** MetaState information of the isotope that G4FissionProductYieldDist
* references
* \n Possible values are \p GROUND_STATE, \p META_1, or \p META_2
*/
const G4FFGEnumerations::MetaState MetaState_;
/** The cause of fission: \p SPONTANEOUS or \p N_INDUCED. */
const G4FFGEnumerations::FissionCause Cause_;
/** The type of yield to be used: \p INDEPENDET or \p CUMULATIVE */
const G4FFGEnumerations::YieldType YieldType_;
// Datafile variables
/** Name of the fission yield product data file that
* G4FissionProductYieldDist references
*/
G4ENDFTapeRead* ENDFData_;
// Fission generation variables
/** Contains the \p G4Ions pointer to an alpha particle */
G4Ions* AlphaDefinition_;
/** Controls whether alpha particles are emitted, and how many */
G4double AlphaProduction_;
/** Sets the ternary fission probability. Valid ranges are [0, 1] */
G4double TernaryProbability_;
/** Contains the \p g4ParticleDefinition pointer to a gamma particle */
G4Ions* GammaDefinition_;
/** Kinetic energy, if any, of the incident particle in GeV. */
G4double IncidentEnergy_;
/** Sets the mean gamma energy, in MeV, produced by the fission of the
* isotope described by Isotope_
*/
G4double MeanGammaEnergy_;
/** Contains the G4ParticleDefinition pointer to a neutron, cast as a
* G4Ion for compatibility*/
G4Ions* NeutronDefinition_;
/** Nubar for the isotope and incident neutron energy that
* G4FissionProductYieldDist references.
*/
G4double Nubar_;
/** Width of the gaussian distribution that samples nubar for the
* isotope and incident neutron energy that G4FissionProductYieldDist
* references.
*/
G4double NubarWidth_;
/** Counter for the number of protons available to the fission event */
G4int RemainingZ_;
/** Counter for the number of nucleons available to the fission event */
G4int RemainingA_;
/** Container for the energy remaining to be assigned in the fission generation */
G4double RemainingEnergy_;
/** Verbosity level */
G4int Verbosity_;
// Pointers to the field of trees and relevant normalization data
/** An array, or 'field', of the probability trees */
ProbabilityTree* Trees_;
/** Defines the smallest Z particle in the field of trees */
G4Ions* SmallestZ_;
/** Defines the smallest A particle in the field of trees */
G4Ions* SmallestA_;
/** Defines the largest Z particle in the field of trees. */
G4Ions* LargestZ_;
/** Defines the largest Z particle in the field of trees */
G4Ions* LargestA_;
/** Number of specific energy groups */
G4int YieldEnergyGroups_;
/** Energy values of each energy */
G4double* YieldEnergies_;
/** Variable for ensuring that the input data is normalized */
G4double* MaintainNormalizedData_;
/** A running total of all the probabilities */
G4double* DataTotal_;
/** The number of trees in the field */
G4int TreeCount_;
/** A run-time counter for the total number of branches stored */
G4int BranchCount_;
// Pointers to runtime classes that G4FissionProductYieldDist needs to
// function properly
/** Pointer to \p G4IonTable
* \n All \p G4Ions are created using
* \p G4IonTable
*/
G4IonTable* IonTable_;
/** Pointer to \p G4NeutronHPNames
* \n Provides access to the list of element names included in Geant4
*/
G4NeutronHPNames* ElementNames_;
/** Pointer to the \p CLHEP library random engine */
G4FPYSamplingOps* RandomEngine_;
//Functions
/** Checks to make sure that alpha overpopulation will not occur, which
* could result in an unsolvable zero momentum in the LAB system.
*/
void CheckAlphaSanity( void );
/** Returns the \p G4Ions definitions pointer for the particle whose
* probability segment contains the (0, 1] random number \p RandomParticle
*/
G4Ions* FindParticle( G4double RandomParticle );
/** Returns the \p G4Ions definitions pointer for the particle whose
* probability segment contains the (0, 1] random number \p RandomParticle
* by extrapolating values using the current data set.
* This function exists so that that different models of extrapolation
* may be more easily implemented in the future.
*/
G4Ions* FindParticleExtrapolation( G4double RandomParticle,
G4bool LowerEnergyGroupExists );
/** Returns the \p G4Ions definitions pointer for the particle whose
* probability segment contains the (0, 1] random number \p RandomParticle
* by interpolating values in the current data set.
* This function exists so that that different models of interpolation
* may be more easily implemented in the future.
*/
G4Ions* FindParticleInterpolation( G4double RandomParticle,
G4int LowerEnergyGroup );
/** Returns the \p G4Ions definitions pointer for the particle whose
* probability segment contains the (0, 1] random number \p RandomParticle
* by searching through a branch. Both the extrapolation and interpolation
* schemes currently use this function to identify the particle.
*/
G4Ions* FindParticleBranchSearch( ProbabilityBranch* Branch,
G4double RandomParticle,
G4int EnergyGroup1,
G4int EnergyGroup2 );
/** Generates a \p G4DynamicParticleVector with the fission alphas
*/
virtual void GenerateAlphas( std::vector< G4ReactionProduct* >* Alphas );
/** Generate a linked chain of neutrons and return the pointer to the last
* neutron in the chain.
*/
virtual void GenerateNeutrons( std::vector< G4ReactionProduct* >* Neutrons );
/** Selects a fission product from the probability tree, limited by the
* number of nucleons available to the system
*/
virtual G4Ions* GetFissionProduct( void ) = 0;
/** Returns the \p G4Ions definition pointer to the isotope defined by
* \p Product and \p MetaState.
* Searches the \p ParticleTable for the particle defined by \p Product
* (ZZZAAA) and \p MetaState and returns the \p G4Ions
* pointer to that particle. If the particle does not exist then it is
* created in \p G4ParticleTable and the pointer to the new particle is
* returned.
*/
G4Ions* GetParticleDefinition( G4int Product,
G4FFGEnumerations::MetaState MetaState );
/** Generates the directory location for the data file referenced by
* G4FissionProductYieldDist
*/
G4String MakeDirectoryName( void );
/** Generates the appropriate file name for the isotope requested */
G4String MakeFileName( G4int Isotope,
G4FFGEnumerations::MetaState MetaState );
/** Creates a \p G4DynamicParticle from an existing \p G4ReactionProduct */
G4DynamicParticle* MakeG4DynamicParticle( G4ReactionProduct* );
/** Generates the unique name for an isotope/isomer defined by \p Isotope\
* and \p MetaState in the following format: ZZZ_AAAmX_NAME
*/
G4String MakeIsotopeName( G4int Isotope,
G4FFGEnumerations::MetaState MetaState );
/** Dynamically allocates and initializes the 'field' of 'trees' with the
* 'trunks'
*/
virtual void MakeTrees( void );
/** Reads in the probability data from the data file */
virtual void ReadProbabilities( void );
/** Renormalizes the data in a ProbabilityTree.
* Traverses the tree structure and renormalizes all the probability data
* into probability segments, ensuring that no segment overlaps the
* other.
*/
void Renormalize( ProbabilityBranch* Branch );
/** Sample the energy of the alpha particles. The energy used by the alpha
* particles is subtracted from the available energy
*/
void SampleAlphaEnergies( std::vector< G4ReactionProduct* >* Alphas );
/** Samples the energy of the gamma rays */
void SampleGammaEnergies( std::vector< G4ReactionProduct* >* Gammas );
/** Sample the energy of the neutrons using the Watt fission spectrum. The
* kinetic energy consumed is returned.
*/
void SampleNeutronEnergies( std::vector< G4ReactionProduct* >* Neutrons );
/** Sets the nubar values for the isotope referenced by
* G4FissionProductYieldDistdefined from the data sets defined in
* SpecialOps.hh
*/
void SetNubar( void );
/** Sorts information for a potential new particle into the correct tree */
virtual void SortProbability( G4ENDFYieldDataContainer* YieldData );
// Destructor function(s)
public:
/** Default deconstructor. It is a virtual function since
* G4FissionProductYieldDist is a parent class
*/
virtual ~G4FissionProductYieldDist( void );
protected:
/** Recursively burns each branch in a probability tree. */
void BurnTree( ProbabilityBranch* Branch );
};
#endif /* G4FISSIONPRODUCTYIELDDIST_HH */
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4InterpolationIterator_h
#define G4InterpolationIterator_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4InterpolationManager_h
#define G4InterpolationManager_h 1
@@ -99,7 +98,7 @@ class G4InterpolationManager
nEntries = aRange;
}
inline void Init(std::ifstream & aDataFile)
inline void Init(std::istream & aDataFile)
{
delete [] start;
delete [] range;
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4InterpolationScheme_h
#define G4InterpolationScheme_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHP2AInelasticFS_h
#define G4NeutronHP2AInelasticFS_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHP2N2AInelasticFS_h
#define G4NeutronHP2N2AInelasticFS_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHP2NAInelasticFS_h
#define G4NeutronHP2NAInelasticFS_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHP2NDInelasticFS_h
#define G4NeutronHP2NDInelasticFS_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHP2NInelasticFS_h
#define G4NeutronHP2NInelasticFS_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHP2NPInelasticFS_h
#define G4NeutronHP2NPInelasticFS_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHP2PInelasticFS_h
#define G4NeutronHP2PInelasticFS_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHP3AInelasticFS_h
#define G4NeutronHP3AInelasticFS_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHP3NAInelasticFS_h
#define G4NeutronHP3NAInelasticFS_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHP3NInelasticFS_h
#define G4NeutronHP3NInelasticFS_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHP3NPInelasticFS_h
#define G4NeutronHP3NPInelasticFS_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHP4NInelasticFS_h
#define G4NeutronHP4NInelasticFS_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPAInelasticFS_h
#define G4NeutronHPAInelasticFS_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
// 070613 fix memory leaking by T. Koi
//
@@ -61,7 +60,7 @@ class G4NeutronHPAngular
delete theProbArray;
}
void Init(std::ifstream & aDataFile);
void Init(std::istream & aDataFile);
void SampleAndUpdate(G4ReactionProduct & aNeutron);
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPAngularP_h
#define G4NeutronHPAngularP_h 1
@@ -49,7 +48,7 @@ class G4NeutronHPAngularP
if(theProb!=0) delete [] theProb;
}
inline void Init(std::ifstream & aDataFile)
inline void Init(std::istream & aDataFile)
{
G4double eNeu, cosTheta, probDist;
G4int nProb;
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPArbitaryTab_h
#define G4NeutronHPArbitaryTab_h 1
@@ -53,7 +52,7 @@ class G4NeutronHPArbitaryTab : public G4VNeutronHPEDis
if(theDistFunc!=0) delete [] theDistFunc;
}
inline void Init(std::ifstream & theData)
inline void Init(std::istream & theData)
{
G4int i;
theFractionalProb.Init(theData, CLHEP::eV);
@@ -23,7 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id$
//
// -------------------------------------------------------------------
//
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
// Hadronic Process: Very Low Energy Neutron X-Sections
// original by H.P. Wellisch, TRIUMF, 14-Feb-97
@@ -56,6 +55,10 @@ class G4NeutronHPCapture : public G4HadronicInteraction
G4HadFinalState * ApplyYourself(const G4HadProjectile& aTrack, G4Nucleus& aTargetNucleus);
virtual const std::pair<G4double, G4double> GetFatalEnergyCheckLevels() const;
public:
G4int GetVerboseLevel() const;
void SetVerboseLevel( G4int );
private:
@@ -64,7 +67,7 @@ class G4NeutronHPCapture : public G4HadronicInteraction
std::vector<G4NeutronHPChannel*> theCapture;
G4String dirName;
G4int numEle;
G4int it;
// G4int it;
G4HadFinalState theResult;
void addChannelForNewElement();
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
// 080417 Add IsZAApplicable method (return false) by T. Koi
// 080428 Add bool onFlightDB by T. Koi
@@ -80,6 +79,10 @@ class G4NeutronHPCaptureData : public G4VCrossSectionDataSet
void IgnoreOnFlightDopplerBroadening(){ onFlightDB = false; };
void EnableOnFlightDopplerBroadening(){ onFlightDB = true; };
public:
G4int GetVerboseLevel() const;
void SetVerboseLevel( G4int );
private:
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPCaptureFS_h
#define G4NeutronHPCaptureFS_h 1
@@ -72,7 +71,7 @@ class G4NeutronHPCaptureFS : public G4NeutronHPFinalState
G4NeutronHPNames theNames;
G4double theCurrentA;
G4double theCurrentZ;
// G4double theCurrentA;
// G4double theCurrentZ;
};
#endif
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
// Hadronic Process: Very Low Energy Neutron X-Sections
// original by H.P. Wellisch, TRIUMF, 14-Feb-97
@@ -50,12 +49,14 @@
#include "G4NeutronHPCaptureFS.hh"
#include "G4NeutronHPFinalState.hh"
#include "G4Element.hh"
#include "G4WendtFissionFragmentGenerator.hh"
class G4NeutronHPChannel
{
public:
G4NeutronHPChannel()
: wendtFissionGenerator(getenv("G4NEUTRON_HP_USE_WENDT_FISSION_MODEL") == NULL ? NULL : G4WendtFissionFragmentGenerator::GetInstance())
{
theChannelData = new G4NeutronHPVector;
theBuffer = 0;
@@ -128,6 +129,7 @@ public:
inline G4double GetN(G4int i) {return theFinalStates[i]->GetN();}
inline G4double GetZ(G4int i) {return theFinalStates[i]->GetZ();}
inline G4double GetM(G4int i) {return theFinalStates[i]->GetM();}
inline G4bool HasDataInAnyFinalState()
{
@@ -156,6 +158,8 @@ private:
G4Element * theElement;
G4int registerCount;
G4WendtFissionFragmentGenerator* const wendtFissionGenerator;
};
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
// Hadronic Process: Very Low Energy Neutron X-Sections
// original by H.P. Wellisch, TRIUMF, 14-Feb-97
@@ -91,7 +90,7 @@ class G4NeutronHPChannelList
}
private:
static G4int trycounter;
static G4ThreadLocal G4int trycounter;
G4NeutronHPChannel ** theChannels;
G4int nChannels;
G4String theDir;
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
// 080718 Add ClearHistories method and related class member
//
@@ -54,7 +53,7 @@ class G4NeutronHPContAngularPar
if(theAngular!=0) delete [] theAngular;
}
void Init(std::ifstream & aDataFile);
void Init(std::istream & aDataFile);
G4ReactionProduct * Sample(G4double anEnergy, G4double massCode, G4double mass,
G4int angularRep, G4int interpol);
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
// 080721 Add ClearHistories() method by T. Koi
//
@@ -57,7 +56,7 @@ class G4NeutronHPContEnergyAngular : public G4VNeutronHPEnergyAngular
public:
void Init(std::ifstream & aDataFile)
void Init(std::istream & aDataFile)
{
aDataFile >> theTargetCode >> theAngularRep >> theInterpolation >> nEnergy;
theAngular = new G4NeutronHPContAngularPar[nEnergy];
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPD2AInelasticFS_h
#define G4NeutronHPD2AInelasticFS_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPDAInelasticFS_h
#define G4NeutronHPDAInelasticFS_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPDInelasticFS_h
#define G4NeutronHPDInelasticFS_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
// Hadronic Process: Very Low Energy Neutron X-Sections
// original by H.P. Wellisch, TRIUMF, 14-Feb-97
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPDataPoint_h
#define G4NeutronHPDataPoint_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPDeExGammas_h
#define G4NeutronHPDeExGammas_h 1
@@ -58,7 +57,7 @@ class G4NeutronHPDeExGammas
if(theLevels!=0) delete [] theLevels;
}
void Init(std::ifstream & aDataFile);
void Init(std::istream & aDataFile);
inline G4ReactionProductVector * GetDecayGammas(G4int aLevel)
{
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPDiscreteTwoBody_h
#define G4NeutronHPDiscreteTwoBody_h 1
@@ -52,7 +51,7 @@ class G4NeutronHPDiscreteTwoBody : public G4VNeutronHPEnergyAngular
if(theCoeff!=0) delete [] theCoeff;
}
void Init(std::ifstream & aDataFile)
void Init(std::istream & aDataFile)
{
aDataFile >> nEnergy;
theManager.Init(aDataFile);
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
// Hadronic Process: High Precision low E neutron tracking
// original by H.P. Wellisch, TRIUMF, 14-Feb-97
@@ -62,6 +61,10 @@ class G4NeutronHPElastic : public G4HadronicInteraction
void DoNotSuspend() {overrideSuspension = true;}
public:
G4int GetVerboseLevel() const;
void SetVerboseLevel( G4int );
private:
G4double * xSec;
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
// 080417 Add IsZAApplicable method (return false) by T. Koi
// 080428 Add bool onFlightDB by T. Koi
@@ -81,6 +80,9 @@ class G4NeutronHPElasticData : public G4VCrossSectionDataSet
void IgnoreOnFlightDopplerBroadening(){ onFlightDB = false; };
void EnableOnFlightDopplerBroadening(){ onFlightDB = true; };
void SetVerboseLevel( G4int );
G4int GetVerboseLevel() const;
private:
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
// 25-08-06 New Final State type (refFlag==3 , Legendre (Low Energy) + Probability (High Energy) )
// is added by T. KOI
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
// Hadronic Process: Very Low Energy Neutron X-Sections
// original by H.P. Wellisch, TRIUMF, 14-Feb-97
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPEnAngCorrelation_h
#define G4NeutronHPEnAngCorrelation_h 1
@@ -52,7 +51,7 @@ class G4NeutronHPEnAngCorrelation
if(theProducts!=0) delete [] theProducts;
}
inline void Init(std::ifstream & aDataFile)
inline void Init(std::istream & aDataFile)
{
inCharge = true;
aDataFile>>targetMass>>frameFlag>>nProducts;
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPEnergyDistribution_h
#define G4NeutronHPEnergyDistribution_h 1
@@ -65,7 +64,7 @@ class G4NeutronHPEnergyDistribution
}
}
inline void Init(std::ifstream & theData)
inline void Init(std::istream & theData)
{
G4double dummy;
theData >> dummy >> theNumberOfPartials;
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPEvapSpectrum_h
#define G4NeutronHPEvapSpectrum_h 1
@@ -50,7 +49,7 @@ class G4NeutronHPEvapSpectrum : public G4VNeutronHPEDis
{
}
inline void Init(std::ifstream & aDataFile)
inline void Init(std::istream & aDataFile)
{
theFractionalProb.Init(aDataFile);
theThetaDist.Init(aDataFile);
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPFCFissionFS_h
#define G4NeutronHPFCFissionFS_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPFFFissionFS_h
#define G4NeutronHPFFFissionFS_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPFSFissionFS_h
#define G4NeutronHPFSFissionFS_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPFastLegendre_h
#define G4NeutronHPFastLegendre_h 1
@@ -37,7 +36,7 @@ class G4NeutronHPFastLegendre
G4NeutronHPFastLegendre()
{
value = new G4double * [31];
value = new const G4double * [31];
value[0] = l0;
value[1] = l1;
value[2] = l2;
@@ -69,7 +68,7 @@ class G4NeutronHPFastLegendre
value[28] = l28;
value[29] = l29;
value[30] = l30;
integral = new G4double * [31];
integral = new const G4double * [31];
integral[0] = i0;
integral[1] = i1;
integral[2] = i2;
@@ -170,70 +169,70 @@ class G4NeutronHPFastLegendre
return x*slope+off;
}
G4double ** value;
G4double ** integral;
const G4double ** value;
const G4double ** integral;
G4int theNbin[31];
static G4double l0[201];
static G4double i0[201];
static G4double l1[401];
static G4double i1[401];
static G4double l2[601];
static G4double i2[601];
static G4double l3[801];
static G4double i3[801];
static G4double l4[1001];
static G4double i4[1001];
static G4double l5[1201];
static G4double i5[1201];
static G4double l6[1401];
static G4double i6[1401];
static G4double l7[1601];
static G4double i7[1601];
static G4double l8[1801];
static G4double i8[1801];
static G4double l9[2001];
static G4double i9[2001];
static G4double l10[2201];
static G4double i10[2201];
static G4double l11[2401];
static G4double i11[2401];
static G4double l12[2601];
static G4double i12[2601];
static G4double l13[2801];
static G4double i13[2801];
static G4double l14[3001];
static G4double i14[3001];
static G4double l15[3201];
static G4double i15[3201];
static G4double l16[3401];
static G4double i16[3401];
static G4double l17[3601];
static G4double i17[3601];
static G4double l18[3801];
static G4double i18[3801];
static G4double l19[4001];
static G4double i19[4001];
static G4double l20[4201];
static G4double i20[4201];
static G4double l21[4401];
static G4double i21[4401];
static G4double l22[4601];
static G4double i22[4601];
static G4double l23[4801];
static G4double i23[4801];
static G4double l24[5001];
static G4double i24[5001];
static G4double l25[5201];
static G4double i25[5201];
static G4double l26[5401];
static G4double i26[5401];
static G4double l27[5601];
static G4double i27[5601];
static G4double l28[5801];
static G4double i28[5801];
static G4double l29[6001];
static G4double i29[6001];
static G4double l30[6201];
static G4double i30[6201];
static const G4double l0[201];
static const G4double i0[201];
static const G4double l1[401];
static const G4double i1[401];
static const G4double l2[601];
static const G4double i2[601];
static const G4double l3[801];
static const G4double i3[801];
static const G4double l4[1001];
static const G4double i4[1001];
static const G4double l5[1201];
static const G4double i5[1201];
static const G4double l6[1401];
static const G4double i6[1401];
static const G4double l7[1601];
static const G4double i7[1601];
static const G4double l8[1801];
static const G4double i8[1801];
static const G4double l9[2001];
static const G4double i9[2001];
static const G4double l10[2201];
static const G4double i10[2201];
static const G4double l11[2401];
static const G4double i11[2401];
static const G4double l12[2601];
static const G4double i12[2601];
static const G4double l13[2801];
static const G4double i13[2801];
static const G4double l14[3001];
static const G4double i14[3001];
static const G4double l15[3201];
static const G4double i15[3201];
static const G4double l16[3401];
static const G4double i16[3401];
static const G4double l17[3601];
static const G4double i17[3601];
static const G4double l18[3801];
static const G4double i18[3801];
static const G4double l19[4001];
static const G4double i19[4001];
static const G4double l20[4201];
static const G4double i20[4201];
static const G4double l21[4401];
static const G4double i21[4401];
static const G4double l22[4601];
static const G4double i22[4601];
static const G4double l23[4801];
static const G4double i23[4801];
static const G4double l24[5001];
static const G4double i24[5001];
static const G4double l25[5201];
static const G4double i25[5201];
static const G4double l26[5401];
static const G4double i26[5401];
static const G4double l27[5601];
static const G4double i27[5601];
static const G4double l28[5801];
static const G4double i28[5801];
static const G4double l29[6001];
static const G4double i29[6001];
static const G4double l30[6201];
static const G4double i30[6201];
};
#endif
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPField_h
#define G4NeutronHPField_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPFieldPoint_h
#define G4NeutronHPFieldPoint_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
// 080721 Create adjust_final_state method by T. Koi
// 080801 Introduce theNDLDataA,Z which has A and Z of NDL data by T. Koi
@@ -108,6 +107,7 @@ public:
//080721
protected:
void adjust_final_state ( G4LorentzVector );
G4bool DoNotAdjustFinalState(){ return adjustResult; };
G4int theNDLDataZ;
G4int theNDLDataA;
G4int theNDLDataM;
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
// Hadronic Process: High Precision low E neutron tracking
// original by H.P. Wellisch, TRIUMF, 14-Feb-97
@@ -62,6 +61,10 @@ class G4NeutronHPFission : public G4HadronicInteraction
virtual const std::pair<G4double, G4double> GetFatalEnergyCheckLevels() const;
public:
G4int GetVerboseLevel() const;
void SetVerboseLevel( G4int );
private:
G4NeutronHPFissionFS theFS;
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPFissionBaseFS_h
#define G4NeutronHPFissionBaseFS_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
// 080417 Add IsZAApplicable method (return false) by T. Koi
//
@@ -76,6 +75,10 @@ class G4NeutronHPFissionData : public G4VCrossSectionDataSet
void DumpPhysicsTable(const G4ParticleDefinition&);
public:
G4int GetVerboseLevel() const;
void SetVerboseLevel( G4int );
private:
G4PhysicsTable * theCrossSections;
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
// 070606 fix for Valgrind by T. Koi
//
@@ -53,7 +52,7 @@ class G4NeutronHPFissionERelease
}
~G4NeutronHPFissionERelease(){}
inline void Init(std::ifstream & aDataFile)
inline void Init(std::istream & aDataFile)
{
G4double dummy;
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPFissionFS_h
#define G4NeutronHPFissionFS_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPFissionSpectrum_h
#define G4NeutronHPFissionSpectrum_h 1
@@ -51,7 +50,7 @@ class G4NeutronHPFissionSpectrum : public G4VNeutronHPEDis
{
}
inline void Init(std::ifstream & aDataFile)
inline void Init(std::istream & aDataFile)
{
theFractionalProb.Init(aDataFile, CLHEP::eV);
theThetaDist.Init(aDataFile, CLHEP::eV);
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPGamma_h
#define G4NeutronHPGamma_h 1
@@ -44,7 +43,7 @@ class G4NeutronHPGamma
G4NeutronHPGamma();
~G4NeutronHPGamma();
G4bool Init(std::ifstream & aDataFile);
G4bool Init(std::istream & aDataFile);
inline void SetNext(G4NeutronHPLevel * aLevel)
{
@@ -91,7 +90,7 @@ class G4NeutronHPGamma
G4double probability;
G4NeutronHPLevel * next;
static int instancecount;
static G4ThreadLocal int instancecount;
};
#endif
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPHe3InelasticFS_h
#define G4NeutronHPHe3InelasticFS_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
// Hadronic Process: High Precision low E neutron tracking
// original by H.P. Wellisch, TRIUMF, 14-Feb-97
@@ -96,6 +95,10 @@ class G4NeutronHPInelastic : public G4HadronicInteraction
virtual const std::pair<G4double, G4double> GetFatalEnergyCheckLevels() const;
public:
G4int GetVerboseLevel() const;
void SetVerboseLevel( G4int );
private:
G4double * xSec;
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPInelasticBaseFS_h
#define G4NeutronHPInelasticBaseFS_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPInelasticCompFS_h
#define G4NeutronHPInelasticCompFS_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
// 080417 Add IsZAApplicable method (return false) by T. Koi
// 080428 Add bool onFlightDB by T. Koi
@@ -80,6 +79,10 @@ class G4NeutronHPInelasticData : public G4VCrossSectionDataSet
void IgnoreOnFlightDopplerBroadening(){ onFlightDB = false; };
void EnableOnFlightDopplerBroadening(){ onFlightDB = true; };
public:
G4int GetVerboseLevel() const;
void SetVerboseLevel( G4int );
private:
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
// 080809 Change interpolation scheme of "histogram", now using LinearLinear
// For multidimensional interpolations By T. Koi
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPIsoData_h
#define G4NeutronHPIsoData_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPIsotropic_h
#define G4NeutronHPIsotropic_h 1
@@ -45,7 +44,7 @@ class G4NeutronHPIsotropic : public G4VNeutronHPEnergyAngular
public:
void Init(std::ifstream & aDataFile);
void Init(std::istream & aDataFile);
G4ReactionProduct * Sample(G4double anEnergy, G4double massCode, G4double mass);
G4double MeanEnergyOfThisInteraction()
{
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPKallbachMannSyst_h
#define G4NeutronHPKallbachMannSyst_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPLCFissionFS_h
#define G4NeutronHPLCFissionFS_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPLabAngularEnergy_h
#define G4NeutronHPLabAngularEnergy_h 1
@@ -65,7 +64,7 @@ class G4NeutronHPLabAngularEnergy : public G4VNeutronHPEnergyAngular
public:
void Init(std::ifstream & aDataFile);
void Init(std::istream & aDataFile);
G4ReactionProduct * Sample(G4double anEnergy, G4double massCode, G4double mass);
G4double MeanEnergyOfThisInteraction()
{
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPLegendreStore_h
#define G4NeutronHPLegendreStore_h 1
@@ -76,7 +75,7 @@ class G4NeutronHPLegendreStore
G4double SampleMax (G4double energy);
G4double Integrate(G4int k, G4double costh);
void InitInterpolation(std::ifstream & aDataFile)
void InitInterpolation(std::istream & aDataFile)
{
theManager.Init(aDataFile);
}
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPLegendreTable_h
#define G4NeutronHPLegendreTable_h 1
@@ -64,7 +63,7 @@ class G4NeutronHPLegendreTable
}
}
inline void Init(std::ifstream & aDataFile)
inline void Init(std::istream & aDataFile)
{
G4double eNeu, coeff;
G4int nPoly;
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPLevel_h
#define G4NeutronHPLevel_h 1
@@ -58,9 +58,9 @@ class G4NeutronHPList
void Dump();
void Init(std::ifstream & aDataFile, G4int nPar, G4double unit=1.);
void Init(std::istream & aDataFile, G4int nPar, G4double unit=1.);
void Init(std::ifstream & aDataFile, G4double unit=1.);
void Init(std::istream & aDataFile, G4double unit=1.);
inline void SetLabel(G4double aLabel) { theLabel = aLabel; }
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPMadlandNixSpectrum_h
#define G4NeutronHPMadlandNixSpectrum_h 1
@@ -56,7 +55,7 @@ class G4NeutronHPMadlandNixSpectrum : public G4VNeutronHPEDis
{
}
inline void Init(std::ifstream & aDataFile)
inline void Init(std::istream & aDataFile)
{
theFractionalProb.Init(aDataFile);
aDataFile>> theAvarageKineticPerNucleonForLightFragments;
@@ -48,15 +48,20 @@ class G4NeutronHPManager
G4NeutronHPManager();
G4NeutronHPManager( const G4NeutronHPManager& ){};
~G4NeutronHPManager();
static G4NeutronHPManager* instance;
static G4ThreadLocal G4NeutronHPManager* instance;
public:
G4NeutronHPReactionWhiteBoard* GetReactionWhiteBoard();
void OpenReactionWhiteBoard();
void CloseReactionWhiteBoard(){delete RWB; RWB=NULL;};
void GetDataStream( G4String , std::istringstream& iss );
void SetVerboseLevel( G4int i );
G4int GetVerboseLevel() {return verboseLevel; };
private:
G4NeutronHPReactionWhiteBoard* RWB;
};
G4int verboseLevel;
};
#endif
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPN2AInelasticFS_h
#define G4NeutronHPN2AInelasticFS_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPN2PInelasticFS_h
#define G4NeutronHPN2PInelasticFS_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPN3AInelasticFS_h
#define G4NeutronHPN3AInelasticFS_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPNAInelasticFS_h
#define G4NeutronHPNAInelasticFS_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPNBodyPhaseSpace_h
#define G4NeutronHPNBodyPhaseSpace_h 1
@@ -53,7 +52,7 @@ class G4NeutronHPNBodyPhaseSpace : public G4VNeutronHPEnergyAngular
theTotalCount=aCount;
}
void Init(std::ifstream & aDataFile)
void Init(std::istream & aDataFile)
{
aDataFile >> theTotalMass >> theTotalCount;
theTotalMass *= G4Neutron::Neutron()->GetPDGMass();
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPND2AInelasticFS_h
#define G4NeutronHPND2AInelasticFS_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPNDInelasticFS_h
#define G4NeutronHPNDInelasticFS_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPNHe3InelasticFS_h
#define G4NeutronHPNHe3InelasticFS_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPNInelasticFS_h
#define G4NeutronHPNInelasticFS_h 1
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id$
//
#ifndef G4NeutronHPNPAInelasticFS_h
#define G4NeutronHPNPAInelasticFS_h 1

Some files were not shown because too many files have changed in this diff Show More