Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
MCGIDI.hpp File Reference
#include "math.h"
#include <LUPI.hpp>
#include <PoPI.hpp>
#include <GIDI.hpp>
#include <LUPI_dataBuffer.hpp>
#include <MCGIDI_sampling.hpp>
#include <MCGIDI_vector.hpp>
#include <MCGIDI_string.hpp>
#include "MCGIDI_functions.hpp"
#include "MCGIDI_distributions.hpp"
#include "MCGIDI_headerSource.hpp"

Go to the source code of this file.

Classes

class  MCGIDI::Transporting::MC
class  MCGIDI::ACE_URR_probabilityTablesFromGIDI
class  MCGIDI::SetupInfo
class  MCGIDI::MultiGroupHash
class  MCGIDI::URR_protareInfo
class  MCGIDI::URR_protareInfos
class  MCGIDI::ACE_URR_probabilityTable
class  MCGIDI::ACE_URR_probabilityTables
class  MCGIDI::HeatedReactionCrossSectionContinuousEnergy
class  MCGIDI::ContinuousEnergyGain
class  MCGIDI::HeatedCrossSectionContinuousEnergy
class  MCGIDI::HeatedCrossSectionsContinuousEnergy
class  MCGIDI::MultiGroupGain
class  MCGIDI::HeatedReactionCrossSectionMultiGroup
class  MCGIDI::HeatedCrossSectionMultiGroup
class  MCGIDI::HeatedCrossSectionsMultiGroup
class  MCGIDI::NuclideGammaBranchInfo
class  MCGIDI::NuclideGammaBranchStateInfo
class  MCGIDI::GRIN_levelsAndProbabilities
class  MCGIDI::GRIN_inelasticForEnergy
class  MCGIDI::GRIN_inelastic
class  MCGIDI::GRIN_captureToCompound
class  MCGIDI::GRIN_captureLevelProbability
class  MCGIDI::GRIN_capture
class  MCGIDI::Product
class  MCGIDI::DelayedNeutron
class  MCGIDI::OutputChannel
class  MCGIDI::Reaction
class  MCGIDI::Protare
class  MCGIDI::ProtareSingle
class  MCGIDI::ProtareComposite
class  MCGIDI::ProtareTNSL

Namespaces

namespace  MCGIDI
 Simple C++ string class, useful as replacement for std::string if this cannot be used, or just for fun.
namespace  MCGIDI::Transporting
namespace  MCGIDI::Transporting::LookupMode
namespace  MCGIDI::Transporting::Reaction

Macros

#define MCGIDI_USE_DOUBLES   1
#define MCGIDI_FLOAT   double
#define DATA_MEMBER_VECTOR_FLOAT_OR_DOUBLE   DATA_MEMBER_VECTOR_DOUBLE
#define _USE_MATH_DEFINES
#define MCGIDI_VIRTUAL_FUNCTION
#define MCGIDI_TRUE_VIRTUAL
#define MCGIDI_PRINTF   printf
#define MCGIDI_nullReaction   999999999
#define MCGIDI_speedOfLight_cm_sh   299.792458
#define MCGIDI_speedOfLight_cm_sec   ( MCGIDI_speedOfLight_cm_sh * 1e8 )
#define MCGIDI_classicalElectronRadius   0.2817940322010228
#define MCGIDI_particleBeta(a_mass_unitOfEnergy, a_kineticEnergy)

Enumerations

enum class  MCGIDI::ProtareType { MCGIDI::single , MCGIDI::composite , MCGIDI::TNSL }
enum class  MCGIDI::Transporting::URR_mode { MCGIDI::Transporting::none , MCGIDI::Transporting::pdfs , MCGIDI::Transporting::ACE_URR_probabilityTables }
enum class  MCGIDI::Transporting::LookupMode::Data1d { MCGIDI::Transporting::LookupMode::continuousEnergy , MCGIDI::Transporting::LookupMode::multiGroup }
enum class  MCGIDI::Transporting::LookupMode::Distribution { MCGIDI::Transporting::LookupMode::pdf_cdf , MCGIDI::Transporting::LookupMode::epbs }
enum class  MCGIDI::Transporting::Reaction::Type { MCGIDI::Transporting::Reaction::Reactions , MCGIDI::Transporting::Reaction::OrphanProducts }
enum class  MCGIDI::TwoBodyOrder { MCGIDI::notApplicable , MCGIDI::firstParticle , MCGIDI::secondParticle }
enum class  MCGIDI::ChannelType { MCGIDI::none , MCGIDI::twoBody , MCGIDI::uncorrelatedBodies }

Functions

LUPI_HOST_DEVICE double MCGIDI::particleKineticEnergy (double a_mass_unitOfEnergy, double a_particleBeta)
LUPI_HOST_DEVICE double MCGIDI::particleKineticEnergyFromBeta2 (double a_mass_unitOfEnergy, double a_particleBeta2)
LUPI_HOST_DEVICE double MCGIDI::boostSpeed (double a_massProjectile, double a_kineticEnergyProjectile, double a_massTarget)
LUPI_HOST_DEVICE int MCGIDI::muCOM_From_muLab (double a_muLab, double a_boostBeta, double a_productBeta, double &a_muPlus, double &a_JacobianPlus, double &a_muMinus, double &a_JacobianMinus)
LUPI_HOST int MCGIDI::MCGIDI_popsIntid (PoPI::Database const &a_pops, std::string const &a_ID)
LUPI_HOST int MCGIDI::MCGIDI_popsIndex (PoPI::Database const &a_pops, std::string const &a_ID)
LUPI_HOST_DEVICE int MCGIDI::binarySearchVector (double a_x, Vector< double > const &a_Xs, bool a_boundIndex=false)
LUPI_HOST_DEVICE int MCGIDI::binarySearchVectorBounded (double a_x, Vector< double > const &a_Xs, std::size_t a_lower, std::size_t a_upper, bool a_boundIndex)
LUPI_HOST ProtareMCGIDI::protareFromGIDIProtare (LUPI::StatusMessageReporting &a_smr, GIDI::Protare const &a_protare, PoPI::Database const &a_pops, Transporting::MC &a_settings, GIDI::Transporting::Particles const &a_particles, DomainHash const &a_domainHash, GIDI::Styles::TemperatureInfos const &a_temperatureInfos, GIDI::ExcludeReactionsSet const &a_reactionsToExclude, std::size_t a_reactionsToExcludeOffset=0, bool a_allowFixedGrid=true)
LUPI_HOST Vector< double > MCGIDI::GIDI_VectorDoublesToMCGIDI_VectorDoubles (GIDI::Vector a_vector)
LUPI_HOST void MCGIDI::addVectorItemsToSet (Vector< int > const &a_from, std::set< int > &a_to)
LUPI_HOST_DEVICE int MCGIDI::distributionTypeToInt (Distributions::Type a_type)
LUPI_HOST_DEVICE Distributions::Type MCGIDI::intToDistributionType (int a_type)
LUPI_HOST_DEVICE void MCGIDI::serializeProducts (LUPI::DataBuffer &a_buffer, LUPI::DataBuffer::Mode a_mode, Vector< Product * > &a_products)
LUPI_HOST_DEVICE void MCGIDI::serializeDelayedNeutrons (LUPI::DataBuffer &a_buffer, LUPI::DataBuffer::Mode a_mode, Vector< DelayedNeutron * > &a_delayedNeutrons)
LUPI_HOST_DEVICE void MCGIDI::serializeQs (LUPI::DataBuffer &a_buffer, LUPI::DataBuffer::Mode a_mode, Vector< Functions::Function1d_d1 * > &a_Qs)
LUPI_HOST_DEVICE void MCGIDI::serializeFissionResiduals (GIDI::Construction::FissionResiduals &a_fissionResiduals, LUPI::DataBuffer &a_buffer, LUPI::DataBuffer::Mode a_mode)
LUPI_HOST void MCGIDI::convertACE_URR_probabilityTablesFromGIDI (GIDI::ProtareSingle const &a_protare, Transporting::MC &a_settings, SetupInfo &a_setupInfo)
LUPI_HOST_DEVICE Transporting::URR_mode MCGIDI::serializeURR_mode (Transporting::URR_mode a_URR_mode, LUPI::DataBuffer &a_buffer, LUPI::DataBuffer::Mode a_mode)
LUPI_HOST_DEVICE ACE_URR_probabilityTablesMCGIDI::serializeACE_URR_probabilityTables (ACE_URR_probabilityTables *a_ACE_URR_probabilityTables, LUPI::DataBuffer &a_buffer, LUPI::DataBuffer::Mode a_mode)
LUPI_HOST_DEVICE Distributions::DistributionMCGIDI::serializeDistribution (LUPI::DataBuffer &a_buffer, LUPI::DataBuffer::Mode a_mode, Distributions::Distribution *a_distribution)
LUPI_HOST std::vector< double > MCGIDI::vectorToSTD_vector (Vector< double > a_input)
LUPI_HOST std::vector< double > MCGIDI::vectorToSTD_vector (Vector< float > a_input)

Macro Definition Documentation

◆ _USE_MATH_DEFINES

#define _USE_MATH_DEFINES

Definition at line 22 of file MCGIDI.hpp.

◆ DATA_MEMBER_VECTOR_FLOAT_OR_DOUBLE

◆ MCGIDI_classicalElectronRadius

◆ MCGIDI_FLOAT

#define MCGIDI_FLOAT   double

Definition at line 18 of file MCGIDI.hpp.

Referenced by MCGIDI::ContinuousEnergyGain::ContinuousEnergyGain().

◆ MCGIDI_nullReaction

◆ MCGIDI_particleBeta

#define MCGIDI_particleBeta ( a_mass_unitOfEnergy,
a_kineticEnergy )
Value:
( (a_mass_unitOfEnergy) == 0.0 ? 1 : sqrt( (a_kineticEnergy) * ( (a_kineticEnergy) + 2.0 * (a_mass_unitOfEnergy) ) ) / ( (a_kineticEnergy) + (a_mass_unitOfEnergy) ) )

Definition at line 71 of file MCGIDI.hpp.

71#define MCGIDI_particleBeta( a_mass_unitOfEnergy, a_kineticEnergy ) \
72 ( (a_mass_unitOfEnergy) == 0.0 ? 1 : sqrt( (a_kineticEnergy) * ( (a_kineticEnergy) + 2.0 * (a_mass_unitOfEnergy) ) ) / ( (a_kineticEnergy) + (a_mass_unitOfEnergy) ) )

Referenced by MCGIDI::Distributions::AngularTwoBody::angleBiasing(), MCGIDI::Distributions::EnergyAngularMC::angleBiasing(), MCGIDI::Distributions::KalbachMann::angleBiasing(), MCGIDI::Distributions::Uncorrelated::angleBiasing(), MCGIDI::boostSpeed(), MCGIDI::Sampling::Upscatter::ModelDBRC_data::crossSectionMax(), MCGIDI::Reaction::sampleProducts(), and MCGIDI::ProtareSingle::sampleTargetBetaForUpscatterModelA().

◆ MCGIDI_PRINTF

#define MCGIDI_PRINTF   printf

◆ MCGIDI_speedOfLight_cm_sec

◆ MCGIDI_speedOfLight_cm_sh

#define MCGIDI_speedOfLight_cm_sh   299.792458

Definition at line 67 of file MCGIDI.hpp.

◆ MCGIDI_TRUE_VIRTUAL

◆ MCGIDI_USE_DOUBLES

#define MCGIDI_USE_DOUBLES   1

Definition at line 13 of file MCGIDI.hpp.

◆ MCGIDI_VIRTUAL_FUNCTION