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

GGEMS class for solid box. More...

#include "GGEMSSolidBox.hh"

Inheritance diagram for GGEMSSolidBox:
Inheritance graph
Collaboration diagram for GGEMSSolidBox:
Collaboration graph

Public Member Functions

 GGEMSSolidBox (GGsize const &virtual_element_number_x, GGsize const &virtual_element_number_y, GGsize const &virtual_element_number_z, GGfloat const &element_size_x, GGfloat const &element_size_y, GGfloat const &element_size_z, std::string const &data_reg_type)
 GGEMSSolidBox constructor. More...
 
 ~GGEMSSolidBox (void)
 GGEMSSolidBox destructor. More...
 
 GGEMSSolidBox (GGEMSSolidBox const &solid_box)=delete
 Avoid copy by reference. More...
 
GGEMSSolidBoxoperator= (GGEMSSolidBox const &solid_box)=delete
 Avoid assignement by reference. More...
 
 GGEMSSolidBox (GGEMSSolidBox const &&solid_box)=delete
 Avoid copy by rvalue reference. More...
 
GGEMSSolidBoxoperator= (GGEMSSolidBox const &&solid_box)=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 UpdateTransformationMatrix (GGsize const &thread_index) override
 Update transformation matrix for solid box object. 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

void InitializeKernel (void) override
 Initialize kernel for particle solid distance. More...
 

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 solid box.

Definition at line 40 of file GGEMSSolidBox.hh.

Constructor & Destructor Documentation

◆ GGEMSSolidBox() [1/3]

GGEMSSolidBox::GGEMSSolidBox ( GGsize const &  virtual_element_number_x,
GGsize const &  virtual_element_number_y,
GGsize const &  virtual_element_number_z,
GGfloat const &  element_size_x,
GGfloat const &  element_size_y,
GGfloat const &  element_size_z,
std::string const &  data_reg_type 
)

GGEMSSolidBox constructor.

Parameters
virtual_element_number_x- virtual element number in X (local axis)
virtual_element_number_y- virtual element number in Y (local axis)
virtual_element_number_z- virtual element number in Z (local axis)
element_size_x- element size along X
element_size_y- element size along Y
element_size_z- element size along Z
data_reg_type- type of registration "HIT", "SINGLE", "DOSE"

Definition at line 39 of file GGEMSSolidBox.cc.

◆ ~GGEMSSolidBox()

GGEMSSolidBox::~GGEMSSolidBox ( void  )

GGEMSSolidBox destructor.

Definition at line 118 of file GGEMSSolidBox.cc.

◆ GGEMSSolidBox() [2/3]

GGEMSSolidBox::GGEMSSolidBox ( GGEMSSolidBox const &  solid_box)
delete

Avoid copy by reference.

Parameters
solid_box- reference on the GGEMS solid box

◆ GGEMSSolidBox() [3/3]

GGEMSSolidBox::GGEMSSolidBox ( GGEMSSolidBox const &&  solid_box)
delete

Avoid copy by rvalue reference.

Parameters
solid_box- rvalue reference on the GGEMS solid box

Member Function Documentation

◆ EnableScatter()

void GGEMSSolidBox::EnableScatter ( void  )
overridevirtual

Activate scatter registration.

Implements GGEMSSolid.

Definition at line 187 of file GGEMSSolidBox.cc.

◆ Initialize()

void GGEMSSolidBox::Initialize ( GGEMSMaterials materials)
overridevirtual

Initialize solid for geometric navigation.

Parameters
materials- pointer on materials

Implements GGEMSSolid.

Definition at line 175 of file GGEMSSolidBox.cc.

◆ InitializeKernel()

void GGEMSSolidBox::InitializeKernel ( void  )
overrideprivatevirtual

Initialize kernel for particle solid distance.

Implements GGEMSSolid.

Definition at line 152 of file GGEMSSolidBox.cc.

◆ operator=() [1/2]

GGEMSSolidBox & GGEMSSolidBox::operator= ( GGEMSSolidBox const &&  solid_box)
delete

Avoid copy by rvalue reference.

Parameters
solid_box- rvalue reference on the GGEMS solid box

◆ operator=() [2/2]

GGEMSSolidBox & GGEMSSolidBox::operator= ( GGEMSSolidBox const &  solid_box)
delete

Avoid assignement by reference.

Parameters
solid_box- reference on the GGEMS solid box

◆ PrintInfos()

void GGEMSSolidBox::PrintInfos ( void  ) const
overridevirtual

printing infos about voxelized solid

Implements GGEMSSolid.

Definition at line 207 of file GGEMSSolidBox.cc.

◆ UpdateTransformationMatrix()

void GGEMSSolidBox::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 248 of file GGEMSSolidBox.cc.


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