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

GGEMS class managing the complete simulation. More...

#include "GGEMS.hh"

Collaboration diagram for GGEMS:
Collaboration graph

Public Member Functions

 GGEMS (void)
 GGEMS constructor. More...
 
 ~GGEMS (void)
 GGEMS destructor. More...
 
 GGEMS (GGEMS const &ggems)=delete
 Avoid copy of the class by reference. More...
 
GGEMSoperator= (GGEMS const &ggems)=delete
 Avoid assignement of the class by reference. More...
 
 GGEMS (GGEMS const &&ggems)=delete
 Avoid copy of the class by rvalue reference. More...
 
GGEMSoperator= (GGEMS const &&ggems)=delete
 Avoid copy of the class by rvalue reference. More...
 
void Initialize (GGuint const &seed=0)
 Initialization of the GGEMS simulation. More...
 
void Run (void)
 run the GGEMS simulation More...
 
void SetOpenCLVerbose (bool const &is_opencl_verbose)
 set the flag for OpenCL verbosity More...
 
void SetMaterialDatabaseVerbose (bool const &is_material_database_verbose)
 set the flag for material database verbosity More...
 
void SetSourceVerbose (bool const &is_source_verbose)
 set the flag for source verbosity More...
 
void SetNavigatorVerbose (bool const &is_navigator_verbose)
 set the flag for navigator verbosity More...
 
void SetMemoryRAMVerbose (bool const &is_memory_ram_verbose)
 set the flag for memory RAM verbosity More...
 
void SetProcessVerbose (bool const &is_process_verbose)
 set the flag for process verbosity More...
 
void SetRangeCutsVerbose (bool const &is_range_cuts_verbose)
 set the flag for range cuts verbosity More...
 
void SetRandomVerbose (bool const &is_random_verbose)
 set the flag for random verbosity More...
 
void SetProfilingVerbose (bool const &is_profiling_verbose)
 set the flag for profiling timer verbosity More...
 
bool IsProfilingVerbose (void) const
 get the profiling verbosity flag More...
 
void SetTrackingVerbose (bool const &is_tracking_verbose, GGint const &particle_tracking_id)
 set the flag for tracking verbosity and an index for particle tracking More...
 
bool IsTrackingVerbose (void) const
 get the tracking verbosity flag More...
 
GGint GetParticleTrackingID (void) const
 get the id of the particle to track More...
 

Private Member Functions

void PrintBanner (void) const
 Print GGEMS banner. More...
 
void RunOnDevice (GGsize const &thread_index)
 run the GGEMS simulation on each thread associated to a OpenCL device More...
 

Private Attributes

bool is_opencl_verbose_
 
bool is_material_database_verbose_
 
bool is_source_verbose_
 
bool is_navigator_verbose_
 
bool is_memory_ram_verbose_
 
bool is_process_verbose_
 
bool is_range_cuts_verbose_
 
bool is_random_verbose_
 
bool is_tracking_verbose_
 
bool is_profiling_verbose_
 
GGint particle_tracking_id_
 

Detailed Description

GGEMS class managing the complete simulation.

Definition at line 50 of file GGEMS.hh.

Constructor & Destructor Documentation

◆ GGEMS() [1/3]

GGEMS::GGEMS ( void  )

GGEMS constructor.

Definition at line 57 of file GGEMS.cc.

◆ ~GGEMS()

GGEMS::~GGEMS ( void  )

GGEMS destructor.

Definition at line 79 of file GGEMS.cc.

◆ GGEMS() [2/3]

GGEMS::GGEMS ( GGEMS const &  ggems)
delete

Avoid copy of the class by reference.

Parameters
ggems- reference on the ggems

◆ GGEMS() [3/3]

GGEMS::GGEMS ( GGEMS const &&  ggems)
delete

Avoid copy of the class by rvalue reference.

Parameters
ggems- rvalue reference on the ggems

Member Function Documentation

◆ GetParticleTrackingID()

GGint GGEMS::GetParticleTrackingID ( void  ) const
inline

get the id of the particle to track

Returns
id of the particle to track

Definition at line 194 of file GGEMS.hh.

◆ Initialize()

void GGEMS::Initialize ( GGuint const &  seed = 0)

Initialization of the GGEMS simulation.

Parameters
seed- seed of the simulation

Definition at line 181 of file GGEMS.cc.

◆ IsProfilingVerbose()

bool GGEMS::IsProfilingVerbose ( void  ) const
inline

get the profiling verbosity flag

Returns
state of profiling verbosity flag

Definition at line 172 of file GGEMS.hh.

◆ IsTrackingVerbose()

bool GGEMS::IsTrackingVerbose ( void  ) const
inline

get the tracking verbosity flag

Returns
state of tracking verbosity flag

Definition at line 187 of file GGEMS.hh.

◆ operator=() [1/2]

GGEMS & GGEMS::operator= ( GGEMS const &&  ggems)
delete

Avoid copy of the class by rvalue reference.

Parameters
ggems- rvalue reference on the ggems

◆ operator=() [2/2]

GGEMS & GGEMS::operator= ( GGEMS const &  ggems)
delete

Avoid assignement of the class by reference.

Parameters
ggems- reference on the ggems

◆ PrintBanner()

void GGEMS::PrintBanner ( void  ) const
private

Print GGEMS banner.

Definition at line 198 of file GGEMS.hh.

◆ Run()

void GGEMS::Run ( void  )

run the GGEMS simulation

Definition at line 304 of file GGEMS.cc.

◆ RunOnDevice()

void GGEMS::RunOnDevice ( GGsize const &  thread_index)
private

run the GGEMS simulation on each thread associated to a OpenCL device

Parameters
thread_index- index of the thread

Definition at line 254 of file GGEMS.cc.

◆ SetMaterialDatabaseVerbose()

void GGEMS::SetMaterialDatabaseVerbose ( bool const &  is_material_database_verbose)

set the flag for material database verbosity

Parameters
is_material_database_verbose- flag for material database verbosity

Definition at line 99 of file GGEMS.cc.

◆ SetMemoryRAMVerbose()

void GGEMS::SetMemoryRAMVerbose ( bool const &  is_memory_ram_verbose)

set the flag for memory RAM verbosity

Parameters
is_memory_ram_verbose- flag for memory RAM verbosity

Definition at line 126 of file GGEMS.cc.

◆ SetNavigatorVerbose()

void GGEMS::SetNavigatorVerbose ( bool const &  is_navigator_verbose)

set the flag for navigator verbosity

Parameters
is_navigator_verbose- flag for navigator verbosity

Definition at line 117 of file GGEMS.cc.

◆ SetOpenCLVerbose()

void GGEMS::SetOpenCLVerbose ( bool const &  is_opencl_verbose)

set the flag for OpenCL verbosity

Parameters
is_opencl_verbose- flag for opencl verbosity

Definition at line 90 of file GGEMS.cc.

◆ SetProcessVerbose()

void GGEMS::SetProcessVerbose ( bool const &  is_process_verbose)

set the flag for process verbosity

Parameters
is_process_verbose- flag for process verbosity

Definition at line 135 of file GGEMS.cc.

◆ SetProfilingVerbose()

void GGEMS::SetProfilingVerbose ( bool const &  is_profiling_verbose)

set the flag for profiling timer verbosity

Parameters
is_profiling_verbose- flag for profiling timer verbosity

Definition at line 144 of file GGEMS.cc.

◆ SetRandomVerbose()

void GGEMS::SetRandomVerbose ( bool const &  is_random_verbose)

set the flag for random verbosity

Parameters
is_random_verbose- flag for random verbosity

Definition at line 162 of file GGEMS.cc.

◆ SetRangeCutsVerbose()

void GGEMS::SetRangeCutsVerbose ( bool const &  is_range_cuts_verbose)

set the flag for range cuts verbosity

Parameters
is_range_cuts_verbose- flag for range cuts verbosity

Definition at line 153 of file GGEMS.cc.

◆ SetSourceVerbose()

void GGEMS::SetSourceVerbose ( bool const &  is_source_verbose)

set the flag for source verbosity

Parameters
is_source_verbose- flag for source verbosity

Definition at line 108 of file GGEMS.cc.

◆ SetTrackingVerbose()

void GGEMS::SetTrackingVerbose ( bool const &  is_tracking_verbose,
GGint const &  particle_tracking_id 
)

set the flag for tracking verbosity and an index for particle tracking

Parameters
is_tracking_verbose- flag for tracking verbosity
particle_tracking_id- particle id for tracking

Definition at line 175 of file GGEMS.hh.

Member Data Documentation

◆ is_material_database_verbose_

bool GGEMS::is_material_database_verbose_
private

Flag for material database verbosity

Definition at line 212 of file GGEMS.hh.

◆ is_memory_ram_verbose_

bool GGEMS::is_memory_ram_verbose_
private

Flag for memory RAM verbosity

Definition at line 215 of file GGEMS.hh.

◆ is_navigator_verbose_

bool GGEMS::is_navigator_verbose_
private

Flag for navigator verbosity

Definition at line 214 of file GGEMS.hh.

◆ is_opencl_verbose_

bool GGEMS::is_opencl_verbose_
private

Flag for OpenCL verbosity

Definition at line 211 of file GGEMS.hh.

◆ is_process_verbose_

bool GGEMS::is_process_verbose_
private

Flag for processes verbosity

Definition at line 216 of file GGEMS.hh.

◆ is_profiling_verbose_

bool GGEMS::is_profiling_verbose_
private

Flag for kernel time verbosity

Definition at line 220 of file GGEMS.hh.

◆ is_random_verbose_

bool GGEMS::is_random_verbose_
private

Flag for random verbosity

Definition at line 218 of file GGEMS.hh.

◆ is_range_cuts_verbose_

bool GGEMS::is_range_cuts_verbose_
private

Flag for range cuts verbosity

Definition at line 217 of file GGEMS.hh.

◆ is_source_verbose_

bool GGEMS::is_source_verbose_
private

Flag for source verbosity

Definition at line 213 of file GGEMS.hh.

◆ is_tracking_verbose_

bool GGEMS::is_tracking_verbose_
private

Flag for tracking verbosity

Definition at line 219 of file GGEMS.hh.

◆ particle_tracking_id_

GGint GGEMS::particle_tracking_id_
private

Particle if for tracking

Definition at line 221 of file GGEMS.hh.


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