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

GGEMS class handling global world (space between navigators) in GGEMS. More...

#include "GGEMSWorld.hh"

Collaboration diagram for GGEMSWorld:
Collaboration graph

Public Member Functions

 GGEMSWorld (void)
 GGEMSWorld constructor. More...
 
 ~GGEMSWorld (void)
 GGEMSWorld destructor. More...
 
 GGEMSWorld (GGEMSWorld const &world)=delete
 Avoid copy by reference. More...
 
GGEMSWorldoperator= (GGEMSWorld const &world)=delete
 Avoid assignement by reference. More...
 
 GGEMSWorld (GGEMSWorld const &&world)=delete
 Avoid copy by rvalue reference. More...
 
GGEMSWorldoperator= (GGEMSWorld const &&world)=delete
 Avoid copy by rvalue reference. More...
 
void SetOutputWorldBasename (std::string const &output_basename)
 set output basename storing world tracking More...
 
void SetDimension (GGsize const &dimension_x, GGsize const &dimension_y, GGsize const &dimension_z)
 set the dimension of the world in X, Y and Z More...
 
void SetElementSize (GGfloat const &size_x, GGfloat const &size_y, GGfloat const &size_z, std::string const &unit="mm")
 set the size of elements of the world in X, Y and Z More...
 
void SetPhotonTracking (bool const &is_activated)
 activating photon tracking in world More...
 
void SetEnergyTracking (bool const &is_activated)
 activating energy tracking in world More...
 
void SetEnergySquaredTracking (bool const &is_activated)
 activating energy squared tracking in world More...
 
void SetMomentum (bool const &is_activated)
 activating sum of momentum in world More...
 
void Initialize (void)
 initialize and check parameters for world More...
 
void Tracking (GGsize const &thread_index)
 track particles through world More...
 
void SaveResults (void) const
 save all results from world More...
 
void EnableTracking (void)
 Enable tracking during simulation. More...
 

Private Member Functions

void CheckParameters (void) const
 check parameters for world volume More...
 
void InitializeKernel (void)
 Initialize kernel for world tracking. More...
 
void SavePhotonTracking (void) const
 save photon tracking from world More...
 
void SaveEnergyTracking (void) const
 save energy tracking More...
 
void SaveEnergySquaredTracking (void) const
 save energy squared tracking More...
 
void SaveMomentum (void) const
 save sum of momentum More...
 

Private Attributes

std::string world_output_basename_
 
GGsize3 dimensions_
 
GGfloat3 sizes_
 
bool is_photon_tracking_
 
bool is_energy_tracking_
 
bool is_energy_squared_tracking_
 
bool is_momentum_
 
std::string tracking_kernel_option_
 
GGEMSWorldRecording world_recording_
 
cl::Kernel ** kernel_world_tracking_
 
GGsize number_activated_devices_
 

Detailed Description

GGEMS class handling global world (space between navigators) in GGEMS.

Definition at line 55 of file GGEMSWorld.hh.

Constructor & Destructor Documentation

◆ GGEMSWorld() [1/3]

GGEMSWorld::GGEMSWorld ( void  )

GGEMSWorld constructor.

Definition at line 40 of file GGEMSWorld.cc.

◆ ~GGEMSWorld()

GGEMSWorld::~GGEMSWorld ( void  )

GGEMSWorld destructor.

Definition at line 81 of file GGEMSWorld.cc.

◆ GGEMSWorld() [2/3]

GGEMSWorld::GGEMSWorld ( GGEMSWorld const &  world)
delete

Avoid copy by reference.

Parameters
world- reference on the GGEMS world

◆ GGEMSWorld() [3/3]

GGEMSWorld::GGEMSWorld ( GGEMSWorld const &&  world)
delete

Avoid copy by rvalue reference.

Parameters
world- rvalue reference on the GGEMS world

Member Function Documentation

◆ CheckParameters()

void GGEMSWorld::CheckParameters ( void  ) const
private

check parameters for world volume

Definition at line 163 of file GGEMSWorld.cc.

◆ EnableTracking()

void GGEMSWorld::EnableTracking ( void  )

Enable tracking during simulation.

Definition at line 244 of file GGEMSWorld.cc.

◆ Initialize()

void GGEMSWorld::Initialize ( void  )

initialize and check parameters for world

Definition at line 275 of file GGEMSWorld.cc.

◆ InitializeKernel()

void GGEMSWorld::InitializeKernel ( void  )
private

Initialize kernel for world tracking.

Definition at line 253 of file GGEMSWorld.cc.

◆ operator=() [1/2]

GGEMSWorld & GGEMSWorld::operator= ( GGEMSWorld const &&  world)
delete

Avoid copy by rvalue reference.

Parameters
world- rvalue reference on the GGEMS world

◆ operator=() [2/2]

GGEMSWorld & GGEMSWorld::operator= ( GGEMSWorld const &  world)
delete

Avoid assignement by reference.

Parameters
world- reference on the GGEMS world

◆ SaveEnergySquaredTracking()

void GGEMSWorld::SaveEnergySquaredTracking ( void  ) const
private

save energy squared tracking

Definition at line 453 of file GGEMSWorld.cc.

◆ SaveEnergyTracking()

void GGEMSWorld::SaveEnergyTracking ( void  ) const
private

save energy tracking

Definition at line 419 of file GGEMSWorld.cc.

◆ SaveMomentum()

void GGEMSWorld::SaveMomentum ( void  ) const
private

save sum of momentum

Definition at line 487 of file GGEMSWorld.cc.

◆ SavePhotonTracking()

void GGEMSWorld::SavePhotonTracking ( void  ) const
private

save photon tracking from world

Definition at line 386 of file GGEMSWorld.cc.

◆ SaveResults()

void GGEMSWorld::SaveResults ( void  ) const

save all results from world

Definition at line 374 of file GGEMSWorld.cc.

◆ SetDimension()

void GGEMSWorld::SetDimension ( GGsize const &  dimension_x,
GGsize const &  dimension_y,
GGsize const &  dimension_z 
)

set the dimension of the world in X, Y and Z

Parameters
dimension_x- dimension in X
dimension_y- dimension in Y
dimension_z- dimension in Z

Definition at line 186 of file GGEMSWorld.cc.

◆ SetElementSize()

void GGEMSWorld::SetElementSize ( GGfloat const &  size_x,
GGfloat const &  size_y,
GGfloat const &  size_z,
std::string const &  unit = "mm" 
)

set the size of elements of the world in X, Y and Z

Parameters
size_x- size in X
size_y- size in Y
size_z- size in Z
unit- unit of the distance

Definition at line 197 of file GGEMSWorld.cc.

◆ SetEnergySquaredTracking()

void GGEMSWorld::SetEnergySquaredTracking ( bool const &  is_activated)

activating energy squared tracking in world

Parameters
is_activated- boolean activating energy squared tracking

Definition at line 226 of file GGEMSWorld.cc.

◆ SetEnergyTracking()

void GGEMSWorld::SetEnergyTracking ( bool const &  is_activated)

activating energy tracking in world

Parameters
is_activated- boolean activating energy tracking

Definition at line 217 of file GGEMSWorld.cc.

◆ SetMomentum()

void GGEMSWorld::SetMomentum ( bool const &  is_activated)

activating sum of momentum in world

Parameters
is_activated- boolean activating sum of momentum in world

Definition at line 235 of file GGEMSWorld.cc.

◆ SetOutputWorldBasename()

void GGEMSWorld::SetOutputWorldBasename ( std::string const &  output_basename)

set output basename storing world tracking

Parameters
output_basename- name of output world basename

Definition at line 154 of file GGEMSWorld.cc.

◆ SetPhotonTracking()

void GGEMSWorld::SetPhotonTracking ( bool const &  is_activated)

activating photon tracking in world

Parameters
is_activated- boolean activating photon tracking

Definition at line 208 of file GGEMSWorld.cc.

◆ Tracking()

void GGEMSWorld::Tracking ( GGsize const &  thread_index)

track particles through world

Parameters
thread_index- index of activated device (thread index)

Definition at line 317 of file GGEMSWorld.cc.

Member Data Documentation

◆ dimensions_

GGsize3 GGEMSWorld::dimensions_
private

Dimensions of world

Definition at line 214 of file GGEMSWorld.hh.

◆ is_energy_squared_tracking_

bool GGEMSWorld::is_energy_squared_tracking_
private

Boolean for energy squared deposit

Definition at line 218 of file GGEMSWorld.hh.

◆ is_energy_tracking_

bool GGEMSWorld::is_energy_tracking_
private

Boolean for energy deposit

Definition at line 217 of file GGEMSWorld.hh.

◆ is_momentum_

bool GGEMSWorld::is_momentum_
private

Boolean for sum of momentum

Definition at line 219 of file GGEMSWorld.hh.

◆ is_photon_tracking_

bool GGEMSWorld::is_photon_tracking_
private

Boolean for photon tracking

Definition at line 216 of file GGEMSWorld.hh.

◆ kernel_world_tracking_

cl::Kernel** GGEMSWorld::kernel_world_tracking_
private

OpenCL kernel computing world tracking

Definition at line 222 of file GGEMSWorld.hh.

◆ number_activated_devices_

GGsize GGEMSWorld::number_activated_devices_
private

Number of activated device

Definition at line 223 of file GGEMSWorld.hh.

◆ sizes_

GGfloat3 GGEMSWorld::sizes_
private

Sizes of elements in world

Definition at line 215 of file GGEMSWorld.hh.

◆ tracking_kernel_option_

std::string GGEMSWorld::tracking_kernel_option_
private

Preprocessor option for tracking

Definition at line 220 of file GGEMSWorld.hh.

◆ world_output_basename_

std::string GGEMSWorld::world_output_basename_
private

Output basename for world results

Definition at line 213 of file GGEMSWorld.hh.

◆ world_recording_

GGEMSWorldRecording GGEMSWorld::world_recording_
private

Structure storing OpenCL pointer

Definition at line 221 of file GGEMSWorld.hh.


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