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

Child GGEMS class managing detector system in GGEMS. More...

#include "GGEMSSystem.hh"

Inheritance diagram for GGEMSSystem:
Inheritance graph
Collaboration diagram for GGEMSSystem:
Collaboration graph

Public Member Functions

 GGEMSSystem (std::string const &system_name)
 GGEMSSystem constructor. More...
 
virtual ~GGEMSSystem (void)
 GGEMSSystem destructor. More...
 
 GGEMSSystem (GGEMSSystem const &system)=delete
 Avoid copy by reference. More...
 
GGEMSSystemoperator= (GGEMSSystem const &system)=delete
 Avoid assignement by reference. More...
 
 GGEMSSystem (GGEMSSystem const &&system)=delete
 Avoid copy by rvalue reference. More...
 
GGEMSSystemoperator= (GGEMSSystem const &&system)=delete
 Avoid copy by rvalue reference. More...
 
void SetNumberOfModules (GGsize const &n_module_x, GGsize const &n_module_y)
 set the number of module in X, Y of local axis of detector More...
 
void SetNumberOfDetectionElementsInsideModule (GGsize const &n_detection_element_x, GGsize const &n_detection_element_y, GGsize const &n_detection_element_z)
 set the number of detection elements in X and Y and Z More...
 
void SetSizeOfDetectionElements (GGfloat const &size_of_detection_element_x, GGfloat const &size_of_detection_element_y, GGfloat const &size_of_detection_element_z, std::string const &unit="mm")
 set the detection elements in each direction More...
 
void SetGlobalPosition (GGfloat const &global_position_x, GGfloat const &global_position_y, GGfloat const &global_position_z, std::string const &unit="mm")
 set the global position of the system More...
 
void SetMaterialName (std::string const &material_name)
 set the name of the material More...
 
void StoreScatter (bool const &is_scatter)
 set to true to activate scatter registration More...
 
void SaveResults (void)
 save all results from solid More...
 
- Public Member Functions inherited from GGEMSNavigator
 GGEMSNavigator (std::string const &navigator_name)
 GGEMSNavigator constructor. More...
 
virtual ~GGEMSNavigator (void)
 GGEMSNavigator destructor. More...
 
 GGEMSNavigator (GGEMSNavigator const &navigator)=delete
 Avoid copy by reference. More...
 
GGEMSNavigatoroperator= (GGEMSNavigator const &navigator)=delete
 Avoid assignement by reference. More...
 
 GGEMSNavigator (GGEMSNavigator const &&navigator)=delete
 Avoid copy by rvalue reference. More...
 
GGEMSNavigatoroperator= (GGEMSNavigator const &&navigator)=delete
 Avoid copy by rvalue reference. More...
 
void SetPosition (GGfloat const &position_x, GGfloat const &position_y, GGfloat const &position_z, std::string const &unit="mm")
 set the position of the global navigator in X, Y and Z More...
 
void SetRotation (GGfloat const &rx, GGfloat const &ry, GGfloat const &rz, std::string const &unit="deg")
 Set the rotation of the global navigator around global axis. More...
 
void SetThreshold (GGfloat const &threshold, std::string const &unit="keV")
 Set the energy threshold to navigator. More...
 
void SetNavigatorID (GGsize const &navigator_id)
 set the navigator index More...
 
std::string GetNavigatorName (void) const
 Get the name of the navigator. More...
 
GGsize GetNumberOfSolids (void) const
 get the number of solids inside the navigator More...
 
GGEMSSolidGetSolids (GGsize const &solid_index) const
 get the list of solids More...
 
GGEMSMaterialsGetMaterials (void) const
 get the pointer on materials More...
 
GGEMSCrossSectionsGetCrossSections (void) const
 get the pointer on cross sections More...
 
void ParticleSolidDistance (GGsize const &thread_index)
 Compute distance between particle and solid. More...
 
void ProjectToSolid (GGsize const &thread_index)
 Project particle to entry of closest solid. More...
 
void TrackThroughSolid (GGsize const &thread_index)
 Move particle through solid. More...
 
void PrintInfos (void) const
 Print infos about navigator. More...
 
virtual void Initialize (void)
 
void ComputeDose (GGsize const &thread_index)
 Compute dose in volume. More...
 
void StoreOutput (std::string basename)
 Storing the basename and format of the output file. More...
 
void SetDosimetryCalculator (GGEMSDosimetryCalculator *dosimetry_calculator)
 give adress of dosimetry calculator to navigator More...
 
void EnableTracking (void)
 Enable tracking during simulation. More...
 

Protected Member Functions

virtual void CheckParameters (void) const
 

Protected Attributes

GGsize2 number_of_modules_xy_
 
GGsize3 number_of_detection_elements_inside_module_xyz_
 
GGfloat3 size_of_detection_elements_xyz_
 
bool is_scatter_
 
- Protected Attributes inherited from GGEMSNavigator
std::string navigator_name_
 
GGfloat3 position_xyz_
 
GGfloat3 rotation_xyz_
 
GGsize navigator_id_
 
bool is_update_pos_
 
bool is_update_rot_
 
GGfloat threshold_
 
bool is_tracking_
 
std::string output_basename_
 
GGEMSSolid ** solids_
 
GGsize number_of_solids_
 
GGEMSMaterialsmaterials_
 
GGEMSCrossSectionscross_sections_
 
GGEMSDosimetryCalculatordose_calculator_
 
bool is_dosimetry_mode_
 
GGsize number_activated_devices_
 

Detailed Description

Child GGEMS class managing detector system in GGEMS.

Definition at line 43 of file GGEMSSystem.hh.

Constructor & Destructor Documentation

◆ GGEMSSystem() [1/3]

GGEMSSystem::GGEMSSystem ( std::string const &  system_name)
explicit

GGEMSSystem constructor.

Parameters
system_name- name of the system

Definition at line 38 of file GGEMSSystem.cc.

◆ ~GGEMSSystem()

GGEMSSystem::~GGEMSSystem ( void  )
virtual

GGEMSSystem destructor.

Definition at line 63 of file GGEMSSystem.cc.

◆ GGEMSSystem() [2/3]

GGEMSSystem::GGEMSSystem ( GGEMSSystem const &  system)
delete

Avoid copy by reference.

Parameters
system- reference on the GGEMS system

◆ GGEMSSystem() [3/3]

GGEMSSystem::GGEMSSystem ( GGEMSSystem const &&  system)
delete

Avoid copy by rvalue reference.

Parameters
system- rvalue reference on the GGEMS system

Member Function Documentation

◆ CheckParameters()

void GGEMSSystem::CheckParameters ( void  ) const
protectedvirtual
Returns
no returned value

Reimplemented from GGEMSNavigator.

Reimplemented in GGEMSCTSystem.

Definition at line 124 of file GGEMSSystem.cc.

◆ operator=() [1/2]

GGEMSSystem & GGEMSSystem::operator= ( GGEMSSystem const &&  system)
delete

Avoid copy by rvalue reference.

Parameters
system- rvalue reference on the GGEMS system

◆ operator=() [2/2]

GGEMSSystem & GGEMSSystem::operator= ( GGEMSSystem const &  system)
delete

Avoid assignement by reference.

Parameters
system- reference on the GGEMS system

◆ SaveResults()

void GGEMSSystem::SaveResults ( void  )
virtual

save all results from solid

Implements GGEMSNavigator.

Definition at line 159 of file GGEMSSystem.cc.

◆ SetGlobalPosition()

void GGEMSSystem::SetGlobalPosition ( GGfloat const &  global_position_x,
GGfloat const &  global_position_y,
GGfloat const &  global_position_z,
std::string const &  unit = "mm" 
)

set the global position of the system

Parameters
global_position_x- global position of the system in X (global axis)
global_position_y- global position of the system in Y (global axis)
global_position_z- global position of the system in Z (global axis)
unit- distance unit

◆ SetMaterialName()

void GGEMSSystem::SetMaterialName ( std::string const &  material_name)

set the name of the material

Parameters
material_name- name of the material for detection element

Definition at line 106 of file GGEMSSystem.cc.

◆ SetNumberOfDetectionElementsInsideModule()

void GGEMSSystem::SetNumberOfDetectionElementsInsideModule ( GGsize const &  n_detection_element_x,
GGsize const &  n_detection_element_y,
GGsize const &  n_detection_element_z 
)

set the number of detection elements in X and Y and Z

Parameters
n_detection_element_x- Detection element in X
n_detection_element_y- Detection element in Y
n_detection_element_z- Detection element in Z

Definition at line 84 of file GGEMSSystem.cc.

◆ SetNumberOfModules()

void GGEMSSystem::SetNumberOfModules ( GGsize const &  n_module_x,
GGsize const &  n_module_y 
)

set the number of module in X, Y of local axis of detector

Parameters
n_module_x- Number of module in X (local axis of detector)
n_module_y- Number of module in Y (local axis of detector)

Definition at line 74 of file GGEMSSystem.cc.

◆ SetSizeOfDetectionElements()

void GGEMSSystem::SetSizeOfDetectionElements ( GGfloat const &  detection_element_x,
GGfloat const &  detection_element_y,
GGfloat const &  detection_element_z,
std::string const &  unit = "mm" 
)

set the detection elements in each direction

Parameters
detection_element_x- Detection element in X axis
detection_element_y- Detection element in Y axis
detection_element_z- Detection element in Z axis
unit- unit of detection element

Definition at line 95 of file GGEMSSystem.cc.

◆ StoreScatter()

void GGEMSSystem::StoreScatter ( bool const &  is_scatter)

set to true to activate scatter registration

Parameters
is_scatter- true to store scatter image

Definition at line 115 of file GGEMSSystem.cc.

Member Data Documentation

◆ is_scatter_

bool GGEMSSystem::is_scatter_
protected

Boolean storing scatter infos

Definition at line 153 of file GGEMSSystem.hh.

◆ number_of_detection_elements_inside_module_xyz_

GGsize3 GGEMSSystem::number_of_detection_elements_inside_module_xyz_
protected

Number of virtual elements (X,Y,Z) in a module

Definition at line 151 of file GGEMSSystem.hh.

◆ number_of_modules_xy_

GGsize2 GGEMSSystem::number_of_modules_xy_
protected

Number of the detection modules

Definition at line 150 of file GGEMSSystem.hh.

◆ size_of_detection_elements_xyz_

GGfloat3 GGEMSSystem::size_of_detection_elements_xyz_
protected

Size of pixel in each direction

Definition at line 152 of file GGEMSSystem.hh.


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