|
GGEMS
1.1
GPU GEant4-based Monte Carlo Simulations
|
Go to the documentation of this file.
42 GGcout(
"GGEMSRayleighScattering",
"GGEMSRayleighScattering", 3) <<
"GGEMSRayleighScattering creating..." <<
GGendl;
47 if (primary_particle !=
"gamma") {
48 std::ostringstream oss(std::ostringstream::out);
49 oss <<
"For Rayleigh scattering, incident particle has to be a 'gamma'";
54 if (is_secondary ==
true) {
55 GGwarn(
"GGEMSRayleighScattering",
"GGEMSRayleighScattering", 0) <<
"There is no secondary during Rayleigh process!!! Secondary flag set to false" <<
GGendl;
62 GGcout(
"GGEMSRayleighScattering",
"GGEMSRayleighScattering", 3) <<
"GGEMSRayleighScattering created!!!" <<
GGendl;
71 GGcout(
"GGEMSRayleighScattering",
"GGEMSRayleighScattering", 3) <<
"GGEMSRayleighScattering erasing..." <<
GGendl;
73 GGcout(
"GGEMSRayleighScattering",
"GGEMSRayleighScattering", 3) <<
"GGEMSRayleighScattering erased!!!" <<
GGendl;
83 if (energy < 250e-6f || energy > 100e3f)
return 0.0f;
89 for (; pos < kStop; pos += 2) {
std::string primary_particle_
Definitions of miscellaneous mathematical functions.
~GGEMSRayleighScattering(void)
GGEMSRayleighScattering destructor.
std::string process_name_
GGEMSRayleighScattering(std::string const &primary_particle="gamma", bool const &is_secondary=false)
GGEMSRayleighScattering constructor.
GGEMS mother class for electromagnectic process.
__constant GGint kCrossSectionCumulativeIntervals[101]
Rayleigh scattering process using Livermore model.
GGfloat LogLogInterpolation(GGfloat x, GGfloat x0, GGfloat y0, GGfloat x1, GGfloat y1)
log log interpolation of the x value between point (x0,y0) and (x1,y1)
__constant GGint kCrossSectionNumberOfIntervals[101]
#define GGendl
overload C++ std::endl
GGEMS class handling material(s) for a specific navigator.
__constant GGfloat kCrossSection[213816]
__constant GGchar RAYLEIGH_SCATTERING
GGfloat ComputeCrossSectionPerAtom(GGfloat const &energy, GGuchar const &atomic_number) const override
compute Compton cross section for an atom with Klein-Nishina
void ThrowException(std::string const &class_name, std::string const &method_name, std::string const &message)
Throw a C++ exception.