GGEMS  1.1
GPU GEant4-based Monte Carlo Simulations
GGEMSVolume Class Referenceabstract

Mother class handle volume. More...

#include "GGEMSVolume.hh"

Inheritance diagram for GGEMSVolume:
Inheritance graph
Collaboration diagram for GGEMSVolume:
Collaboration graph

Public Member Functions

 GGEMSVolume (void)
 GGEMSVolume constructor. More...
 
virtual ~GGEMSVolume (void)
 GGEMSVolume destructor. More...
 
 GGEMSVolume (GGEMSVolume const &volume)=delete
 Avoid copy of the class by reference. More...
 
GGEMSVolumeoperator= (GGEMSVolume const &volume)=delete
 Avoid assignement of the class by reference. More...
 
 GGEMSVolume (GGEMSVolume const &&volume)=delete
 Avoid copy of the class by rvalue reference. More...
 
GGEMSVolumeoperator= (GGEMSVolume const &&volume)=delete
 Avoid copy of the class by rvalue reference. More...
 
void SetLabelValue (GGfloat const &label_value)
 Set the label value. More...
 
void SetPosition (GGfloat const &pos_x, GGfloat const &pos_y, GGfloat const &pos_z, std::string const &unit="mm")
 Set the solid phantom position. More...
 
void SetMaterial (std::string const &material)
 set the material, Air by default More...
 
virtual void Initialize (void)=0
 Initialize the solid and store it in Phantom creator manager. More...
 
virtual void Draw (void)=0
 Draw analytical volume in voxelized phantom. More...
 

Protected Attributes

GGfloat label_value_
 
GGfloat3 positions_
 
cl::Kernel ** kernel_draw_volume_
 

Detailed Description

Mother class handle volume.

Definition at line 40 of file GGEMSVolume.hh.

Constructor & Destructor Documentation

◆ GGEMSVolume() [1/3]

GGEMSVolume::GGEMSVolume ( void  )

GGEMSVolume constructor.

Definition at line 38 of file GGEMSVolume.cc.

◆ ~GGEMSVolume()

GGEMSVolume::~GGEMSVolume ( void  )
virtual

GGEMSVolume destructor.

Definition at line 58 of file GGEMSVolume.cc.

◆ GGEMSVolume() [2/3]

GGEMSVolume::GGEMSVolume ( GGEMSVolume const &  volume)
delete

Avoid copy of the class by reference.

Parameters
volume- reference on the volume

◆ GGEMSVolume() [3/3]

GGEMSVolume::GGEMSVolume ( GGEMSVolume const &&  volume)
delete

Avoid copy of the class by rvalue reference.

Parameters
volume- rvalue reference on the volume

Member Function Documentation

◆ Draw()

void GGEMSVolume::Draw ( void  )
pure virtual

Draw analytical volume in voxelized phantom.

Implemented in GGEMSTube, GGEMSSphere, and GGEMSBox.

◆ Initialize()

void GGEMSVolume::Initialize ( void  )
pure virtual

Initialize the solid and store it in Phantom creator manager.

Implemented in GGEMSTube, GGEMSSphere, and GGEMSBox.

◆ operator=() [1/2]

GGEMSVolume & GGEMSVolume::operator= ( GGEMSVolume const &&  volume)
delete

Avoid copy of the class by rvalue reference.

Parameters
volume- rvalue reference on the volume

◆ operator=() [2/2]

GGEMSVolume & GGEMSVolume::operator= ( GGEMSVolume const &  volume)
delete

Avoid assignement of the class by reference.

Parameters
volume- reference on the volume

◆ SetLabelValue()

void GGEMSVolume::SetLabelValue ( GGfloat const &  label_value)

Set the label value.

Parameters
label_value- label value in solid phantom

Definition at line 74 of file GGEMSVolume.cc.

◆ SetMaterial()

void GGEMSVolume::SetMaterial ( std::string const &  material)

set the material, Air by default

Parameters
material- name of the material

Definition at line 79 of file GGEMSVolume.cc.

◆ SetPosition()

void GGEMSVolume::SetPosition ( GGfloat const &  pos_x,
GGfloat const &  pos_y,
GGfloat const &  pos_z,
std::string const &  unit = "mm" 
)

Set the solid phantom position.

Parameters
pos_x- position of analytical phantom in X
pos_y- position of analytical phantom in Y
pos_z- position of analytical phantom in Z
unit- unit of the distance

Definition at line 92 of file GGEMSVolume.cc.

Member Data Documentation

◆ kernel_draw_volume_

cl::Kernel** GGEMSVolume::kernel_draw_volume_
protected

Kernel drawing solid using OpenCL

Definition at line 120 of file GGEMSVolume.hh.

◆ label_value_

GGfloat GGEMSVolume::label_value_
protected

Value of label in volume

Definition at line 118 of file GGEMSVolume.hh.

◆ positions_

GGfloat3 GGEMSVolume::positions_
protected

Position of volume

Definition at line 119 of file GGEMSVolume.hh.


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