|
GGEMS
1.1
GPU GEant4-based Monte Carlo Simulations
|
Go to the documentation of this file. 1 #ifndef GUARD_GGEMS_PHYSICS_GGEMSCROSSSECTIONS_HH
2 #define GUARD_GGEMS_PHYSICS_GGEMSCROSSSECTIONS_HH
35 #pragma warning(disable: 4251) // Deleting warning exporting STL members!!!
100 void AddProcess(std::string
const& process_name, std::string
const& particle_type,
bool const& is_secondary =
false);
140 GGfloat GetPhotonCrossSection(std::string
const& process_name, std::string
const& material_name,
GGfloat const& energy, std::string
const& unit)
const;
153 void LoadPhysicTablesOnHost(
void);
208 #endif // End of GUARD_GGEMS_PHYSICS_GGEMSCROSSSECTIONS_HH
GGsize number_activated_devices_
GGEMSEMProcess ** em_processes_list_
void add_process_ggems_cross_sections(GGEMSCrossSections *cross_sections, char const *process_name, char const *particle_name, bool const is_secondary)
Add a process to cross section table.
GGEMS class handling the cross sections tables.
std::vector< bool > is_process_activated_
GGEMS class handling material(s) for a specific navigator.
cl::Buffer * GetCrossSections(GGsize const &thread_index) const
return the pointer to OpenCL buffer storing cross sections
Structure storing the photon cross sections for OpenCL device.
GGfloat get_cs_cross_sections(GGEMSCrossSections *cross_sections, char const *process_name, char const *material_name, GGfloat const energy, char const *unit)
get the cross section value of process
GGsize number_of_activated_processes_
GGEMSCrossSections & operator=(GGEMSCrossSections const &&cross_sections)=delete
Avoid copy by rvalue reference.
GGEMSParticleCrossSections * particle_cross_sections_host_
GGEMS mother class for electromagnectic process.
cl::Buffer ** particle_cross_sections_
Structure storing the particle (photon, electron, positron) cross sections for OpenCL device.
GGEMSCrossSections & operator=(GGEMSCrossSections const &cross_sections)=delete
Avoid assignement by reference.
GGEMSCrossSections(GGEMSCrossSections const &cross_sections)=delete
Avoid copy by reference.
GGEMS class managing the processes in GGEMS simulation.
Singleton class storing all informations about OpenCL and managing GPU/CPU devices,...
void initialize_ggems_cross_sections(GGEMSCrossSections *cross_sections, GGEMSMaterials *materials)
Intialize the cross section tables for process and materials.
GGsize GetNumberOfActivatedEMProcesses(void) const
get the number of activated processes
GGEMSEMProcess ** GetEMProcessesList(void) const
get the pointer on activated process
void clean_ggems_cross_sections(GGEMSCrossSections *cross_sections)
clean all cross sections on each OpenCL device
GGEMSCrossSections(GGEMSCrossSections const &&cross_sections)=delete
Avoid copy by rvalue reference.
GGEMSCrossSections * create_ggems_cross_sections(void)
Get the GGEMSCrossSections pointer for python user.