GGEMS  1.1
GPU GEant4-based Monte Carlo Simulations
GGEMSVoxelizedSolid Class Reference

GGEMS class for voxelized solid. More...

#include "GGEMSVoxelizedSolid.hh"

Inheritance diagram for GGEMSVoxelizedSolid:
Inheritance graph
Collaboration diagram for GGEMSVoxelizedSolid:
Collaboration graph

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...
 
GGEMSVoxelizedSolidoperator= (GGEMSVoxelizedSolid const &voxelized_solid)=delete
 Avoid assignement by reference. More...
 
 GGEMSVoxelizedSolid (GGEMSVoxelizedSolid const &&voxelized_solid)=delete
 Avoid copy by rvalue reference. More...
 
GGEMSVoxelizedSolidoperator= (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...
 
GGEMSSolidoperator= (GGEMSSolid const &solid)=delete
 Avoid assignement by reference. More...
 
 GGEMSSolid (GGEMSSolid const &&solid)=delete
 Avoid copy by rvalue reference. More...
 
GGEMSSolidoperator= (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_
 
GGEMSGeometryTransformationgeometry_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_
 

Detailed Description

GGEMS class for voxelized solid.

Definition at line 41 of file GGEMSVoxelizedSolid.hh.

Constructor & Destructor Documentation

◆ GGEMSVoxelizedSolid() [1/3]

GGEMSVoxelizedSolid::GGEMSVoxelizedSolid ( std::string const &  volume_header_filename,
std::string const &  range_filename,
std::string const &  data_reg_type = "" 
)

GGEMSVoxelizedSolid constructor.

Parameters
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::~GGEMSVoxelizedSolid ( void  )

GGEMSVoxelizedSolid destructor.

Definition at line 87 of file GGEMSVoxelizedSolid.cc.

◆ GGEMSVoxelizedSolid() [2/3]

GGEMSVoxelizedSolid::GGEMSVoxelizedSolid ( GGEMSVoxelizedSolid const &  voxelized_solid)
delete

Avoid copy by reference.

Parameters
voxelized_solid- reference on the GGEMS voxelized solid

◆ GGEMSVoxelizedSolid() [3/3]

GGEMSVoxelizedSolid::GGEMSVoxelizedSolid ( GGEMSVoxelizedSolid const &&  voxelized_solid)
delete

Avoid copy by rvalue reference.

Parameters
voxelized_solid- rvalue reference on the GGEMS voxelized solid

Member Function Documentation

◆ ConvertImageToLabel()

template<typename T >
void GGEMSVoxelizedSolid::ConvertImageToLabel ( std::string const &  raw_data_filename,
std::string const &  range_data_filename,
GGEMSMaterials materials 
)
private

convert image data to label data

Template Parameters
T- type of data
Parameters
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.

◆ EnableScatter()

void GGEMSVoxelizedSolid::EnableScatter ( void  )
inlineoverridevirtual

Activate scatter registration.

Implements GGEMSSolid.

Definition at line 96 of file GGEMSVoxelizedSolid.hh.

◆ GetOBBGeometry()

GGEMSOBB GGEMSVoxelizedSolid::GetOBBGeometry ( GGsize const &  thread_index) const

return the parameters about OBB geometry

Parameters
thread_index- index of the thread (= activated device index)
Returns
OBB params for the object

Definition at line 177 of file GGEMSVoxelizedSolid.cc.

◆ GetVoxelSizes()

GGfloat3 GGEMSVoxelizedSolid::GetVoxelSizes ( GGsize const &  thread_index) const

get the size of voxels in voxelized solid

Parameters
thread_index- index of the thread (= activated device index)
Returns
size of voxels in voxelized solid

Definition at line 159 of file GGEMSVoxelizedSolid.cc.

◆ Initialize()

void GGEMSVoxelizedSolid::Initialize ( GGEMSMaterials materials)
overridevirtual

Initialize solid for geometric navigation.

Parameters
materials- pointer on materials

Implements GGEMSSolid.

Definition at line 121 of file GGEMSVoxelizedSolid.cc.

◆ InitializeKernel()

void GGEMSVoxelizedSolid::InitializeKernel ( void  )
overrideprivatevirtual

Initialize kernel for particle solid distance.

Implements GGEMSSolid.

Definition at line 98 of file GGEMSVoxelizedSolid.cc.

◆ LoadVolumeImage()

void GGEMSVoxelizedSolid::LoadVolumeImage ( GGEMSMaterials materials)

load volume image to GGEMS and create a volume of label in GGEMS for voxelized solid

Parameters
materials- pointer on material for a phantom

Definition at line 238 of file GGEMSVoxelizedSolid.cc.

◆ operator=() [1/2]

GGEMSVoxelizedSolid & GGEMSVoxelizedSolid::operator= ( GGEMSVoxelizedSolid const &&  voxelized_solid)
delete

Avoid copy by rvalue reference.

Parameters
voxelized_solid- rvalue reference on the GGEMS voxelized solid

◆ operator=() [2/2]

GGEMSVoxelizedSolid & GGEMSVoxelizedSolid::operator= ( GGEMSVoxelizedSolid const &  voxelized_solid)
delete

Avoid assignement by reference.

Parameters
voxelized_solid- reference on the GGEMS voxelized solid

◆ PrintInfos()

void GGEMSVoxelizedSolid::PrintInfos ( void  ) const
overridevirtual

printing infos about voxelized solid

Implements GGEMSSolid.

Definition at line 99 of file GGEMSVoxelizedSolid.hh.

◆ UpdateTransformationMatrix()

void GGEMSVoxelizedSolid::UpdateTransformationMatrix ( GGsize const &  thread_index)
overridevirtual

Update transformation matrix for solid box object.

Parameters
thread_index- index of the thread (= activated device index)

Implements GGEMSSolid.

Definition at line 134 of file GGEMSVoxelizedSolid.cc.

Member Data Documentation

◆ range_filename_

std::string GGEMSVoxelizedSolid::range_filename_
private

Filename of file for range data

Definition at line 154 of file GGEMSVoxelizedSolid.hh.

◆ volume_header_filename_

std::string GGEMSVoxelizedSolid::volume_header_filename_
private

Filename of MHD file for phantom

Definition at line 153 of file GGEMSVoxelizedSolid.hh.


The documentation for this class was generated from the following files: