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

Child GGEMS class managing CT/CBCT detector in GGEMS. More...

#include "GGEMSCTSystem.hh"

Inheritance diagram for GGEMSCTSystem:
Inheritance graph
Collaboration diagram for GGEMSCTSystem:
Collaboration graph

Public Member Functions

 GGEMSCTSystem (std::string const &ct_system_name)
 GGEMSCTSystem constructor. More...
 
 ~GGEMSCTSystem (void)
 GGEMSCTSystem destructor. More...
 
 GGEMSCTSystem (GGEMSCTSystem const &ct_system_name)=delete
 Avoid copy by reference. More...
 
GGEMSCTSystemoperator= (GGEMSCTSystem const &ct_system_name)=delete
 Avoid assignement by reference. More...
 
 GGEMSCTSystem (GGEMSCTSystem const &&ct_system_name)=delete
 Avoid copy by rvalue reference. More...
 
GGEMSCTSystemoperator= (GGEMSCTSystem const &&ct_system_name)=delete
 Avoid copy by rvalue reference. More...
 
void Initialize (void) override
 Initialize CT system. More...
 
void SetCTSystemType (std::string const &ct_system_type)
 type of CT system: flat or curved More...
 
void SetSourceIsocenterDistance (GGfloat const &source_isocenter_distance, std::string const &unit="mm")
 set the source isocenter distance More...
 
void SetSourceDetectorDistance (GGfloat const &source_detector_distance, std::string const &unit="mm")
 set the source detector distance More...
 
- Public Member Functions inherited from GGEMSSystem
 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...
 
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...
 

Private Member Functions

void CheckParameters (void) const override
 
void InitializeCurvedGeometry (void)
 Initialize the curved CT geometry. More...
 
void InitializeFlatGeometry (void)
 Initialize the flat CT geometry. More...
 

Private Attributes

std::string ct_system_type_
 
GGfloat source_isocenter_distance_
 
GGfloat source_detector_distance_
 

Additional Inherited Members

- Protected Attributes inherited from GGEMSSystem
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 CT/CBCT detector in GGEMS.

Definition at line 39 of file GGEMSCTSystem.hh.

Constructor & Destructor Documentation

◆ GGEMSCTSystem() [1/3]

GGEMSCTSystem::GGEMSCTSystem ( std::string const &  ct_system_name)
explicit

GGEMSCTSystem constructor.

Parameters
ct_system_name- name of the CT system

Definition at line 38 of file GGEMSCTSystem.cc.

◆ ~GGEMSCTSystem()

GGEMSCTSystem::~GGEMSCTSystem ( void  )

GGEMSCTSystem destructor.

Definition at line 53 of file GGEMSCTSystem.cc.

◆ GGEMSCTSystem() [2/3]

GGEMSCTSystem::GGEMSCTSystem ( GGEMSCTSystem const &  ct_system_name)
delete

Avoid copy by reference.

Parameters
ct_system_name- reference on the GGEMS ct system name

◆ GGEMSCTSystem() [3/3]

GGEMSCTSystem::GGEMSCTSystem ( GGEMSCTSystem const &&  ct_system_name)
delete

Avoid copy by rvalue reference.

Parameters
ct_system_name- rvalue reference on the GGEMS ct system name

Member Function Documentation

◆ CheckParameters()

void GGEMSCTSystem::CheckParameters ( void  ) const
overrideprivatevirtual
Returns
no returned value

Reimplemented from GGEMSSystem.

Definition at line 101 of file GGEMSCTSystem.cc.

◆ Initialize()

void GGEMSCTSystem::Initialize ( void  )
overridevirtual

Initialize CT system.

Reimplemented from GGEMSNavigator.

Definition at line 210 of file GGEMSCTSystem.cc.

◆ InitializeCurvedGeometry()

void GGEMSCTSystem::InitializeCurvedGeometry ( void  )
private

Initialize the curved CT geometry.

Definition at line 131 of file GGEMSCTSystem.cc.

◆ InitializeFlatGeometry()

void GGEMSCTSystem::InitializeFlatGeometry ( void  )
private

Initialize the flat CT geometry.

Definition at line 179 of file GGEMSCTSystem.cc.

◆ operator=() [1/2]

GGEMSCTSystem & GGEMSCTSystem::operator= ( GGEMSCTSystem const &&  ct_system_name)
delete

Avoid copy by rvalue reference.

Parameters
ct_system_name- rvalue reference on the GGEMS ct system name

◆ operator=() [2/2]

GGEMSCTSystem & GGEMSCTSystem::operator= ( GGEMSCTSystem const &  ct_system_name)
delete

Avoid assignement by reference.

Parameters
ct_system_name- reference on the GGEMS ct system name

◆ SetCTSystemType()

void GGEMSCTSystem::SetCTSystemType ( std::string const &  ct_system_type)

type of CT system: flat or curved

Parameters
ct_system_type- type of CT system

Definition at line 64 of file GGEMSCTSystem.cc.

◆ SetSourceDetectorDistance()

void GGEMSCTSystem::SetSourceDetectorDistance ( GGfloat const &  source_detector_distance,
std::string const &  unit = "mm" 
)

set the source detector distance

Parameters
source_detector_distance- source detector distance
unit- distance unit

Definition at line 92 of file GGEMSCTSystem.cc.

◆ SetSourceIsocenterDistance()

void GGEMSCTSystem::SetSourceIsocenterDistance ( GGfloat const &  source_isocenter_distance,
std::string const &  unit = "mm" 
)

set the source isocenter distance

Parameters
source_isocenter_distance- source isocenter distance
unit- distance unit

Definition at line 83 of file GGEMSCTSystem.cc.

Member Data Documentation

◆ ct_system_type_

std::string GGEMSCTSystem::ct_system_type_
private

Type of CT scanner, here: flat or curved

Definition at line 130 of file GGEMSCTSystem.hh.

◆ source_detector_distance_

GGfloat GGEMSCTSystem::source_detector_distance_
private

Distance from source to detector (SDD)

Definition at line 132 of file GGEMSCTSystem.hh.

◆ source_isocenter_distance_

GGfloat GGEMSCTSystem::source_isocenter_distance_
private

Distance from source to isocenter (SID)

Definition at line 131 of file GGEMSCTSystem.hh.


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