|
GGEMS
1.1
GPU GEant4-based Monte Carlo Simulations
|
Go to the documentation of this file.
42 GGcout(
"GGEMSPhotoElectricEffect",
"GGEMSPhotoElectricEffect", 3) <<
"GGEMSPhotoElectricEffect creating..." <<
GGendl;
47 if (primary_particle !=
"gamma") {
48 std::ostringstream oss(std::ostringstream::out);
49 oss <<
"For PhotoElectric effect, incident particle has to be a 'gamma'";
58 GGcout(
"GGEMSPhotoElectricEffect",
"GGEMSPhotoElectricEffect", 3) <<
"GGEMSPhotoElectricEffect created!!!" <<
GGendl;
67 GGcout(
"GGEMSPhotoElectricEffect",
"~GGEMSPhotoElectricEffect", 3) <<
"GGEMSPhotoElectricEffect erasing..." <<
GGendl;
69 GGcout(
"GGEMSPhotoElectricEffect",
"~GGEMSPhotoElectricEffect", 3) <<
"GGEMSPhotoElectricEffect erased!!!" <<
GGendl;
80 if (energy < e_min)
return 0.0f;
90 GGfloat energy_inv = 1.0f / energy;
91 GGfloat energy_inv2 = energy_inv * energy_inv;
__constant GGshort kNumberOfIntervals[101]
std::string primary_particle_
~GGEMSPhotoElectricEffect(void)
GGEMSPhotoElectricEffect destructor.
std::string secondary_particle_
std::string process_name_
__constant GGchar PHOTOELECTRIC_EFFECT
Sandia table useful for photoelectric effect.
__constant GGfloat kSandiaTable[981][5]
GGEMS mother class for electromagnectic process.
__constant GGfloat ATOMIC_MASS_UNIT
Photoelectric Effect process using Sandia table.
GGEMSPhotoElectricEffect(std::string const &primary_particle="gamma", bool const &is_secondary=false)
GGEMSPhotoElectricEffect constructor.
__constant GGfloat kIonizationPotentials[101]
#define GGendl
overload C++ std::endl
GGEMS class handling material(s) for a specific navigator.
__constant GGfloat kZtoARatio[101]
__constant GGshort kCumulativeIntervals[101]
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.