GGEMS
1.1
GPU GEant4-based Monte Carlo Simulations
|
GGEMS class for voxelized solid. More...
#include "GGEMSVoxelizedSolid.hh"
Public Member Functions | |
GGEMSVoxelizedSolid (std::string const &volume_header_filename, std::string const &range_filename, std::string const &data_reg_type="") | |
GGEMSVoxelizedSolid constructor. More... | |
~GGEMSVoxelizedSolid (void) | |
GGEMSVoxelizedSolid destructor. More... | |
GGEMSVoxelizedSolid (GGEMSVoxelizedSolid const &voxelized_solid)=delete | |
Avoid copy by reference. More... | |
GGEMSVoxelizedSolid & | operator= (GGEMSVoxelizedSolid const &voxelized_solid)=delete |
Avoid assignement by reference. More... | |
GGEMSVoxelizedSolid (GGEMSVoxelizedSolid const &&voxelized_solid)=delete | |
Avoid copy by rvalue reference. More... | |
GGEMSVoxelizedSolid & | operator= (GGEMSVoxelizedSolid const &&voxelized_solid)=delete |
Avoid copy by rvalue reference. More... | |
void | Initialize (GGEMSMaterials *materials) override |
Initialize solid for geometric navigation. More... | |
void | EnableScatter (void) override |
Activate scatter registration. More... | |
void | PrintInfos (void) const override |
printing infos about voxelized solid More... | |
void | LoadVolumeImage (GGEMSMaterials *materials) |
load volume image to GGEMS and create a volume of label in GGEMS for voxelized solid More... | |
void | UpdateTransformationMatrix (GGsize const &thread_index) override |
Update transformation matrix for solid box object. More... | |
GGfloat3 | GetVoxelSizes (GGsize const &thread_index) const |
get the size of voxels in voxelized solid More... | |
GGEMSOBB | GetOBBGeometry (GGsize const &thread_index) const |
return the parameters about OBB geometry More... | |
Public Member Functions inherited from GGEMSSolid | |
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... | |
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... | |
Private Member Functions | |
template<typename T > | |
void | ConvertImageToLabel (std::string const &raw_data_filename, std::string const &range_data_filename, GGEMSMaterials *materials) |
convert image data to label data More... | |
void | InitializeKernel (void) override |
Initialize kernel for particle solid distance. More... | |
Private Attributes | |
std::string | volume_header_filename_ |
std::string | range_filename_ |
Additional Inherited Members | |
Protected Attributes inherited from GGEMSSolid | |
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 voxelized solid.
Definition at line 41 of file GGEMSVoxelizedSolid.hh.
GGEMSVoxelizedSolid::GGEMSVoxelizedSolid | ( | std::string const & | volume_header_filename, |
std::string const & | range_filename, | ||
std::string const & | data_reg_type = "" |
||
) |
GGEMSVoxelizedSolid constructor.
volume_header_filename | - header file for volume |
range_filename | - file with range value |
data_reg_type | - type of registration for voxelized solid |
Definition at line 39 of file GGEMSVoxelizedSolid.cc.
GGEMSVoxelizedSolid::~GGEMSVoxelizedSolid | ( | void | ) |
GGEMSVoxelizedSolid destructor.
Definition at line 87 of file GGEMSVoxelizedSolid.cc.
|
delete |
Avoid copy by reference.
voxelized_solid | - reference on the GGEMS voxelized solid |
|
delete |
Avoid copy by rvalue reference.
voxelized_solid | - rvalue reference on the GGEMS voxelized solid |
|
private |
convert image data to label data
T | - type of data |
raw_data_filename | - raw data filename from mhd |
range_data_filename | - name of the file containing the range to material data |
materials | - pointer on material for a phantom |
Definition at line 162 of file GGEMSVoxelizedSolid.hh.
|
inlineoverridevirtual |
Activate scatter registration.
Implements GGEMSSolid.
Definition at line 96 of file GGEMSVoxelizedSolid.hh.
return the parameters about OBB geometry
thread_index | - index of the thread (= activated device index) |
Definition at line 177 of file GGEMSVoxelizedSolid.cc.
get the size of voxels in voxelized solid
thread_index | - index of the thread (= activated device index) |
Definition at line 159 of file GGEMSVoxelizedSolid.cc.
|
overridevirtual |
Initialize solid for geometric navigation.
materials | - pointer on materials |
Implements GGEMSSolid.
Definition at line 121 of file GGEMSVoxelizedSolid.cc.
|
overrideprivatevirtual |
Initialize kernel for particle solid distance.
Implements GGEMSSolid.
Definition at line 98 of file GGEMSVoxelizedSolid.cc.
void GGEMSVoxelizedSolid::LoadVolumeImage | ( | GGEMSMaterials * | materials | ) |
load volume image to GGEMS and create a volume of label in GGEMS for voxelized solid
materials | - pointer on material for a phantom |
Definition at line 238 of file GGEMSVoxelizedSolid.cc.
|
delete |
Avoid copy by rvalue reference.
voxelized_solid | - rvalue reference on the GGEMS voxelized solid |
|
delete |
Avoid assignement by reference.
voxelized_solid | - reference on the GGEMS voxelized solid |
|
overridevirtual |
printing infos about voxelized solid
Implements GGEMSSolid.
Definition at line 99 of file GGEMSVoxelizedSolid.hh.
|
overridevirtual |
Update transformation matrix for solid box object.
thread_index | - index of the thread (= activated device index) |
Implements GGEMSSolid.
Definition at line 134 of file GGEMSVoxelizedSolid.cc.
|
private |
Filename of file for range data
Definition at line 154 of file GGEMSVoxelizedSolid.hh.
|
private |
Filename of MHD file for phantom
Definition at line 153 of file GGEMSVoxelizedSolid.hh.