GGEMS  1.1
GPU GEant4-based Monte Carlo Simulations
GGEMSRayleighScattering Class Reference

rayleigh scattering process using Sandia table More...

#include "GGEMSRayleighScattering.hh"

Inheritance diagram for GGEMSRayleighScattering:
Inheritance graph
Collaboration diagram for GGEMSRayleighScattering:
Collaboration graph

Public Member Functions

 GGEMSRayleighScattering (std::string const &primary_particle="gamma", bool const &is_secondary=false)
 GGEMSRayleighScattering constructor. More...
 
 ~GGEMSRayleighScattering (void)
 GGEMSRayleighScattering destructor. More...
 
 GGEMSRayleighScattering (GGEMSRayleighScattering const &rayleigh_scattering)=delete
 Avoid copy by reference. More...
 
GGEMSRayleighScatteringoperator= (GGEMSRayleighScattering const &rayleigh_scattering)=delete
 Avoid assignement by reference. More...
 
 GGEMSRayleighScattering (GGEMSRayleighScattering const &&rayleigh_scattering)=delete
 Avoid copy by rvalue reference. More...
 
GGEMSRayleighScatteringoperator= (GGEMSRayleighScattering const &&rayleigh_scattering)=delete
 Avoid copy by rvalue reference. More...
 
- Public Member Functions inherited from GGEMSEMProcess
 GGEMSEMProcess (void)
 GGEMSEMProcess constructor. More...
 
virtual ~GGEMSEMProcess (void)
 GGEMSEMProcess destructor. More...
 
 GGEMSEMProcess (GGEMSEMProcess const &em_process)=delete
 Avoid copy by reference. More...
 
GGEMSEMProcessoperator= (GGEMSEMProcess const &em_process)=delete
 Avoid assignement by reference. More...
 
 GGEMSEMProcess (GGEMSEMProcess const &&em_process)=delete
 Avoid copy by rvalue reference. More...
 
GGEMSEMProcessoperator= (GGEMSEMProcess const &&em_process)=delete
 Avoid copy by rvalue reference. More...
 
std::string GetProcessName (void) const
 get the name of the process More...
 
virtual void BuildCrossSectionTables (cl::Buffer *particle_cross_sections, cl::Buffer *material_tables, GGsize const &thread_index)
 build cross section tables and storing them in particle_cross_sections More...
 

Private Member Functions

GGfloat ComputeCrossSectionPerAtom (GGfloat const &energy, GGuchar const &atomic_number) const override
 compute Compton cross section for an atom with Klein-Nishina More...
 

Additional Inherited Members

- Protected Member Functions inherited from GGEMSEMProcess
GGfloat ComputeCrossSectionPerMaterial (GGEMSParticleCrossSections *cross_section, GGEMSMaterialTables const *material_tables, GGsize const &material_index, GGsize const &energy_index)
 compute cross section for a process for a material More...
 
- Protected Attributes inherited from GGEMSEMProcess
GGchar process_id_
 
std::string process_name_
 
std::string primary_particle_
 
std::string secondary_particle_
 
bool is_secondaries_
 

Detailed Description

rayleigh scattering process using Sandia table

Definition at line 40 of file GGEMSRayleighScattering.hh.

Constructor & Destructor Documentation

◆ GGEMSRayleighScattering() [1/3]

GGEMSRayleighScattering::GGEMSRayleighScattering ( std::string const &  primary_particle = "gamma",
bool const &  is_secondary = false 
)

GGEMSRayleighScattering constructor.

Parameters
primary_particle- type of primary particle (gamma)
is_secondary- flag activating secondary, always false for Rayleigh

Definition at line 39 of file GGEMSRayleighScattering.cc.

◆ ~GGEMSRayleighScattering()

GGEMSRayleighScattering::~GGEMSRayleighScattering ( void  )

GGEMSRayleighScattering destructor.

Definition at line 69 of file GGEMSRayleighScattering.cc.

◆ GGEMSRayleighScattering() [2/3]

GGEMSRayleighScattering::GGEMSRayleighScattering ( GGEMSRayleighScattering const &  rayleigh_scattering)
delete

Avoid copy by reference.

Parameters
rayleigh_scattering- reference on the GGEMS rayleigh scattering

◆ GGEMSRayleighScattering() [3/3]

GGEMSRayleighScattering::GGEMSRayleighScattering ( GGEMSRayleighScattering const &&  rayleigh_scattering)
delete

Avoid copy by rvalue reference.

Parameters
rayleigh_scattering- rvalue reference on the GGEMS rayleigh scattering

Member Function Documentation

◆ ComputeCrossSectionPerAtom()

GGfloat GGEMSRayleighScattering::ComputeCrossSectionPerAtom ( GGfloat const &  energy,
GGuchar const &  atomic_number 
) const
overrideprivatevirtual

compute Compton cross section for an atom with Klein-Nishina

Parameters
energy- energy of the bin
atomic_number- Z number of the chemical element
Returns
Compton cross section by atom

Implements GGEMSEMProcess.

Definition at line 80 of file GGEMSRayleighScattering.cc.

◆ operator=() [1/2]

GGEMSRayleighScattering & GGEMSRayleighScattering::operator= ( GGEMSRayleighScattering const &&  rayleigh_scattering)
delete

Avoid copy by rvalue reference.

Parameters
rayleigh_scattering- rvalue reference on the GGEMS rayleigh scattering

◆ operator=() [2/2]

GGEMSRayleighScattering & GGEMSRayleighScattering::operator= ( GGEMSRayleighScattering const &  rayleigh_scattering)
delete

Avoid assignement by reference.

Parameters
rayleigh_scattering- reference on the GGEMS rayleigh scattering

The documentation for this class was generated from the following files: