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

Parent GGEMS class for navigator. More...

#include "GGEMSNavigator.hh"

Inheritance diagram for GGEMSNavigator:
Inheritance graph
Collaboration diagram for GGEMSNavigator:
Collaboration graph

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...
 
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)
 
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_
 
GGEMSMaterialsmaterials_
 
GGEMSCrossSectionscross_sections_
 
GGEMSDosimetryCalculatordose_calculator_
 
bool is_dosimetry_mode_
 
GGsize number_activated_devices_
 

Detailed Description

Parent GGEMS class for navigator.

Definition at line 54 of file GGEMSNavigator.hh.

Constructor & Destructor Documentation

◆ GGEMSNavigator() [1/3]

GGEMSNavigator::GGEMSNavigator ( std::string const &  navigator_name)
explicit

GGEMSNavigator constructor.

Parameters
navigator_name- name of the navigator

Definition at line 42 of file GGEMSNavigator.cc.

◆ ~GGEMSNavigator()

GGEMSNavigator::~GGEMSNavigator ( void  )
virtual

GGEMSNavigator destructor.

Definition at line 84 of file GGEMSNavigator.cc.

◆ GGEMSNavigator() [2/3]

GGEMSNavigator::GGEMSNavigator ( GGEMSNavigator const &  navigator)
delete

Avoid copy by reference.

Parameters
navigator- reference on the GGEMS navigator

◆ GGEMSNavigator() [3/3]

GGEMSNavigator::GGEMSNavigator ( GGEMSNavigator const &&  navigator)
delete

Avoid copy by rvalue reference.

Parameters
navigator- rvalue reference on the GGEMS navigator

Member Function Documentation

◆ CheckParameters()

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

Reimplemented in GGEMSVoxelizedPhantom, GGEMSCTSystem, and GGEMSSystem.

Definition at line 175 of file GGEMSNavigator.cc.

◆ ComputeDose()

void GGEMSNavigator::ComputeDose ( GGsize const &  thread_index)

Compute dose in volume.

Parameters
thread_index- index of activated device (thread index)

Definition at line 432 of file GGEMSNavigator.cc.

◆ EnableTracking()

void GGEMSNavigator::EnableTracking ( void  )

Enable tracking during simulation.

Definition at line 166 of file GGEMSNavigator.cc.

◆ GetCrossSections()

GGEMSCrossSections * GGEMSNavigator::GetCrossSections ( void  ) const
inline

get the pointer on cross sections

Returns
the pointer on cross sections

Definition at line 165 of file GGEMSNavigator.hh.

◆ GetMaterials()

GGEMSMaterials * GGEMSNavigator::GetMaterials ( void  ) const
inline

get the pointer on materials

Returns
the pointer on materials

Definition at line 158 of file GGEMSNavigator.hh.

◆ GetNavigatorName()

std::string GGEMSNavigator::GetNavigatorName ( void  ) const
inline

Get the name of the navigator.

Returns
the name of the navigator

Definition at line 136 of file GGEMSNavigator.hh.

◆ GetNumberOfSolids()

GGsize GGEMSNavigator::GetNumberOfSolids ( void  ) const
inline

get the number of solids inside the navigator

Returns
the number of solids

Definition at line 143 of file GGEMSNavigator.hh.

◆ GetSolids()

GGEMSSolid * GGEMSNavigator::GetSolids ( GGsize const &  solid_index) const
inline

get the list of solids

Parameters
solid_index- index of solid
Returns
the list of solids

Definition at line 151 of file GGEMSNavigator.hh.

◆ Initialize()

void GGEMSNavigator::Initialize ( void  )
virtual
Returns
no returned value

Reimplemented in GGEMSVoxelizedPhantom, and GGEMSCTSystem.

Definition at line 198 of file GGEMSNavigator.cc.

◆ operator=() [1/2]

GGEMSNavigator & GGEMSNavigator::operator= ( GGEMSNavigator const &&  navigator)
delete

Avoid copy by rvalue reference.

Parameters
navigator- rvalue reference on the GGEMS navigator

◆ operator=() [2/2]

GGEMSNavigator & GGEMSNavigator::operator= ( GGEMSNavigator const &  navigator)
delete

Avoid assignement by reference.

Parameters
navigator- reference on the GGEMS navigator

◆ ParticleSolidDistance()

void GGEMSNavigator::ParticleSolidDistance ( GGsize const &  thread_index)

Compute distance between particle and solid.

Parameters
thread_index- index of activated device (thread index)

Definition at line 225 of file GGEMSNavigator.cc.

◆ PrintInfos()

void GGEMSNavigator::PrintInfos ( void  ) const

Print infos about navigator.

Definition at line 441 of file GGEMSNavigator.cc.

◆ ProjectToSolid()

void GGEMSNavigator::ProjectToSolid ( GGsize const &  thread_index)

Project particle to entry of closest solid.

Parameters
thread_index- index of activated device (thread index)

Definition at line 277 of file GGEMSNavigator.cc.

◆ SaveResults()

void GGEMSNavigator::SaveResults ( void  )
pure virtual

save all results from solid

Implemented in GGEMSVoxelizedPhantom, and GGEMSSystem.

◆ SetDosimetryCalculator()

void GGEMSNavigator::SetDosimetryCalculator ( GGEMSDosimetryCalculator dosimetry_calculator)

give adress of dosimetry calculator to navigator

Parameters
dosimetry_calculator- pointer on dosimetry calculator

Definition at line 114 of file GGEMSNavigator.cc.

◆ SetNavigatorID()

void GGEMSNavigator::SetNavigatorID ( GGsize const &  navigator_id)

set the navigator index

Parameters
navigator_id- index of the navigator

Definition at line 157 of file GGEMSNavigator.cc.

◆ SetPosition()

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

Parameters
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.

◆ SetRotation()

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.

Parameters
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.

◆ SetThreshold()

void GGEMSNavigator::SetThreshold ( GGfloat const &  threshold,
std::string const &  unit = "keV" 
)

Set the energy threshold to navigator.

Parameters
threshold- threshold applyied to the navigator
unit- unit of the energy

Definition at line 148 of file GGEMSNavigator.cc.

◆ StoreOutput()

void GGEMSNavigator::StoreOutput ( std::string  basename)

Storing the basename and format of the output file.

Parameters
basename- basename of the output file

Definition at line 216 of file GGEMSNavigator.cc.

◆ TrackThroughSolid()

void GGEMSNavigator::TrackThroughSolid ( GGsize const &  thread_index)

Move particle through solid.

Parameters
thread_index- index of activated device (thread index)

Definition at line 329 of file GGEMSNavigator.cc.

Member Data Documentation

◆ cross_sections_

GGEMSCrossSections* GGEMSNavigator::cross_sections_
protected

Cross section table for process

Definition at line 258 of file GGEMSNavigator.hh.

◆ dose_calculator_

GGEMSDosimetryCalculator* GGEMSNavigator::dose_calculator_
protected

Dose calculator pointer

Definition at line 261 of file GGEMSNavigator.hh.

◆ is_dosimetry_mode_

bool GGEMSNavigator::is_dosimetry_mode_
protected

Boolean checking if dosimetry mode is activated

Definition at line 262 of file GGEMSNavigator.hh.

◆ is_tracking_

bool GGEMSNavigator::is_tracking_
protected

Boolean activating tracking

Definition at line 250 of file GGEMSNavigator.hh.

◆ is_update_pos_

bool GGEMSNavigator::is_update_pos_
protected

Updating navigator position

Definition at line 247 of file GGEMSNavigator.hh.

◆ is_update_rot_

bool GGEMSNavigator::is_update_rot_
protected

Updating navigator rotation

Definition at line 248 of file GGEMSNavigator.hh.

◆ materials_

GGEMSMaterials* GGEMSNavigator::materials_
protected

Materials of phantom

Definition at line 257 of file GGEMSNavigator.hh.

◆ navigator_id_

GGsize GGEMSNavigator::navigator_id_
protected

Index of the navigator

Definition at line 246 of file GGEMSNavigator.hh.

◆ navigator_name_

std::string GGEMSNavigator::navigator_name_
protected

Name of the navigator

Definition at line 241 of file GGEMSNavigator.hh.

◆ number_activated_devices_

GGsize GGEMSNavigator::number_activated_devices_
protected

Number of activated device

Definition at line 264 of file GGEMSNavigator.hh.

◆ number_of_solids_

GGsize GGEMSNavigator::number_of_solids_
protected

Number of solids in navigator

Definition at line 256 of file GGEMSNavigator.hh.

◆ output_basename_

std::string GGEMSNavigator::output_basename_
protected

Basename of output file

Definition at line 253 of file GGEMSNavigator.hh.

◆ position_xyz_

GGfloat3 GGEMSNavigator::position_xyz_
protected

Position of the navigator in X, Y and Z

Definition at line 244 of file GGEMSNavigator.hh.

◆ rotation_xyz_

GGfloat3 GGEMSNavigator::rotation_xyz_
protected

Rotation of the navigator in X, Y and Z

Definition at line 245 of file GGEMSNavigator.hh.

◆ solids_

GGEMSSolid** GGEMSNavigator::solids_
protected

Solid with geometric infos and label

Definition at line 255 of file GGEMSNavigator.hh.

◆ threshold_

GGfloat GGEMSNavigator::threshold_
protected

Threshold in energy applyied to navigator

Definition at line 249 of file GGEMSNavigator.hh.


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