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

GGEMS class managing the processes in GGEMS simulation. More...

#include "GGEMSProcessesManager.hh"

Collaboration diagram for GGEMSProcessesManager:
Collaboration graph

Public Member Functions

 GGEMSProcessesManager (GGEMSProcessesManager const &processes_manager)=delete
 Avoid copy of the class by reference. More...
 
GGEMSProcessesManageroperator= (GGEMSProcessesManager const &processes_manager)=delete
 Avoid assignement of the class by reference. More...
 
 GGEMSProcessesManager (GGEMSProcessesManager const &&processes_manager)=delete
 Avoid copy of the class by rvalue reference. More...
 
GGEMSProcessesManageroperator= (GGEMSProcessesManager const &&processes_manager)=delete
 Avoid copy of the class by rvalue reference. More...
 
void SetCrossSectionTableNumberOfBins (GGsize const &number_of_bins)
 set the number of bins in the cross section table More...
 
void SetCrossSectionTableMinimumEnergy (GGfloat const &energy, char const *unit="keV")
 set the minimum energy in the cross section table More...
 
void SetCrossSectionTableMaximumEnergy (GGfloat const &energy, char const *unit="keV")
 set the maximum energy in the cross section table More...
 
GGfloat GetCrossSectionTableMinEnergy (void) const
 get the minimum energy in the cross section table More...
 
GGfloat GetCrossSectionTableMaxEnergy (void) const
 get the maximum energy in the cross section table More...
 
GGsize GetCrossSectionTableNumberOfBins (void) const
 get the number of bins in the cross section table More...
 
void AddProcess (std::string const &process_name, std::string const &particle_name, std::string const &phantom_name)
 add a process for a specific phantom or all the phantom More...
 
void PrintInfos (void) const
 Print all infos about processes. More...
 
void PrintAvailableProcesses (void) const
 Print all infos about available processes. More...
 
void PrintPhysicTables (bool const &is_processes_print_tables)
 print physic tables to screen More...
 
bool IsPrintPhysicTables (void) const
 check boolean value for physic tables printing More...
 
void Clean (void)
 clean OpenCL data if necessary More...
 

Static Public Member Functions

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

Private Member Functions

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

Private Attributes

GGsize cross_section_table_number_of_bins_
 
GGfloat cross_section_table_min_energy_
 
GGfloat cross_section_table_max_energy_
 
bool is_processes_print_tables_
 

Detailed Description

GGEMS class managing the processes in GGEMS simulation.

Definition at line 41 of file GGEMSProcessesManager.hh.

Constructor & Destructor Documentation

◆ GGEMSProcessesManager() [1/3]

GGEMSProcessesManager::GGEMSProcessesManager ( void  )
private

Unable the constructor for the user.

Definition at line 40 of file GGEMSProcessesManager.cc.

◆ ~GGEMSProcessesManager()

GGEMSProcessesManager::~GGEMSProcessesManager ( void  )
private

Unable the destructor for the user.

Definition at line 55 of file GGEMSProcessesManager.cc.

◆ GGEMSProcessesManager() [2/3]

GGEMSProcessesManager::GGEMSProcessesManager ( GGEMSProcessesManager const &  processes_manager)
delete

Avoid copy of the class by reference.

Parameters
processes_manager- reference on the processes manager

◆ GGEMSProcessesManager() [3/3]

GGEMSProcessesManager::GGEMSProcessesManager ( GGEMSProcessesManager const &&  processes_manager)
delete

Avoid copy of the class by rvalue reference.

Parameters
processes_manager- rvalue reference on the processes manager

Member Function Documentation

◆ AddProcess()

void GGEMSProcessesManager::AddProcess ( std::string const &  process_name,
std::string const &  particle_name,
std::string const &  phantom_name 
)

add a process for a specific phantom or all the phantom

Parameters
process_name- Name of the process
particle_name- Name of the particle
phantom_name- Name of the phantom

Definition at line 126 of file GGEMSProcessesManager.cc.

◆ Clean()

void GGEMSProcessesManager::Clean ( void  )

clean OpenCL data if necessary

Definition at line 174 of file GGEMSProcessesManager.hh.

◆ GetCrossSectionTableMaxEnergy()

GGfloat GGEMSProcessesManager::GetCrossSectionTableMaxEnergy ( void  ) const
inline

get the maximum energy in the cross section table

Returns
the maximum energy in the cross section table

Definition at line 129 of file GGEMSProcessesManager.hh.

◆ GetCrossSectionTableMinEnergy()

GGfloat GGEMSProcessesManager::GetCrossSectionTableMinEnergy ( void  ) const
inline

get the minimum energy in the cross section table

Returns
the minimum energy in the cross section table

Definition at line 122 of file GGEMSProcessesManager.hh.

◆ GetCrossSectionTableNumberOfBins()

GGsize GGEMSProcessesManager::GetCrossSectionTableNumberOfBins ( void  ) const
inline

get the number of bins in the cross section table

Returns
the number of bins in the cross section table

Definition at line 136 of file GGEMSProcessesManager.hh.

◆ GetInstance()

static GGEMSProcessesManager & GGEMSProcessesManager::GetInstance ( void  )
inlinestatic

Create at first time the Singleton.

Returns
Object of type GGEMSProcessesManager

Definition at line 60 of file GGEMSProcessesManager.hh.

◆ IsPrintPhysicTables()

bool GGEMSProcessesManager::IsPrintPhysicTables ( void  ) const
inline

check boolean value for physic tables printing

Returns
true if physics tables is printed

Definition at line 171 of file GGEMSProcessesManager.hh.

◆ operator=() [1/2]

GGEMSProcessesManager & GGEMSProcessesManager::operator= ( GGEMSProcessesManager const &&  processes_manager)
delete

Avoid copy of the class by rvalue reference.

Parameters
processes_manager- rvalue reference on the processes manager

◆ operator=() [2/2]

GGEMSProcessesManager & GGEMSProcessesManager::operator= ( GGEMSProcessesManager const &  processes_manager)
delete

Avoid assignement of the class by reference.

Parameters
processes_manager- reference on the processes manager

◆ PrintAvailableProcesses()

void GGEMSProcessesManager::PrintAvailableProcesses ( void  ) const

Print all infos about available processes.

Definition at line 171 of file GGEMSProcessesManager.cc.

◆ PrintInfos()

void GGEMSProcessesManager::PrintInfos ( void  ) const

Print all infos about processes.

Definition at line 146 of file GGEMSProcessesManager.cc.

◆ PrintPhysicTables()

void GGEMSProcessesManager::PrintPhysicTables ( bool const &  is_processes_print_tables)

print physic tables to screen

Parameters
is_processes_print_tables- Flag for physic tables printing

Definition at line 191 of file GGEMSProcessesManager.cc.

◆ SetCrossSectionTableMaximumEnergy()

void GGEMSProcessesManager::SetCrossSectionTableMaximumEnergy ( GGfloat const &  energy,
char const *  unit = "keV" 
)

set the maximum energy in the cross section table

Parameters
energy- maximum energy in the cross section table
unit- unit of energy

Definition at line 110 of file GGEMSProcessesManager.cc.

◆ SetCrossSectionTableMinimumEnergy()

void GGEMSProcessesManager::SetCrossSectionTableMinimumEnergy ( GGfloat const &  energy,
char const *  unit = "keV" 
)

set the minimum energy in the cross section table

Parameters
energy- minimum energy in the cross section table
unit- unit of energy

Definition at line 94 of file GGEMSProcessesManager.cc.

◆ SetCrossSectionTableNumberOfBins()

void GGEMSProcessesManager::SetCrossSectionTableNumberOfBins ( GGsize const &  number_of_bins)

set the number of bins in the cross section table

Parameters
number_of_bins- number of bins in cross section table

Definition at line 77 of file GGEMSProcessesManager.cc.

Member Data Documentation

◆ cross_section_table_max_energy_

GGfloat GGEMSProcessesManager::cross_section_table_max_energy_
private

Maximum energy in the cross section table

Definition at line 182 of file GGEMSProcessesManager.hh.

◆ cross_section_table_min_energy_

GGfloat GGEMSProcessesManager::cross_section_table_min_energy_
private

Minimum energy in the cross section table

Definition at line 181 of file GGEMSProcessesManager.hh.

◆ cross_section_table_number_of_bins_

GGsize GGEMSProcessesManager::cross_section_table_number_of_bins_
private

Number of bins in the cross section table

Definition at line 180 of file GGEMSProcessesManager.hh.

◆ is_processes_print_tables_

bool GGEMSProcessesManager::is_processes_print_tables_
private

Flag for physic tables printing

Definition at line 183 of file GGEMSProcessesManager.hh.


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