|
GGEMS
1.1
GPU GEant4-based Monte Carlo Simulations
|
Go to the documentation of this file. 1 #ifndef GUARD_GGEMS_SOURCES_GGEMSSOURCE_HH
2 #define GUARD_GGEMS_SOURCES_GGEMSSOURCE_HH
51 explicit GGEMSSource(std::string
const& source_name);
101 void SetPosition(
GGfloat const& pos_x,
GGfloat const& pos_y,
GGfloat const& pos_z, std::string
const& unit =
"mm");
108 void SetSourceParticleType(std::string
const& particle_type);
118 void SetRotation(
GGfloat const& rx,
GGfloat const& ry,
GGfloat const& rz, std::string
const& unit =
"deg");
125 void SetNumberOfParticles(
GGsize const& number_of_particles);
131 void EnableTracking(
void);
154 virtual void CheckParameters(
void)
const;
161 virtual void Initialize(
bool const& is_tracking =
false);
189 void OrganizeParticlesInBatch(
void);
207 #endif // End of GUARD_GGEMS_SOURCES_GGEMSSOURCE_HH
Class managing the particles in GGEMS.
This class handles everything about geometry transformation.
GGsize * number_of_batchs_
Class managing the random number in GGEMS.
GGsize number_activated_devices_
std::string tracking_kernel_option_
virtual void InitializeKernel(void)=0
Initialize kernel for specific source in OpenCL.
cl::Kernel ** kernel_get_primaries_
virtual void GetPrimaries(GGsize const &thread_index, GGsize const &number_of_particles)=0
Generate primary particles.
GGEMSSource(GGEMSSource const &&source)=delete
Avoid copy by rvalue reference.
GGsize GetNumberOfParticlesInBatch(GGsize const &device_index, GGsize const &batch_index)
method returning the number of particles in a specific batch
virtual void PrintInfos(void) const =0
Printing infos about the source.
GGEMSSource & operator=(GGEMSSource const &&source)=delete
Avoid copy by rvalue reference.
Singleton class storing all informations about OpenCL and managing GPU/CPU devices,...
std::string GetNameOfSource(void) const
get the name of the source
GGsize ** number_of_particles_in_batch_
GGEMSSource(GGEMSSource const &source)=delete
Avoid copy by reference.
GGEMSGeometryTransformation * geometry_transformation_
GGsize * number_of_particles_by_device_
GGsize GetNumberOfBatchs(GGsize const &device_index) const
method returning the number of particles by batch
GGsize number_of_particles_
GGEMSSource & operator=(GGEMSSource const &source)=delete
Avoid assignement by reference.
GGEMS mother class for the source.