GGEMS
1.1
GPU GEant4-based Monte Carlo Simulations
|
Parent GGEMS class for navigator. More...
#include "GGEMSNavigator.hh"
Public Member Functions | |
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) |
virtual void | SaveResults (void)=0 |
save all results from solid More... | |
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 | |
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_ |
Parent GGEMS class for navigator.
Definition at line 54 of file GGEMSNavigator.hh.
|
explicit |
GGEMSNavigator constructor.
navigator_name | - name of the navigator |
Definition at line 42 of file GGEMSNavigator.cc.
|
virtual |
GGEMSNavigator destructor.
Definition at line 84 of file GGEMSNavigator.cc.
|
delete |
Avoid copy by reference.
navigator | - reference on the GGEMS navigator |
|
delete |
Avoid copy by rvalue reference.
navigator | - rvalue reference on the GGEMS navigator |
|
protectedvirtual |
Reimplemented in GGEMSVoxelizedPhantom, GGEMSCTSystem, and GGEMSSystem.
Definition at line 175 of file GGEMSNavigator.cc.
void GGEMSNavigator::ComputeDose | ( | GGsize const & | thread_index | ) |
Compute dose in volume.
thread_index | - index of activated device (thread index) |
Definition at line 432 of file GGEMSNavigator.cc.
void GGEMSNavigator::EnableTracking | ( | void | ) |
Enable tracking during simulation.
Definition at line 166 of file GGEMSNavigator.cc.
|
inline |
get the pointer on cross sections
Definition at line 165 of file GGEMSNavigator.hh.
|
inline |
get the pointer on materials
Definition at line 158 of file GGEMSNavigator.hh.
|
inline |
Get the name of the navigator.
Definition at line 136 of file GGEMSNavigator.hh.
|
inline |
get the number of solids inside the navigator
Definition at line 143 of file GGEMSNavigator.hh.
|
inline |
get the list of solids
solid_index | - index of solid |
Definition at line 151 of file GGEMSNavigator.hh.
|
virtual |
Reimplemented in GGEMSVoxelizedPhantom, and GGEMSCTSystem.
Definition at line 198 of file GGEMSNavigator.cc.
|
delete |
Avoid copy by rvalue reference.
navigator | - rvalue reference on the GGEMS navigator |
|
delete |
Avoid assignement by reference.
navigator | - reference on the GGEMS navigator |
void GGEMSNavigator::ParticleSolidDistance | ( | GGsize const & | thread_index | ) |
Compute distance between particle and solid.
thread_index | - index of activated device (thread index) |
Definition at line 225 of file GGEMSNavigator.cc.
void GGEMSNavigator::PrintInfos | ( | void | ) | const |
Print infos about navigator.
Definition at line 441 of file GGEMSNavigator.cc.
void GGEMSNavigator::ProjectToSolid | ( | GGsize const & | thread_index | ) |
Project particle to entry of closest solid.
thread_index | - index of activated device (thread index) |
Definition at line 277 of file GGEMSNavigator.cc.
|
pure virtual |
save all results from solid
Implemented in GGEMSVoxelizedPhantom, and GGEMSSystem.
void GGEMSNavigator::SetDosimetryCalculator | ( | GGEMSDosimetryCalculator * | dosimetry_calculator | ) |
give adress of dosimetry calculator to navigator
dosimetry_calculator | - pointer on dosimetry calculator |
Definition at line 114 of file GGEMSNavigator.cc.
void GGEMSNavigator::SetNavigatorID | ( | GGsize const & | navigator_id | ) |
set the navigator index
navigator_id | - index of the navigator |
Definition at line 157 of file GGEMSNavigator.cc.
void GGEMSNavigator::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
position_x | - position in X |
position_y | - position in Y |
position_z | - position in Z |
unit | - unit of the distance |
Definition at line 124 of file GGEMSNavigator.cc.
void GGEMSNavigator::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.
rx | - Rotation around X along global axis |
ry | - Rotation around Y along global axis |
rz | - Rotation around Z along global axis |
unit | - unit of the angle |
Definition at line 136 of file GGEMSNavigator.cc.
void GGEMSNavigator::SetThreshold | ( | GGfloat const & | threshold, |
std::string const & | unit = "keV" |
||
) |
Set the energy threshold to navigator.
threshold | - threshold applyied to the navigator |
unit | - unit of the energy |
Definition at line 148 of file GGEMSNavigator.cc.
void GGEMSNavigator::StoreOutput | ( | std::string | basename | ) |
Storing the basename and format of the output file.
basename | - basename of the output file |
Definition at line 216 of file GGEMSNavigator.cc.
void GGEMSNavigator::TrackThroughSolid | ( | GGsize const & | thread_index | ) |
Move particle through solid.
thread_index | - index of activated device (thread index) |
Definition at line 329 of file GGEMSNavigator.cc.
|
protected |
Cross section table for process
Definition at line 258 of file GGEMSNavigator.hh.
|
protected |
Dose calculator pointer
Definition at line 261 of file GGEMSNavigator.hh.
|
protected |
Boolean checking if dosimetry mode is activated
Definition at line 262 of file GGEMSNavigator.hh.
|
protected |
Boolean activating tracking
Definition at line 250 of file GGEMSNavigator.hh.
|
protected |
Updating navigator position
Definition at line 247 of file GGEMSNavigator.hh.
|
protected |
Updating navigator rotation
Definition at line 248 of file GGEMSNavigator.hh.
|
protected |
Materials of phantom
Definition at line 257 of file GGEMSNavigator.hh.
|
protected |
Index of the navigator
Definition at line 246 of file GGEMSNavigator.hh.
|
protected |
Name of the navigator
Definition at line 241 of file GGEMSNavigator.hh.
|
protected |
Number of activated device
Definition at line 264 of file GGEMSNavigator.hh.
|
protected |
Number of solids in navigator
Definition at line 256 of file GGEMSNavigator.hh.
|
protected |
Basename of output file
Definition at line 253 of file GGEMSNavigator.hh.
|
protected |
Position of the navigator in X, Y and Z
Definition at line 244 of file GGEMSNavigator.hh.
|
protected |
Rotation of the navigator in X, Y and Z
Definition at line 245 of file GGEMSNavigator.hh.
|
protected |
Solid with geometric infos and label
Definition at line 255 of file GGEMSNavigator.hh.
|
protected |
Threshold in energy applyied to navigator
Definition at line 249 of file GGEMSNavigator.hh.