GGEMS
1.1
GPU GEant4-based Monte Carlo Simulations
|
Child GGEMS class managing detector system in GGEMS. More...
#include "GGEMSSystem.hh"
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... | |
GGEMSSystem & | operator= (GGEMSSystem const &system)=delete |
Avoid assignement by reference. More... | |
GGEMSSystem (GGEMSSystem const &&system)=delete | |
Avoid copy by rvalue reference. More... | |
GGEMSSystem & | operator= (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... | |
GGEMSNavigator & | operator= (GGEMSNavigator const &navigator)=delete |
Avoid assignement by reference. More... | |
GGEMSNavigator (GGEMSNavigator const &&navigator)=delete | |
Avoid copy by rvalue reference. More... | |
GGEMSNavigator & | operator= (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... | |
GGEMSSolid * | GetSolids (GGsize const &solid_index) const |
get the list of solids More... | |
GGEMSMaterials * | GetMaterials (void) const |
get the pointer on materials More... | |
GGEMSCrossSections * | GetCrossSections (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_ |
GGEMSMaterials * | materials_ |
GGEMSCrossSections * | cross_sections_ |
GGEMSDosimetryCalculator * | dose_calculator_ |
bool | is_dosimetry_mode_ |
GGsize | number_activated_devices_ |
Child GGEMS class managing detector system in GGEMS.
Definition at line 43 of file GGEMSSystem.hh.
|
explicit |
GGEMSSystem constructor.
system_name | - name of the system |
Definition at line 38 of file GGEMSSystem.cc.
|
virtual |
GGEMSSystem destructor.
Definition at line 63 of file GGEMSSystem.cc.
|
delete |
Avoid copy by reference.
system | - reference on the GGEMS system |
|
delete |
Avoid copy by rvalue reference.
system | - rvalue reference on the GGEMS system |
|
protectedvirtual |
Reimplemented from GGEMSNavigator.
Reimplemented in GGEMSCTSystem.
Definition at line 124 of file GGEMSSystem.cc.
|
delete |
Avoid copy by rvalue reference.
system | - rvalue reference on the GGEMS system |
|
delete |
Avoid assignement by reference.
system | - reference on the GGEMS system |
|
virtual |
save all results from solid
Implements GGEMSNavigator.
Definition at line 159 of file GGEMSSystem.cc.
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
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 |
void GGEMSSystem::SetMaterialName | ( | std::string const & | material_name | ) |
set the name of the material
material_name | - name of the material for detection element |
Definition at line 106 of file GGEMSSystem.cc.
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
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.
set the number of module in X, Y of local axis of detector
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.
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
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.
void GGEMSSystem::StoreScatter | ( | bool const & | is_scatter | ) |
set to true to activate scatter registration
is_scatter | - true to store scatter image |
Definition at line 115 of file GGEMSSystem.cc.
|
protected |
Boolean storing scatter infos
Definition at line 153 of file GGEMSSystem.hh.
|
protected |
Number of virtual elements (X,Y,Z) in a module
Definition at line 151 of file GGEMSSystem.hh.
|
protected |
Number of the detection modules
Definition at line 150 of file GGEMSSystem.hh.
|
protected |
Size of pixel in each direction
Definition at line 152 of file GGEMSSystem.hh.