Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
MCGIDI::Distributions Namespace Reference

Classes

class  Distribution
class  AngularTwoBody
class  Uncorrelated
class  Branching3d
class  EnergyAngularMC
class  AngularEnergyMC
class  KalbachMann
class  CoherentPhotoAtomicScattering
class  IncoherentPhotoAtomicScattering
class  IncoherentBoundToFreePhotoAtomicScattering
class  IncoherentPhotoAtomicScatteringElectron
class  PairProductionGamma
class  CoherentElasticTNSL
class  IncoherentElasticTNSL
class  Unspecified

Enumerations

enum class  Type {
  none , unspecified , angularTwoBody , KalbachMann ,
  uncorrelated , branching3d , energyAngularMC , angularEnergyMC ,
  coherentPhotoAtomicScattering , incoherentPhotoAtomicScattering , incoherentPhotoAtomicScatteringElectron , incoherentBoundToFreePhotoAtomicScattering ,
  pairProductionGamma , coherentElasticTNSL , incoherentElasticTNSL
}

Functions

LUPI_HOST DistributionparseGIDI (GIDI::Suite const &a_distribution, SetupInfo &a_setupInfo, Transporting::MC const &a_settings)
LUPI_HOST_DEVICE Type DistributionType (Distribution const *a_distribution)

Enumeration Type Documentation

◆ Type

enum class MCGIDI::Distributions::Type
strong
Enumerator
none 
unspecified 
angularTwoBody 
KalbachMann 
uncorrelated 
branching3d 
energyAngularMC 
angularEnergyMC 
coherentPhotoAtomicScattering 
incoherentPhotoAtomicScattering 
incoherentPhotoAtomicScatteringElectron 
incoherentBoundToFreePhotoAtomicScattering 
pairProductionGamma 
coherentElasticTNSL 
incoherentElasticTNSL 

Definition at line 19 of file MCGIDI_distributions.hpp.

Function Documentation

◆ DistributionType()

LUPI_HOST_DEVICE Type MCGIDI::Distributions::DistributionType ( Distribution const * a_distribution)
Parameters
a_distribution[in] The GIDI::Protare whose data is to be used to construct this.
Returns
The type of the distribution or Distributions::Type::none if a_distribution is a nullptr pointer.

Definition at line 1519 of file MCGIDI_distributions.cc.

1519 {
1520
1521 if( a_distribution == nullptr ) return( Type::none );
1522 return( a_distribution->type( ) );
1523}

◆ parseGIDI()

LUPI_HOST Distribution * MCGIDI::Distributions::parseGIDI ( GIDI::Suite const & a_distribution,
SetupInfo & a_setupInfo,
Transporting::MC const & a_settings )

This function is used to call the proper distribution constructor for a_distribution.

Parameters
a_distribution[in] The GIDI::Protare whose data is to be used to construct this.
a_setupInfo[in] Used internally when constructing a Protare to pass information to other constructors.
a_settings[in] Used to pass user options to the this to instruct it which data are desired.

Definition at line 1426 of file MCGIDI_distributions.cc.

1426 {
1427
1428 if( a_setupInfo.m_protare.projectileIntid( ) == PoPI::Intids::neutron ) {
1429 if( a_settings.wantRawTNSL_distributionSampling( ) ) {
1430 if( a_setupInfo.m_reaction->doubleDifferentialCrossSection( ).size( ) > 0 ) {
1431 GIDI::Form const *form = a_setupInfo.m_reaction->doubleDifferentialCrossSection( ).get<GIDI::Form>( 0 );
1432
1433 if( form->type( ) == GIDI::FormType::coherentElastic ) {
1436 return( new CoherentElasticTNSL( coherentElasticTNSL, a_setupInfo ) ); }
1437 else if( form->type( ) == GIDI::FormType::incoherentElastic ) {
1440 return( new IncoherentElasticTNSL( incoherentElasticTNSL, a_setupInfo ) );
1441 }
1442 }
1443 }
1444 }
1445
1446 std::string const *label = a_settings.styles( )->findLabelInLineage( a_distribution, a_setupInfo.m_distributionLabel );
1447 GIDI::Distributions::Distribution const &GIDI_distribution = *a_distribution.get<GIDI::Distributions::Distribution>( *label );
1448
1449 return parseGIDI2( GIDI_distribution, a_setupInfo, a_settings );
1450}
FormType type() const
Definition GIDI.hpp:667
Component & doubleDifferentialCrossSection()
Definition GIDI.hpp:4297
T * get(std::size_t a_Index)
Definition GIDI.hpp:2642
std::size_t size() const
Definition GIDI.hpp:2591
LUPI_HOST_DEVICE int projectileIntid() const
Definition MCGIDI.hpp:1517
std::string m_distributionLabel
Definition MCGIDI.hpp:269
ProtareSingle & m_protare
Definition MCGIDI.hpp:254
GIDI::Reaction const * m_reaction
Definition MCGIDI.hpp:272
@ incoherentElastic
Definition GIDI.hpp:136
static int constexpr neutron
Definition PoPI.hpp:177

Referenced by MCGIDI::Product::Product().