|
GGEMS
1.1
GPU GEant4-based Monte Carlo Simulations
|
Go to the documentation of this file. 1 #ifndef GUARD_GGEMS_SOURCES_GGEMSSOURCEMANAGER_HH
2 #define GUARD_GGEMS_SOURCES_GGEMSSOURCEMANAGER_HH
35 #pragma warning(disable: 4251) // Deleting warning exporting STL members!!!
112 void PrintInfos(
void)
const;
128 void Initialize(
GGuint const& seed,
bool const& is_tracking =
false,
GGint const& particle_tracking_id = 0)
const;
136 inline std::string
GetNameOfSource(
GGsize const& source_index)
const {
return sources_[source_index]->GetNameOfSource();}
180 particles_->SetNumberOfParticles(thread_index, number_of_particles);
181 sources_[source_index]->GetPrimaries(thread_index, number_of_particles);
190 bool IsAlive(
GGsize const& thread_index)
const;
227 #endif // End of GUARD_GGEMS_SOURCES_GGEMSSOURCEMANAGER
static GGEMSSourceManager & GetInstance(void)
Create at first time the Singleton.
Class managing the particles in GGEMS.
GGEMSSourceManager * get_instance_ggems_source_manager(void)
Get the GGEMSSourceManager pointer for python user.
void GetPrimaries(GGsize const &source_index, GGsize const &thread_index, GGsize const &number_of_particles) const
Generate primary particles for a specific source.
Class managing the random number in GGEMS.
GGsize GetNumberOfSources(void) const
Get the number of sources.
GGsize number_of_sources_
Class managing the particles in GGEMS.
GGEMS mother class for the source.
void initialize_source_manager(GGEMSSourceManager *source_manager, GGuint const seed)
Initialize source.
GGEMSSourceManager & operator=(GGEMSSourceManager const &&source_manager)=delete
Avoid copy of the class by rvalue reference.
GGEMSSourceManager & operator=(GGEMSSourceManager const &source_manager)=delete
Avoid assignement of the class by reference.
GGEMSPseudoRandomGenerator * GetPseudoRandomGenerator(void) const
method returning the OpenCL stack on pseudo random numbers
GGsize GetNumberOfParticlesInBatch(GGsize const &source_index, GGsize const &device_index, GGsize const &batch_index)
method returning the number of particles in a specific batch
GGEMSPseudoRandomGenerator * pseudo_random_generator_
GGEMSParticles * GetParticles(void) const
method returning the OpenCL stack on particles
void print_infos_source_manager(GGEMSSourceManager *source_manager)
Print information about source.
std::string GetNameOfSource(GGsize const &source_index) const
get the name of the source
GGEMSParticles * particles_
GGEMSSourceManager(GGEMSSourceManager const &&source_manager)=delete
Avoid copy of the class by rvalue reference.
GGsize GetNumberOfBatchs(GGsize const &source_index, GGsize const &device_index) const
method returning the number of particles by batch
GGEMS class handling the source(s)
GGEMSSourceManager(GGEMSSourceManager const &source_manager)=delete
Avoid copy of the class by reference.
GGEMS mother class for the source.