|
GGEMS
1.1
GPU GEant4-based Monte Carlo Simulations
|
Go to the documentation of this file. 1 #ifndef GUARD_GGEMS_NAVIGATORS_GGEMSDOSIMETRYCALCULATOR_HH
2 #define GUARD_GGEMS_NAVIGATORS_GGEMSDOSIMETRYCALCULATOR_HH
34 #pragma warning(disable: 4251) // Deleting warning exporting STL members!!!
37 #include "GGEMS/global/GGEMSExport.hh"
93 void AttachToNavigator(std::string
const& navigator_name);
99 void Initialize(
void);
109 void SetDoselSizes(
GGfloat const& dosel_x,
GGfloat const& dosel_y,
GGfloat const& dosel_z, std::string
const& unit =
"mm");
116 void SetOutputDosimetryBasename(std::string
const& output_filename);
123 void SetScaleFactor(
GGfloat const& scale_factor);
130 void SetPhotonTracking(
bool const& is_activated);
137 void SetEdep(
bool const& is_activated);
144 void SetHitTracking(
bool const& is_activated);
151 void SetEdepSquared(
bool const& is_activated);
158 void SetUncertainty(
bool const& is_activated);
165 void SetWaterReference(
bool const& is_activated);
173 void SetMinimumDensity(
GGfloat const& minimum_density, std::string
const& unit =
"g/cm3");
197 inline cl::Buffer*
GetEdepBuffer(
GGsize const& thread_index)
const {
return dose_recording_.edep_[thread_index];}
220 void ComputeDose(
GGsize const& thread_index);
226 void SaveResults(
void)
const;
233 void CheckParameters(
void)
const;
239 void InitializeKernel(
void);
245 void SavePhotonTracking(
void)
const;
251 void SaveHit(
void)
const;
257 void SaveEdep(
void)
const;
263 void SaveDose(
void)
const;
269 void SaveEdepSquared(
void)
const;
275 void SaveUncertainty(
void)
const;
405 #endif // End of GUARD_GGEMS_NAVIGATORS_GGEMSDOSIMETRYCALCULATOR_HH
GGEMSDosimetryCalculator(GGEMSDosimetryCalculator const &dose_calculator)=delete
Avoid copy by reference.
GGEMSDoseRecording dose_recording_
void attach_to_navigator_dosimetry_calculator(GGEMSDosimetryCalculator *dose_calculator, char const *navigator)
attach dosimetry module to a navigator
void dose_photon_tracking_dosimetry_calculator(GGEMSDosimetryCalculator *dose_calculator, bool const is_activated)
storing results about photon tracking
void water_reference_dosimetry_calculator(GGEMSDosimetryCalculator *dose_calculator, bool const is_activated)
set water reference mode
cl::Buffer * GetPhotonTrackingBuffer(GGsize const &thread_index) const
get the buffer for photon tracking in dosimetry mode
Class providing tools storing and computing dose in phantom.
std::string dosimetry_output_filename_
GGEMSDosimetryCalculator(GGEMSDosimetryCalculator const &&dose_calculator)=delete
Avoid copy by rvalue reference.
GGsize total_number_of_dosels_
GGsize number_activated_devices_
GGEMSDosimetryCalculator * create_ggems_dosimetry_calculator(void)
Get the GGEMSDosimetryCalculator pointer for python user.
cl::Buffer * GetEdepSquaredBuffer(GGsize const &thread_index) const
get the buffer for edep squared in dosimetry mode
void delete_dosimetry_calculator(GGEMSDosimetryCalculator *dose_calculator)
Delete instance of GGEMSDosimetryCalculator.
cl::Buffer * GetEdepBuffer(GGsize const &thread_index) const
get the buffer for edep in dosimetry mode
void minimum_density_dosimetry_calculator(GGEMSDosimetryCalculator *dose_calculator, GGfloat const minimum_density, char const *unit)
set minimum of density for dose computation
void dose_edep_squared_dosimetry_calculator(GGEMSDosimetryCalculator *dose_calculator, bool const is_activated)
storing results about energy squared deposit
cl::Buffer * GetHitTrackingBuffer(GGsize const &thread_index) const
get the buffer for hit tracking in dosimetry mode
void dose_hit_dosimetry_calculator(GGEMSDosimetryCalculator *dose_calculator, bool const is_activated)
storing results about hit tracking
Parent GGEMS class for navigator.
cl::Kernel ** kernel_compute_dose_
Redefining types for OpenCL device and host.
void scale_factor_dosimetry_calculator(GGEMSDosimetryCalculator *dose_calculator, GGfloat const scale_factor)
set the scale factor applied to dose value
cl::Buffer ** dose_params_
void set_dose_output_dosimetry_calculator(GGEMSDosimetryCalculator *dose_calculator, char const *dose_output_filename)
set output filename storing dosimetry
Structure storing data for dose recording.
GGEMSDosimetryCalculator & operator=(GGEMSDosimetryCalculator const &&dose_calculator)=delete
Avoid copy by rvalue reference.
GGchar is_water_reference_
void dose_edep_dosimetry_calculator(GGEMSDosimetryCalculator *dose_calculator, bool const is_activated)
storing results about energy deposit
GGEMSNavigator * navigator_
cl::Buffer * GetDoseParams(GGsize const &thread_index) const
get the buffer storing dosimetry params
GGEMSDosimetryCalculator & operator=(GGEMSDosimetryCalculator const &dose_calculator)=delete
Avoid assignement by reference.
void set_dosel_size_dosimetry_calculator(GGEMSDosimetryCalculator *dose_calculator, GGfloat const dose_x, GGfloat const dose_y, GGfloat const dose_z, char const *unit)
set size of dosels
void dose_uncertainty_dosimetry_calculator(GGEMSDosimetryCalculator *dose_calculator, bool const is_activated)
storing results about uncertainty
Structure storing histogram infos.