|
GGEMS
1.1
GPU GEant4-based Monte Carlo Simulations
|
Go to the documentation of this file.
43 GGcout(
"GGEMSSourceManager",
"GGEMSSourceManager", 3) <<
"GGEMSSourceManager creating..." <<
GGendl;
51 GGcout(
"GGEMSSourceManager",
"GGEMSSourceManager", 3) <<
"GGEMSSourceManager created!!!" <<
GGendl;
60 GGcout(
"GGEMSSourceManager",
"~GGEMSSourceManager", 3) <<
"GGEMSSourceManager erasing..." <<
GGendl;
62 GGcout(
"GGEMSSourceManager",
"~GGEMSSourceManager", 3) <<
"GGEMSSourceManager erased!!!" <<
GGendl;
71 GGcout(
"GGEMSSourceManager",
"Clean", 3) <<
"GGEMSSourceManager cleaning..." <<
GGendl;
83 GGcout(
"GGEMSSourceManager",
"Clean", 3) <<
"GGEMSSourceManager cleaned!!!" <<
GGendl;
92 GGcout(
"GGEMSSourceManager",
"Store", 3) <<
"Storing new source in GGEMS source manager..." <<
GGendl;
119 GGcout(
"GGEMSSourceManager",
"PrintInfos", 0) <<
"Printing infos about sources" <<
GGendl;
132 GGcout(
"GGEMSSourceManager",
"Initialize", 3) <<
"Initializing the GGEMS source(s)..." <<
GGendl;
141 GGcout(
"GGEMSSourceManager",
"Initialize", 0) <<
"Initialization of particles OK" <<
GGendl;
144 GGcout(
"GGEMSSourceManager",
"Initialize", 0) <<
"Initialization of GGEMS pseudo random generator OK" <<
GGendl;
static GGEMSSourceManager & GetInstance(void)
Create at first time the Singleton.
Class managing the particles in GGEMS.
bool IsAlive(GGsize const &thread_index) const
check if some particles are alive in OpenCL particle buffer
Class managing the random number in GGEMS.
void Store(GGEMSSource *source)
storing the source pointer to source manager
void Clean(void)
clean OpenCL data
GGsize GetNumberOfActivatedDevice(void) const
get the number of activated devices
GGsize number_of_sources_
void Initialize(void)
Initialize the GGEMSParticles object.
Structure storing informations about primary particles.
void ReleaseDeviceBuffer(cl::Buffer *const device_ptr, T *host_ptr, GGsize const &thread_index)
Get the device pointer on host to write on it. Mandatory after a GetDeviceBufferWrite ou GetDeviceBuf...
void Initialize(GGuint const &seed, bool const &is_tracking=false, GGint const &particle_tracking_id=0) const
Initialize a GGEMS source.
GGEMSPseudoRandomGenerator * pseudo_random_generator_
Structure storing the primary particle buffers for both OpenCL and GGEMS.
void PrintInfos(void) const
Printing infos about the sources.
GGEMSSourceManager(void)
Unable the constructor for the user.
struct GGEMSPrimaryParticles_t GGEMSPrimaryParticles
void initialize_source_manager(GGEMSSourceManager *source_manager, GGuint const seed)
Initialize source.
bool IsAlive(GGsize const &thread_index) const
check if some particles are alive in OpenCL particle buffer
GGint particle_tracking_id
void Initialize(GGuint const &seed)
Initialize the Random object.
GGEMS class handling the source(s)
GGEMSParticles * particles_
T * GetDeviceBuffer(cl::Buffer *device_ptr, GGsize const &size, GGsize const &thread_index)
Get the device pointer on host to write on it. ReleaseDeviceBuffer must be used after this method!...
#define GGendl
overload C++ std::endl
Singleton class storing all informations about OpenCL and managing GPU/CPU devices,...
~GGEMSSourceManager(void)
Unable the destructor for the user.
GGEMSSourceManager * get_instance_ggems_source_manager(void)
Get the GGEMSSourceManager pointer for python user.
GGEMS class handling the source(s)
Class managing the random number in GGEMS.
void print_infos_source_manager(GGEMSSourceManager *source_manager)
Print information about source.
void ThrowException(std::string const &class_name, std::string const &method_name, std::string const &message)
Throw a C++ exception.
GGEMS mother class for the source.
static GGEMSOpenCLManager & GetInstance(void)
Create at first time the Singleton.
cl::Buffer * GetPrimaryParticles(GGsize const &thread_index) const
return the pointer to OpenCL buffer storing particles