|
GGEMS
1.1
GPU GEant4-based Monte Carlo Simulations
|
Go to the documentation of this file.
41 GGcout(
"GGEMSRangeCutsManager",
"GGEMSRangeCutsManager", 3) <<
"GGEMSRangeCutsManager creating..." <<
GGendl;
43 GGcout(
"GGEMSRangeCutsManager",
"GGEMSRangeCutsManager", 3) <<
"GGEMSRangeCutsManager created!!!" <<
GGendl;
52 GGcout(
"GGEMSRangeCutsManager",
"~GGEMSRangeCutsManager", 3) <<
"GGEMSRangeCutsManager erasing..." <<
GGendl;
54 GGcout(
"GGEMSRangeCutsManager",
"~GGEMSRangeCutsManager", 3) <<
"GGEMSRangeCutsManager erased!!!" <<
GGendl;
63 GGcout(
"GGEMSRangeCutsManager",
"Clean", 3) <<
"GGEMSRangeCutsManager cleaning..." <<
GGendl;
65 GGcout(
"GGEMSRangeCutsManager",
"Clean", 3) <<
"GGEMSRangeCutsManager cleaned!!!" <<
GGendl;
74 GGcout(
"GGEMSRangeCutsManager",
"PrintInfos", 0) <<
"Printing infos about range cuts" <<
GGendl;
81 std::string name_of_phantom = ((navigator_manager.
GetNavigators())[i])->GetNavigatorName();
85 GGcout(
"GGEMSRangeCutsManager",
"PrintInfos", 0) <<
"Range cuts for phantom navigator: " << name_of_phantom <<
GGendl;
86 GGcout(
"GGEMSRangeCutsManager",
"PrintInfos", 0) <<
"---------------------------------" <<
GGendl;
87 GGcout(
"GGEMSRangeCutsManager",
"PrintInfos", 0) <<
"Length cuts:" <<
GGendl;
91 GGcout(
"GGEMSRangeCutsManager",
"PrintInfos", 0) <<
"Energy cuts:" <<
GGendl;
92 GGcout(
"GGEMSRangeCutsManager",
"PrintInfos", 0) <<
" * Photon:" <<
GGendl;
94 for (
auto&& j : energy_cut_of_photon) {
97 GGcout(
"GGEMSRangeCutsManager",
"PrintInfos", 0) <<
" * Electron:" <<
GGendl;
99 for (
auto&& j : energy_cut_of_electron) {
102 GGcout(
"GGEMSRangeCutsManager",
"PrintInfos", 0) <<
" * Positron:" <<
GGendl;
104 for (
auto&& j : energy_cut_of_positron) {
107 GGcout(
"GGEMSRangeCutsManager",
"PrintInfos", 0) <<
GGendl;
119 if (phantom_name ==
"all") {
122 ((navigator_manager.
GetNavigators())[i])->GetMaterials()->SetDistanceCut(particle_name, value, unit);
145 range_cut_manager->
SetLengthCut(phantom_name, particle_name, value, unit);
GGEMS class managing the range cuts in GGEMS simulation.
GGEMS class handling the navigators (detector + phantom) in GGEMS.
EnergyCutUMap GetPositronEnergyCut(void) const
get the map of energy cut with material for positron
GGEMSRangeCutsManager * get_instance_range_cuts_manager(void)
Get the GGEMSRangeCutsManager pointer for python user.
GGEMS class storing and converting the cut in energy cut.
GGEMSMaterials * GetMaterials(void) const
get the pointer on materials
GGsize GetNumberOfNavigators(void) const
Get the number of navigators.
GGfloat GetPhotonDistanceCut(void) const
get the photon length cut
std::string BestDistanceUnit(T const &value)
Choose best distance unit.
static GGEMSRangeCutsManager & GetInstance(void)
Create at first time the Singleton.
EnergyCutUMap GetPhotonEnergyCut(void) const
get the map of energy cut with material
void Clean(void)
clean OpenCL data if necessary
~GGEMSRangeCutsManager(void)
Unable the destructor for the user.
std::string BestEnergyUnit(T const &value)
Choose best energy unit, mega is the reference.
static GGEMSNavigatorManager & GetInstance(void)
Create at first time the Singleton.
GGEMS class storing and converting the cut in energy cut. The computations come from G4RToEConvForGam...
void SetLengthCut(std::string const &phantom_name, std::string const &particle_name, GGfloat const &value, std::string const &unit="mm")
set the range cut length for a phantom and a particle
void set_cut_range_cuts_manager(GGEMSRangeCutsManager *range_cut_manager, char const *phantom_name, char const *particle_name, GGfloat const value, char const *unit)
set the range cut for a phantom and a particle
GGEMS class handling the navigators (detector + phantom) in GGEMS.
GGEMSRangeCutsManager(void)
Unable the constructor for the user.
void PrintInfos(void) const
print infos about range cut manager
std::unordered_map< std::string, GGfloat > EnergyCutUMap
GGEMSNavigator * GetNavigator(std::string const &navigator_name) const
get the navigator by the name
EnergyCutUMap GetElectronEnergyCut(void) const
get the map of energy cut with material for electron
#define GGendl
overload C++ std::endl
GGEMSNavigator ** GetNavigators(void) const
get the list of navigators
GGfloat GetPositronDistanceCut(void) const
get the positron length cut
void SetDistanceCut(std::string const &particle_name, GGfloat const &value, std::string const &unit)
set the cut for a particle in distance
GGfloat GetElectronDistanceCut(void) const
get the electron length cut for photon
GGEMS class managing the range cuts in GGEMS simulation.