31LUPI_HOST MC::MC(
LUPI_maybeUnused PoPI::Database
const &a_pops, std::string
const &a_projectileID, GIDI::Styles::Suite
const *a_styles, std::string
const &a_label,
33 GIDI::Transporting::Settings( a_projectileID, a_delayedNeutrons ),
36 m_energyDomainMax( a_energyDomainMax ),
37 m_ignoreENDF_MT5( false ),
38 m_sampleNonTransportingParticles( false ),
39 m_useSlowerContinuousEnergyConversion( false ),
40 m_addExpectedValueData( true ),
44 m_upscatterModel( Sampling::Upscatter::
Model::
none ),
46 m_wantTerrellPromptNeutronDistribution( false ),
47 m_wantRawTNSL_distributionSampling( true ),
48 m_makePhotonEmissionProbabilitiesOne( false ),
49 m_zeroNuclearLevelEnergyWidth( false ) {
65 GIDI::Transporting::Settings( a_protare.projectile( ).ID( ), a_delayedNeutrons ),
66 m_styles( &a_protare.styles( ) ),
68 m_energyDomainMax( a_energyDomainMax ),
69 m_ignoreENDF_MT5( false ),
70 m_sampleNonTransportingParticles( false ),
71 m_useSlowerContinuousEnergyConversion( false ),
72 m_addExpectedValueData( true ),
76 m_upscatterModel( Sampling::Upscatter::
Model::
none ),
78 m_wantTerrellPromptNeutronDistribution( false ),
79 m_wantRawTNSL_distributionSampling( true ),
80 m_makePhotonEmissionProbabilitiesOne( false ),
81 m_zeroNuclearLevelEnergyWidth( false ) {
95 throw(
"Invalided cross section mode request." );
97 m_crossSectionLookupMode = a_crossSectionLookupMode;
109 m_other1dDataLookupMode = a_other1dDataLookupMode;
121 m_distributionLookupMode = a_distributionLookupMode;
133 double priorValue = 0.0;
135 for( std::size_t index = 0; index < a_groupBoundaries.size( ); ++index ) {
136 double value = a_groupBoundaries[index];
139 if( value <= priorValue )
throw(
"MC::setUpscatterModelAGroupBoundaries: group boundaries not in ascending order/" );
144 m_upscatterModelAGroupBoundaries = a_groupBoundaries;
LUPI_HOST MC(PoPI::Database const &a_pops, std::string const &a_projectileID, GIDI::Styles::Suite const *a_styles, std::string const &a_label, GIDI::Transporting::DelayedNeutrons a_delayedNeutrons, double energyDomainMax)
LUPI_HOST void setCrossSectionLookupMode(LookupMode::Data1d a_crossSectionLookupMode)
LUPI_HOST void setOther1dDataLookupMode(LookupMode::Data1d a_other1dDataLookupMode)
LUPI_HOST void setDistributionLookupMode(LookupMode::Distribution a_distributionLookupMode)
LUPI_HOST void setUpscatterModelAGroupBoundaries(std::vector< double > const &a_groupBoundaries)
Simple C++ string class, useful as replacement for std::string if this cannot be used,...