GGEMS
1.1
GPU GEant4-based Monte Carlo Simulations
|
GGEMS class for solid informations. More...
#include "GGEMSSolid.hh"
Public Member Functions | |
GGEMSSolid (void) | |
GGEMSSolid constructor. More... | |
virtual | ~GGEMSSolid (void) |
GGEMSSolid destructor. More... | |
GGEMSSolid (GGEMSSolid const &solid)=delete | |
Avoid copy by reference. More... | |
GGEMSSolid & | operator= (GGEMSSolid const &solid)=delete |
Avoid assignement by reference. More... | |
GGEMSSolid (GGEMSSolid const &&solid)=delete | |
Avoid copy by rvalue reference. More... | |
GGEMSSolid & | operator= (GGEMSSolid const &&solid)=delete |
Avoid copy by rvalue reference. More... | |
void | EnableTracking (void) |
Enabling tracking infos during simulation. More... | |
cl::Buffer * | GetSolidData (GGsize const &thread_index) const |
get the informations about the solid geometry More... | |
cl::Buffer * | GetLabelData (GGsize const &thread_index) const |
get buffer to label buffer More... | |
void | SetRotation (GGfloat3 const &rotation_xyz) |
set a rotation for solid More... | |
void | SetPosition (GGfloat3 const &position_xyz) |
set a position for solid More... | |
template<typename T > | |
void | SetSolidID (GGsize const &solid_id, GGsize const &thread_index) |
set the global solid index More... | |
virtual void | UpdateTransformationMatrix (GGsize const &thread_index)=0 |
Update transformation matrix for solid object. More... | |
virtual void | Initialize (GGEMSMaterials *materials)=0 |
Initialize solid for geometric navigation. More... | |
virtual void | EnableScatter (void)=0 |
Activate scatter registration. More... | |
virtual void | PrintInfos (void) const =0 |
printing infos about solid More... | |
std::string | GetRegisteredDataType (void) const |
get the type of registered data More... | |
cl::Kernel * | GetKernelParticleSolidDistance (GGsize const &thread_index) const |
get the pointer to kernel associated to a device More... | |
cl::Kernel * | GetKernelProjectToSolid (GGsize const &thread_index) const |
get the pointer to kernel associated to a device More... | |
cl::Kernel * | GetKernelTrackThroughSolid (GGsize const &thread_index) const |
get the pointer to kernel associated to a device More... | |
cl::Buffer * | GetHistogram (GGsize const &thread_index) const |
return the point on histogram More... | |
cl::Buffer * | GetScatterHistogram (GGsize const &thread_index) const |
return the point on scatter histogram More... | |
Protected Member Functions | |
virtual void | InitializeKernel (void)=0 |
Initialize kernel for particle solid distance. More... | |
Protected Attributes | |
cl::Buffer ** | solid_data_ |
cl::Buffer ** | label_data_ |
GGsize | number_activated_devices_ |
GGEMSGeometryTransformation * | geometry_transformation_ |
cl::Kernel ** | kernel_particle_solid_distance_ |
cl::Kernel ** | kernel_project_to_solid_ |
cl::Kernel ** | kernel_track_through_solid_ |
std::string | kernel_option_ |
std::string | data_reg_type_ |
GGEMSHistogramMode | histogram_ |
bool | is_scatter_ |
GGEMS class for solid informations.
Definition at line 47 of file GGEMSSolid.hh.
GGEMSSolid::GGEMSSolid | ( | void | ) |
GGEMSSolid constructor.
Definition at line 43 of file GGEMSSolid.cc.
|
virtual |
GGEMSSolid destructor.
Definition at line 73 of file GGEMSSolid.cc.
|
delete |
Avoid copy by reference.
solid | - reference on the GGEMS solid |
|
delete |
Avoid copy by rvalue reference.
solid | - rvalue reference on the GGEMS solid |
|
pure virtual |
Activate scatter registration.
Implemented in GGEMSVoxelizedSolid, and GGEMSSolidBox.
void GGEMSSolid::EnableTracking | ( | void | ) |
Enabling tracking infos during simulation.
Definition at line 125 of file GGEMSSolid.cc.
|
inline |
return the point on histogram
thread_index | - index of activated device (thread index) |
Definition at line 196 of file GGEMSSolid.hh.
|
inline |
get the pointer to kernel associated to a device
thread_index | - index of activated device (thread index) |
Definition at line 172 of file GGEMSSolid.hh.
|
inline |
get the pointer to kernel associated to a device
thread_index | - index of activated device (thread index) |
Definition at line 180 of file GGEMSSolid.hh.
|
inline |
get the pointer to kernel associated to a device
thread_index | - index of activated device (thread index) |
Definition at line 188 of file GGEMSSolid.hh.
|
inline |
get buffer to label buffer
thread_index | - index of the thread (= activated device index) |
Definition at line 108 of file GGEMSSolid.hh.
|
inline |
get the type of registered data
Definition at line 164 of file GGEMSSolid.hh.
|
inline |
return the point on scatter histogram
thread_index | - index of activated device (thread index) |
Definition at line 204 of file GGEMSSolid.hh.
|
inline |
get the informations about the solid geometry
thread_index | - index of the thread (= activated device index) |
Definition at line 100 of file GGEMSSolid.hh.
|
pure virtual |
Initialize solid for geometric navigation.
materials | - pointer on GGEMS materials |
Implemented in GGEMSVoxelizedSolid, and GGEMSSolidBox.
|
protectedpure virtual |
Initialize kernel for particle solid distance.
Implemented in GGEMSVoxelizedSolid, and GGEMSSolidBox.
|
delete |
Avoid copy by rvalue reference.
solid | - rvalue reference on the GGEMS solid |
|
delete |
Avoid assignement by reference.
solid | - reference on the GGEMS solid |
|
pure virtual |
printing infos about solid
Implemented in GGEMSVoxelizedSolid, and GGEMSSolidBox.
void GGEMSSolid::SetPosition | ( | GGfloat3 const & | position_xyz | ) |
set a position for solid
position_xyz | - position in X, Y and Z |
Definition at line 143 of file GGEMSSolid.cc.
void GGEMSSolid::SetRotation | ( | GGfloat3 const & | rotation_xyz | ) |
set a rotation for solid
rotation_xyz | - rotation in X, Y and Z |
Definition at line 111 of file GGEMSSolid.hh.
void GGEMSSolid::SetSolidID | ( | GGsize const & | solid_id, |
GGsize const & | thread_index | ||
) |
set the global solid index
solid_id | - index of the solid |
thread_index | - index of the thread (= activated device index) |
Definition at line 239 of file GGEMSSolid.hh.
|
pure virtual |
Update transformation matrix for solid object.
thread_index | - index of the thread (= activated device index) |
Implemented in GGEMSVoxelizedSolid, and GGEMSSolidBox.
|
protected |
Type of registering data
Definition at line 229 of file GGEMSSolid.hh.
|
protected |
Pointer storing the geometry transformation
Definition at line 220 of file GGEMSSolid.hh.
|
protected |
Storing histogram useful for GGEMSSystem only
Definition at line 230 of file GGEMSSolid.hh.
|
protected |
boolean storing scatter in solid
Definition at line 231 of file GGEMSSolid.hh.
|
protected |
Preprocessor option for kernel
Definition at line 226 of file GGEMSSolid.hh.
|
protected |
OpenCL kernel computing distance between particles and solid
Definition at line 223 of file GGEMSSolid.hh.
|
protected |
OpenCL kernel moving particles to solid
Definition at line 224 of file GGEMSSolid.hh.
|
protected |
OpenCL kernel tracking particles through a solid
Definition at line 225 of file GGEMSSolid.hh.
|
protected |
Pointer storing the buffer about label data, useful for voxelized solid only
Definition at line 216 of file GGEMSSolid.hh.
|
protected |
Number of activated device
Definition at line 217 of file GGEMSSolid.hh.
|
protected |
Data about solid
Definition at line 215 of file GGEMSSolid.hh.