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

GGEMS class handling the navigators (detector + phantom) in GGEMS. More...

#include "GGEMSNavigatorManager.hh"

Collaboration diagram for GGEMSNavigatorManager:
Collaboration graph

Public Member Functions

 GGEMSNavigatorManager (GGEMSNavigatorManager const &navigator_manager)=delete
 Avoid copy of the class by reference. More...
 
GGEMSNavigatorManageroperator= (GGEMSNavigatorManager const &navigator_manager)=delete
 Avoid assignement of the class by reference. More...
 
 GGEMSNavigatorManager (GGEMSNavigatorManager const &&navigator_manager)=delete
 Avoid copy of the class by rvalue reference. More...
 
GGEMSNavigatorManageroperator= (GGEMSNavigatorManager const &&navigator_manager)=delete
 Avoid copy of the class by rvalue reference. More...
 
void Store (GGEMSNavigator *navigator)
 storing the navigator pointer to navigator manager More...
 
void StoreWorld (GGEMSWorld *world)
 storing the world pointer More...
 
void Initialize (bool const &is_tracking=false) const
 Initialize a GGEMS navigators. More...
 
void PrintInfos (void) const
 Printing infos about the navigators. More...
 
GGsize GetNumberOfNavigators (void) const
 Get the number of navigators. More...
 
GGEMSNavigator ** GetNavigators (void) const
 get the list of navigators More...
 
GGEMSNavigatorGetNavigator (std::string const &navigator_name) const
 get the navigator by the name More...
 
GGsize GetNumberOfRegisteredSolids (void) const
 get the number of current registered solid More...
 
void FindSolid (GGsize const &thread_index) const
 Find closest solid before project particle to it. More...
 
void ProjectToSolid (GGsize const &thread_index) const
 Project particle to selected solid. More...
 
void TrackThroughSolid (GGsize const &thread_index) const
 Track particles through selected solid. More...
 
void SaveResults (void) const
 save all results from navigator in files More...
 
void WorldTracking (GGsize const &thread_index) const
 Tracking particles through world. More...
 
void ComputeDose (GGsize const &thread_index)
 Compute dose in volume. More...
 
void Clean (void)
 clean OpenCL data if necessary More...
 

Static Public Member Functions

static GGEMSNavigatorManagerGetInstance (void)
 Create at first time the Singleton. More...
 

Private Member Functions

 GGEMSNavigatorManager (void)
 Unable the constructor for the user. More...
 
 ~GGEMSNavigatorManager (void)
 Unable the destructor for the user. More...
 

Private Attributes

GGEMSNavigator ** navigators_
 
GGsize number_of_navigators_
 
GGEMSWorldworld_
 

Detailed Description

GGEMS class handling the navigators (detector + phantom) in GGEMS.

Definition at line 41 of file GGEMSNavigatorManager.hh.

Constructor & Destructor Documentation

◆ GGEMSNavigatorManager() [1/3]

GGEMSNavigatorManager::GGEMSNavigatorManager ( void  )
private

Unable the constructor for the user.

Definition at line 39 of file GGEMSNavigatorManager.cc.

◆ ~GGEMSNavigatorManager()

GGEMSNavigatorManager::~GGEMSNavigatorManager ( void  )
private

Unable the destructor for the user.

Definition at line 53 of file GGEMSNavigatorManager.cc.

◆ GGEMSNavigatorManager() [2/3]

GGEMSNavigatorManager::GGEMSNavigatorManager ( GGEMSNavigatorManager const &  navigator_manager)
delete

Avoid copy of the class by reference.

Parameters
navigator_manager- reference on the navigator manager

◆ GGEMSNavigatorManager() [3/3]

GGEMSNavigatorManager::GGEMSNavigatorManager ( GGEMSNavigatorManager const &&  navigator_manager)
delete

Avoid copy of the class by rvalue reference.

Parameters
navigator_manager- rvalue reference on the navigator manager

Member Function Documentation

◆ Clean()

void GGEMSNavigatorManager::Clean ( void  )

clean OpenCL data if necessary

Definition at line 69 of file GGEMSNavigatorManager.cc.

◆ ComputeDose()

void GGEMSNavigatorManager::ComputeDose ( GGsize const &  thread_index)

Compute dose in volume.

Parameters
thread_index- index of activated device (thread index)

Definition at line 219 of file GGEMSNavigatorManager.cc.

◆ FindSolid()

void GGEMSNavigatorManager::FindSolid ( GGsize const &  thread_index) const

Find closest solid before project particle to it.

Parameters
thread_index- index of activated device (thread index)

Definition at line 176 of file GGEMSNavigatorManager.cc.

◆ GetInstance()

static GGEMSNavigatorManager & GGEMSNavigatorManager::GetInstance ( void  )
inlinestatic

Create at first time the Singleton.

Returns
Object of type GGEMSNavigatorManager

Definition at line 60 of file GGEMSNavigatorManager.hh.

◆ GetNavigator()

GGEMSNavigator * GGEMSNavigatorManager::GetNavigator ( std::string const &  navigator_name) const
inline

get the navigator by the name

Parameters
navigator_name- name of the navigator
Returns
the navigator by the name

Definition at line 141 of file GGEMSNavigatorManager.hh.

◆ GetNavigators()

GGEMSNavigator ** GGEMSNavigatorManager::GetNavigators ( void  ) const
inline

get the list of navigators

Returns
the list of navigators

Definition at line 133 of file GGEMSNavigatorManager.hh.

◆ GetNumberOfNavigators()

GGsize GGEMSNavigatorManager::GetNumberOfNavigators ( void  ) const
inline

Get the number of navigators.

Returns
the number of navigators

Definition at line 126 of file GGEMSNavigatorManager.hh.

◆ GetNumberOfRegisteredSolids()

GGsize GGEMSNavigatorManager::GetNumberOfRegisteredSolids ( void  ) const
inline

get the number of current registered solid

Returns
number of current registered solid

Definition at line 158 of file GGEMSNavigatorManager.hh.

◆ Initialize()

void GGEMSNavigatorManager::Initialize ( bool const &  is_tracking = false) const

Initialize a GGEMS navigators.

Parameters
is_tracking- flag activating tracking

Definition at line 134 of file GGEMSNavigatorManager.cc.

◆ operator=() [1/2]

GGEMSNavigatorManager & GGEMSNavigatorManager::operator= ( GGEMSNavigatorManager const &&  navigator_manager)
delete

Avoid copy of the class by rvalue reference.

Parameters
navigator_manager- rvalue reference on the navigator manager

◆ operator=() [2/2]

GGEMSNavigatorManager & GGEMSNavigatorManager::operator= ( GGEMSNavigatorManager const &  navigator_manager)
delete

Avoid assignement of the class by reference.

Parameters
navigator_manager- reference on the navigator manager

◆ PrintInfos()

void GGEMSNavigatorManager::PrintInfos ( void  ) const

Printing infos about the navigators.

Definition at line 162 of file GGEMSNavigatorManager.cc.

◆ ProjectToSolid()

void GGEMSNavigatorManager::ProjectToSolid ( GGsize const &  thread_index) const

Project particle to selected solid.

Parameters
thread_index- index of activated device (thread index)

Definition at line 187 of file GGEMSNavigatorManager.cc.

◆ SaveResults()

void GGEMSNavigatorManager::SaveResults ( void  ) const

save all results from navigator in files

Definition at line 120 of file GGEMSNavigatorManager.cc.

◆ Store()

void GGEMSNavigatorManager::Store ( GGEMSNavigator navigator)

storing the navigator pointer to navigator manager

Parameters
navigator- pointer to GGEMS navigator

Definition at line 80 of file GGEMSNavigatorManager.cc.

◆ StoreWorld()

void GGEMSNavigatorManager::StoreWorld ( GGEMSWorld world)

storing the world pointer

Parameters
world- pointer to GGEMS world

Definition at line 110 of file GGEMSNavigatorManager.cc.

◆ TrackThroughSolid()

void GGEMSNavigatorManager::TrackThroughSolid ( GGsize const &  thread_index) const

Track particles through selected solid.

Parameters
thread_index- index of activated device (thread index)

Definition at line 198 of file GGEMSNavigatorManager.cc.

◆ WorldTracking()

void GGEMSNavigatorManager::WorldTracking ( GGsize const &  thread_index) const

Tracking particles through world.

Parameters
thread_index- index of activated device (thread index)

Definition at line 209 of file GGEMSNavigatorManager.cc.

Member Data Documentation

◆ navigators_

GGEMSNavigator** GGEMSNavigatorManager::navigators_
private

Pointer on the navigators

Definition at line 217 of file GGEMSNavigatorManager.hh.

◆ number_of_navigators_

GGsize GGEMSNavigatorManager::number_of_navigators_
private

Number of navigators

Definition at line 218 of file GGEMSNavigatorManager.hh.

◆ world_

GGEMSWorld* GGEMSNavigatorManager::world_
private

Pointer on world volume

Definition at line 219 of file GGEMSNavigatorManager.hh.


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