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

Class GGEMSTube inheriting from GGEMSVolume handling Tube solid. More...

#include "GGEMSTube.hh"

Inheritance diagram for GGEMSTube:
Inheritance graph
Collaboration diagram for GGEMSTube:
Collaboration graph

Public Member Functions

 GGEMSTube (GGfloat const &radius_x, GGfloat const &radius_y, GGfloat const &height, std::string const &unit="mm")
 GGEMSTube constructor. More...
 
 ~GGEMSTube (void)
 GGEMSTube destructor. More...
 
 GGEMSTube (GGEMSTube const &tube)=delete
 Avoid copy of the class by reference. More...
 
GGEMSTubeoperator= (GGEMSTube const &tube)=delete
 Avoid assignement of the class by reference. More...
 
 GGEMSTube (GGEMSTube const &&tube)=delete
 Avoid copy of the class by rvalue reference. More...
 
GGEMSTubeoperator= (GGEMSTube const &&tube)=delete
 Avoid copy of the class by rvalue reference. More...
 
void Initialize (void) override
 Initialize the solid and store it in Phantom creator manager. More...
 
void Draw (void) override
 Draw analytical volume in voxelized phantom. More...
 
- Public Member Functions inherited from GGEMSVolume
 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...
 

Private Attributes

GGfloat height_
 
GGfloat radius_x_
 
GGfloat radius_y_
 

Additional Inherited Members

- Protected Attributes inherited from GGEMSVolume
GGfloat label_value_
 
GGfloat3 positions_
 
cl::Kernel ** kernel_draw_volume_
 

Detailed Description

Class GGEMSTube inheriting from GGEMSVolume handling Tube solid.

Definition at line 40 of file GGEMSTube.hh.

Constructor & Destructor Documentation

◆ GGEMSTube() [1/3]

GGEMSTube::GGEMSTube ( GGfloat const &  radius_x,
GGfloat const &  radius_y,
GGfloat const &  height,
std::string const &  unit = "mm" 
)

GGEMSTube constructor.

Parameters
radius_x- Radius of the tube in X axis
radius_y- Radius of the tube in Y axis
height- Height of the tube
unit- Unit of distance

Definition at line 39 of file GGEMSTube.cc.

◆ ~GGEMSTube()

GGEMSTube::~GGEMSTube ( void  )

GGEMSTube destructor.

Definition at line 55 of file GGEMSTube.cc.

◆ GGEMSTube() [2/3]

GGEMSTube::GGEMSTube ( GGEMSTube const &  tube)
delete

Avoid copy of the class by reference.

Parameters
tube- reference on the tube solid volume

◆ GGEMSTube() [3/3]

GGEMSTube::GGEMSTube ( GGEMSTube const &&  tube)
delete

Avoid copy of the class by rvalue reference.

Parameters
tube- rvalue reference on the tube solid volume

Member Function Documentation

◆ Draw()

void GGEMSTube::Draw ( void  )
overridevirtual

Draw analytical volume in voxelized phantom.

Implements GGEMSVolume.

Definition at line 89 of file GGEMSTube.cc.

◆ Initialize()

void GGEMSTube::Initialize ( void  )
overridevirtual

Initialize the solid and store it in Phantom creator manager.

Implements GGEMSVolume.

Definition at line 66 of file GGEMSTube.cc.

◆ operator=() [1/2]

GGEMSTube & GGEMSTube::operator= ( GGEMSTube const &&  tube)
delete

Avoid copy of the class by rvalue reference.

Parameters
tube- rvalue reference on the tube solid volume

◆ operator=() [2/2]

GGEMSTube & GGEMSTube::operator= ( GGEMSTube const &  tube)
delete

Avoid assignement of the class by reference.

Parameters
tube- reference on the tube solid volume

Member Data Documentation

◆ height_

GGfloat GGEMSTube::height_
private

Height of the cylinder

Definition at line 98 of file GGEMSTube.hh.

◆ radius_x_

GGfloat GGEMSTube::radius_x_
private

Radius of the cylinder in X axis

Definition at line 99 of file GGEMSTube.hh.

◆ radius_y_

GGfloat GGEMSTube::radius_y_
private

Radius of the cylinder in X axis

Definition at line 100 of file GGEMSTube.hh.


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