1 Introduction

In the field of radioprotection, estimation of the internal deposited dose from the distribution of radiotracers in both diagnostic and therapeutic nuclear medicine examinations is critical [1, 2] because it can provide early insights into the biological consequences on irradiated body regions [3].

Internal dosimetry simulations evaluate the radiotracer’s emitted radiation effect based on the administered activity of the radiotracer by calculating internal dosimetry quantities such as the absorbed dose and effective dose [4]. These simulations require the use of two primary simulation inputs. The first is the phantom anatomy model, which can be represented by different regional units (organs, tissues, or cells), with volume shape and material data assigned to these regions. The second is the data covering the radiation emitted by the radiotracer.

The specific absorbed fraction (SAF), which connects the emitted radiation data to a specific simulated phantom was chosen in this study as an evaluated quantity because it is the primary quantity that derives all related internal dosimetry quantities. An effective way to estimate SAF is to use the Monte Carlo method to mimic the interaction of radiotracer-emitted particles within body regions [5].

Various Monte Carlo tools have been developed to run these simulations, including the Geant4 application for tomographic emissions (GATE) [6,7,8] and general-purpose Monte Carlo N-particle transport code (MCNP) [9]. Thus, many studies have been conducted using these codes and others, each of which uses a specific set of input data to assess the SAFs for photons and electrons in a specific phantom model, such as Zubal and ICRP adult male voxel-based phantoms [10, 11] and ICRP pediatric phantoms [12, 13].

The Geant4 toolkit was developed, maintained, and supported by global collaboration between scientists and software developers. The Geant4 toolkit includes many features, such as particle tracking, geometry and material construction, physics interactions and models, and particle source management, for subsequent use in different particle-matter interaction simulations. The toolkit is written in the C++ programming language and consists of a suite of C++ libraries and modules that utilize the capabilities of object-oriented programming. Hence, they have been used in a variety of studies and applications in physics, including medical physics and radiation protection.

Moreover, the Geant4 geometry library supports a variety of formats for importing geometry data, including voxel-based structures, C++, TEXT, and geometry description mark-up language (GDML) [14]. Furthermore, computer-aided design (CAD) models in Stereo-Lithography (STL) format can be imported as tessellated solids (G4TessellatedSolid) into Geant4 [15]. Nevertheless, loading CAD models as simulation geometry is challenging for radiation protection applications [16, 17].

In this study, we developed DoseCalcs, a Geant4-based code, to facilitate the use of the Geant4 toolkit functionalities in internal dosimetry simulations by providing a simple input interface and modeling geometries from GDML (.gdml file extension) and TEXT (.geom), STL (.stl), and voxel-based formats. Furthermore, it enables the use of different radiation source configurations, each of which (i.e., particle type, source region, and energy) can be simulated on a computation unit using message passing interface (MPI) or multi-threading (MT) modes [18, 19]. In addition, a data analysis interface based on the ROOT analysis system provides automatic generation of data tables and graphs in multiple formats, which allows them to be used directly for analysis tasks without the need for a separate analysis tool [20]. The main features of DoseCalcs, its application, and its validation are discussed in this study.

2 Materials and methods

The DoseCalcs code was developed as a Geant4 top layer and tested using the current version of Geant4 (11.0). To model the internal dosimetry scenarios, Geant4 capabilities are used, which score the relevant internal dosimetry quantities by simulating the interactions of radiation released from an internal source region with all other body regions. Therefore, DoseCalcs can be used for internal radiation protection in both advanced education and research.

Using a simple command interface, the simulation parameters were adjusted using DoseCalcs macros commands by following the DoseCalcs user technical notes at https://dosecalcs.readthedocs.io/en/latest/index.html. As indicated in Fig. 1, the DoseCalcs code building generates three executables that can be executed on Ubuntu-and CentOS Linux-based systems:

  • Simulate: can be used for primary particle data generation, simulation, or geometry graphical visualization. Three computation modes are available for simulation: sequential, MT, and MPI.

  • Merge: can be used for merging data files that are created in MPI and MT computation modes.

  • Analysis: can be used for accomplishing analysis tasks.

Fig. 1
figure 1

DoseCalcs code organigram based on Geant4, illustrating all the stages DoseCalcs takes to simulate an internal irradiation scenario and produce the desired results

2.1 DoseCalcs code features

Geometry modeling: In general, simulation geometry can be constructed using a variety of methods that are handled by several classes and functions developed by DoseCalcs to make reading and modeling geometry data easier. Five geometric construction methods are used in this study. The basic method is to parameterize standard constructive solids, such as boxes, tubes, and spheres, after the elements and materials are constructed using simple commands. In addition, the user can build a geometry through C++ syntax using a C++ class interface. Likewise, importing geometrical data from voxel-based, GDML-, TEXT-, and STL-format files is also possible. Furthermore, different methods can be invoked from the same input file to build the simulation to construct complex geometry models using a combination of the file formats GDML, TEXT, STL, and C++.

Radiation source construction: The rejection sampling method of Von Neumann is a Monte Carlo algorithm allowing one to sample a random variable from a complex (“difficult to sample from, as in the case of volumes with non-uniform shapes”) distribution with the help of a proxy distribution (“i.e. uniform distribution”) [5]. This algorithm is used to generate the initial position of the event in a region volume within a nonuniform shape. Using the following equations, the random generation of the initial position coordinates Xi, Yi, Zi starts after calculating the absolute position G4ThreeVector(Xr, Yr, Zr) of the source region volume and surrounding it with a box of half-dimensions hx, hy, hz:

figure a

As the RegionName variable points to the source region if the G4ThreeVector(Xi, Yi, Zi) fits inside the shape of the source region volume, G4ThreeVector(Xi, Yi, Zi) is simulated.

For the radiation source energy, the initial energy of the event can be generated using the following distributions: Gaussian, Rayleigh, mono, uniform, and spectrum. In addition, the initial momentum direction of an event with isotropic, uniform, and directed distributions can be generated.

The required radiation source parameters given to DoseCalcs via the macro-command file can be in the form of a list of particles, region names, and energies. Unlike most Monte Carlo tools for internal dosimetry simulations, DoseCalcs parallelizes calculations by assigning each source configuration to a distinct computing unit.

Physics setting: For various particles, the Geant4 toolkit includes various physical processes, each of which can be registered with multiple models. Based on the Geant4 physics list, the electromagnetism standard physics (i.e., EMS, EMO2, EMO1, EMO3, and EMO4), Livermore, and Penelope can be applied in the DoseCalcs simulations. In addition, the corresponding cut values of the particles can be easily manipulated using the /physicsData/ DoseCalcs commands.

Calculation and results: Internal dosimetry quantities, such as the absorbed dose, absorbed fraction, specific absorbed fraction, S-values, equivalent dose, and effective dose, were calculated based on the energy deposit in each geometric region volume. Furthermore, statistics were produced using the square of the deposited energy and the number of recorded histories in each region. The following equation was used to calculate the internal dosimetry quantities:

$$\begin{aligned} \text {ED}_{t\leftarrow s}= & {} \sum _{i=1}^{n_{t\leftarrow s}} \text {ED}_{t\leftarrow s,i} , \quad \text {in MeV} \end{aligned}$$
(1)
$$\begin{aligned} \text {AD}_{t\leftarrow s}= & {} \frac{\text {ED}_{t\leftarrow s}}{M_t} , \quad \text {in Gray} \end{aligned}$$
(2)
$$\begin{aligned} \text {AF}_{t\leftarrow s}= & {} \frac{\text {ED}_{t\leftarrow s}}{\text {TEE}_s} \end{aligned}$$
(3)
$$\begin{aligned} \text {SAF}_{t\leftarrow s}= & {} \frac{\text {AF}_{t\leftarrow s}}{M_t} , \quad \text {in kg}^{-1} \end{aligned}$$
(4)
$$\begin{aligned} S_{t\leftarrow s}= & {} \frac{\text {AD}_{t\leftarrow s}}{N_s} , \quad \text {in Gray/emission} \end{aligned}$$
(5)
$$\begin{aligned} H_{t\leftarrow s}= & {} AD_{t\leftarrow s}\times \text {WR} , \quad \text {in Sv} \end{aligned}$$
(6)
$$\begin{aligned} E= & {} \sum _{s} \left(\sum _{t} H_{t\leftarrow s}\times \text {WT}_{t}\right) , \quad \text {in Sv} \end{aligned}$$
(7)

where,

\(\text {n}_{t\leftarrow s}\): Number of histories recorded in target region t when the source is s;

\(\text {ED}_{t\leftarrow s,i}\): Energy deposited by history i in thetarget region t when the source is s;

\(\text {ED}_{t\leftarrow s}\): Total energy deposited from source s in target region t;

\(\text {M}_{t}\): Region mass (kg);

\(\text {TEE}_{s}\): Total energy emitted from the source region s;

\(\text {N}_{s}\): number of events emitted from source region s;

WR: Radiation weighting factor;

\(\text {WT}_t\): Tissue weighting factor of the target region t;

\(\text {SAF}_{t\leftarrow s}\): Absorbed fraction in target region t by the energy emitted from source s;

\(\text {SAF}_{t\leftarrow s}\): Specific absorbed fraction in the target region t by the energy emitted from the source s;

\(\text {AD}_{t\leftarrow s}\): Absorbed dose in target region t by the energy emitted from source s;

\(\text {S}_{t\leftarrow s}\): S values or absorbed dose in target region t by one-particle emission from source s;

\(\text {H}_{t\leftarrow s}\): Equivalent dose deposited in the target region t by the energy emitted from the source s;

\(\text {E}\): Effective dose deposited in the phantom by energy emitted from all sources;

Note that when calculating the radiotracer’s S-values, the \(S_{t \leftarrow s}\) value is multiplied by the radiation yield. The following equations were used to calculate the accuracy:

$$\begin{aligned}&\text {Mean}_{t\leftarrow s} = \overline{\text {ED}_{t\leftarrow s}} = \frac{1}{n_{t\leftarrow s}} \sum _{i=1}^{n_{t\leftarrow s}} \text {ED}_{t\leftarrow s,i}. \end{aligned}$$
(8)
$$\begin{aligned}&\begin{aligned}&\text {Variance} = S_{t\leftarrow s}^2 = \frac{1}{n_{t\leftarrow s} - 1} \sum _{i=1}^{n_{t\leftarrow s,i}} \left( \text {ED}_{t\leftarrow s,i} - \overline{\text {ED}_{t\leftarrow s}} \right) ^2 \\&\quad =\frac{1}{n_{t\leftarrow s} - 1} \left( \sum _{i=1}^{n_{t\leftarrow s,i}} \text {ED}_{t\leftarrow s,i}^2 - n_{t\leftarrow s}\overline{\text {ED}_{t\leftarrow s}}^2 \right) . \end{aligned} \end{aligned}$$
(9)
$$\begin{aligned}&\text {Standard deviation} = \sqrt{S_{t\leftarrow s}^2} \end{aligned}$$
(10)
$$\begin{aligned}&\text {Relative standard deviation (\%)} = \frac{\sqrt{S_{t\leftarrow s}^2}}{\overline{\text {ED}_{t\leftarrow s}}}\times 100 \end{aligned}$$
(11)

Using the simulation result files, several tables, graphs, and histograms can be generated automatically by the analysis executable, which is a direct interface for the ROOT analysis system [20]. This includes event initial positions, energies, momentum direction data, macroscopic cross-sections in the simulated materials, self-absorption, and cross-irradiation results with statistical uncertainties, and comparison factors if reference data are available.

2.2 Application

The most recently developed phantoms for internal or external dosimetry are the ICRP Publication 145 Adult Mesh-Type phantoms, which include all source and target regions required for estimating the effective dose, even micrometer-thick regions [21]. For tool validation, we employed the ORNL adult phantom as a DoseCalcs application because its organs can be represented by the Geant4 standard and/or Boolean solids, which allowed us to describe these volumes easily using multiple DoseCalcs geometrical methods. With the help of Geant4 example “Human phantom” [22], a majority of the phantom organ volumes were constructed using geometrical data of the adult female provided in the GDML and C++ formats. The volume, mass, and material parameters were adjusted to match the adult male anatomical specifications using the data in [23]. Furthermore, 31 organs were constructed in different ways to ensure the efficiency of the DoseCalcs geometry building interface: the testes solid was imported from an STL file, the thyroid from a TEXT file format, the kidneys from a C++ Geant4 format, and the remaining organs from a GDML file format. The resulting model is shown in (c) and (d) in Fig. 2. The density, volume, and material specifications of the organs reported by [22, 23] were effectively implemented in the DoseCalcs ORNL phantom. Nevertheless, modeling organ volumes results in variations in organ mass (Table 1), volume, and shape. The ORNL-modeled phantom weighed 74.3 kg and resulted in a mass ratio of 1.04 (DoseCalcs/ORNL) compared to the total body mass provided in the ORNL reference geometry data.

Fig. 2
figure 2

In frontal (a) and sagittal (b) views, DoseCalcs created 3D models of the ICRP adult male phantom, as well as the ORNL adult phantom in frontal (c) and sagittal (d) views

The voxel-based ICRP adult male phantom, which is described in full detail in ICRP Publication 110 [24], was used to validate the DoseCalcs for internal dosimetry calculations using voxelized geometries. The ICRP computational adult male phantom was composed of 254\(\times\)127\(\times\)222 voxels, weighed 70 kg, and was 1.76 m tall. Each voxel had an area of 2.137\(\times\)2.137 mm\(^2\) and height of 8 mm. The geometrical outcomes of the DoseCalcs ICRP adult male phantom implementation are displayed in the frontal slice represented by (a) and the sagittal slice represented by (b) in Fig. 2 with 122 segmented regions.

Table 1 Comparison of the mass (kg) of regions for DoseCalcs and ORNL [23] adult male phantoms

Eight organs were adopted in the voxel-based phantom as sources: the liver, pancreas, spleen, thyroid, brain, thymus, stomach contents, and urinary bladder contents. In the ORNL phantom, the organs included the brain, thyroid, liver, kidneys, spleen, urinary bladder contents, testes, and stomach. We used photons with monoenergetic energies of 0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, and 2 MeV as the primary particles. The distribution of the momentum direction was isotropic. Furthermore, OpenDose data were obtained using GATE code based on Livermore physics [25]. Note that the Livermore package (G4EmLivermorePhysics) was chosen because it is suitable for photon, positron, and electron transport and is recommended for medical physics simulations [26]. The secondary particle production cuts for photons, electrons, and positrons were set to a fixed value of 0.1 mm.

In addition to the geometry data files, DoseCalcs requires a single input file that contains the simulation physics, radiation source, run, score, and analysis commands. In fact, DoseCalcs was executed once for each phantom and yielded a total of \(1\times 8\times 8 = 64\) related subsimulations (one particle, eight source organs, and eight energies). The subsimulations were performed on an Intel(R) Xeon(R) CPU E5-2620 v3 workstation with 320 CPU cores running at 2.40 GHz. Parallel computing (MPI computation mode) was adopted, and each sub-simulation, modeling a combination of particles, source organs, and energy, was spread on a CPU core using \(2\times 10^8\) photons as primary events. Furthermore, the average CPU time required to perform the 24 sub-simulations in ORNL phantom was between 1.3 h and 8.1 h, while the ICRP adult male phantom required between 1.4 h and 41 h.

3 Results and discussion

In this study, the DoseCalcs-derived SAFs, along with the corresponding standard deviation in percent (SD%), representing the statistical uncertainties of the DoseCalcs simulations characterized by the source organs and monoenergetic photons, are given in the numerical format for all source and target region combinations, as calculated using the DoseCalcs model of the ORNL adult male phantom (O-P) and ICRP adult male phantom (I-P) are provided as supplementary data. Owing to the large number of source\(\rightarrow\)target combinations resulting in the simulations, 21 combinations are shown for O–P in Table 2, and for I–P, 25 combinations are presented in Table 3. The discussion for the tool validation process covers three selected combinations for O–P: (kidneys\(\rightleftharpoons\)thyroid), (liver\(\rightleftharpoons\)kidneys), and (liver\(\rightleftharpoons\)thyroid), for I–P: (spleen\(\rightleftharpoons\)pancreas), (spleen\(\rightleftharpoons\)liver), and (liver\(\rightleftharpoons\)pancreas).

The DoseCalcs-derived SAF values can be divided into two groups: self-absorption SAFs (S-SAFs) and cross-irradiation SAFs (C-SAFs). The obtained SAFs for three combinations of (O–P) and (I–P) for monoenergetic photons with energies of 0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, and 2 MeV are given in Tables 2 and 3, respectively, and are displayed in Fig. 3a for O–P and in Fig. 3b for I–P simulations. Furthermore, for each source\(\rightarrow\)target combination, the tables include the SAFs values derived from the ORNL and OpenDose reference data [27, 28] along with the corresponding standard deviation in percent (SD%) representing the statistical uncertainties of the DoseCalcs simulations. According to Tables 2 and 3, the maximum SD obtained from DoseCalcs simulations for selected source-target combinations in the O–P is 3.0% (kidneys\(\rightleftharpoons\)thyroid), whereas in the I–P, it is 1.2% (liver\(\rightleftharpoons\)spleen). These values are registered for the low-energy range and distant source target, and are considered reliable because of the inter-distance and volume of the source and target organs.

Table 2 Self- and cross-irradiation SAF values (kg\(^{-1}\)) for 0.01-2 MeV mono-energetic photons for each source-target combination derived by DoseCalcs using the stylized ORNL adult male phantom and compared to the ORNL reference [27] and the MIRD-Gate study reference [29]
Table 3 Self- and cross-irradiation SAF values (kg\(^{-1}\)) for 0.01–2 MeV mono-energetic photons for each source–target combination derived by DoseCalcs using the voxel-based ICRP adult male phantom and compared to the OpenDose data [28]

In addition to the ORNL reference SAFs [27], the O–P obtained SAFs by DoseCalcs were compared to the calculated SAFs data for mono-energetic photons of 0.01, 0.015, 0.02, 0.03, 0.05, 0.1, 0.2, 0.5, and 1 MeV from five source organs: the liver, kidneys, adrenals, spleen, and pancreas in the mathematical Snyder phantom using GATE4.0 (MIRD-Gate) [29, 30].

The reference OpenDose SAFs were calculated using GATE8.1 and are reported in an open database website (https://www.opendose.org/safs), which provides reference data for nuclear medicine dosimetry. Furthermore, the ratio (R) between the DoseCalcs results and those reported in the reference data for each corresponding pair of organs (source\(\rightarrow\)target) is included in the tables and presented in Fig. 4.

The macroscopic cross-sections of the material that fill the source and target organs are the primary elements impacting the S-SAF and C-SAF values, in addition to geometrical parameters, such as mass, volume, and organ inter-distance. The variation in the scored SAFs as a function of the photon energy and some simulation variables, such as Monte Carlo statistical uncertainties, can be explained in terms of macroscopic cross-sections of Rayleigh, Compton, and photoelectric processes. In fact, the photoelectric effect causes photons to cease by depositing all of their energy in the material of the source organ. However, the Rayleigh and Compton effects give photons more chances to leave the source region and deposit energy in the target organs, which affects the S-SAFs and C-SAFs values.

The S-SAF and C-SAF values against photon energy ranges of 0.01–2 MeV using the liver, kidneys, and thyroid as source organs are plotted in Fig. 3a and b for the O–P and I–P simulations, respectively. Generally, the curves show good correlation between the DoseCalcs estimates and the reference data used. As shown, the S-SAFs decrease with increasing photon energy; this behavior is a result of the photoelectric cross-section decreasing when the energy increases, which provides more opportunities for photons to escape from the source region. For energies above 0.1 MeV, the S-SAFs remain almost constant with respect to energy. In fact, in this energy range, the photon cross-section is slightly invariable, which demonstrates the invariability of the S-SAFs. The differences in the SAFs noticed between the three organs reflect the mass and volume effects.

In general, the obtained simulation statistical uncertainties given in Tables 2 and 3 reveal that the scored S-SAFs are statistically trustworthy for both O–P and I–P phantoms. The maximum SD achieved in the O–P simulation over the investigated high-energy range of 0.2–2 MeV and low energy range of 0.01–0.1 MeV is approximately 0.12% and over 0.5%, respectively. The O–P maximum SD is 3.9% for the kidneys\(\rightarrow\)thyroid at an energy of 0.05 MeV. In addition, for the I–P simulation, the maximum SD was 0.1% over the high-energy range and 0.9% over the low-energy range, with a maximum value of 1.25% registered in the liver\(\rightarrow\)spleen.

It is clear that the combinations liver\(\rightleftharpoons\)thyroid and kidneys\(\rightleftharpoons\)thyroid in the O–P and liver\(\rightleftharpoons\)spleen in the I-P have obtained the maximum value of SD due to the large inter-distance between the source and the target organs in these combinations, particularly, at energies 0.01 and 0.02 MeV because of the high macroscopic cross-section of photo-electric at these energies. Whereas the Compton macroscopic cross-section of material that fills source organs reaches its maximum at energies between 0.02 and 0.1 MeV and provides the photon with a high probability of escaping and depositing energy outside the source organ, thereby resulting in an increase in SD for S-SAFs.

Fig. 3
figure 3

DoseCalcs estimated SAFs for self- and cross-irradiation, with comparison in a an ORNL adult male phantom, and b an ICRP adult male phantom

Results for self-absorption: The calculated S-SAFs in the liver, kidneys, and thyroid in the O–P group are plotted in Fig. 3a. In general, the average ratio between the DoseCalcs and ORNL reference SAFs for all simulated energy ranges was 1.02, which was very close to 1. Additionally, in the voxel-based phantom, the S-SAF values given in Table 3 and plotted in Fig. 3b reveal a good agreement between the DoseCalcs and OpenDose data over all simulated energy ranges. Furthermore, the DoseCalcs code perfectly reproduced the reference S-SAFs for the three investigated organs in the stylized O-P model and voxel-based I–P models.

Results for cross-irradiation: The C-SAFs in the target organs depend directly on the cross-sections of the Compton and Rayleigh processes, which transport photons from the source to the target because of partial energy deposition, whereas they are related to the source–target distance and the cross-section of the photoelectric process. Hence, the C-SAFs in various targets decrease when the photon energy decreases because of the photoelectric cross-section, which increases in the low-energy range.

The average absorbed energy in the source organ increases when the photon energy decreases. Essentially, only a small quantity of the total deposited energy is absorbed in a target owing to the high value of the macroscopic cross-section of photoelectric at a low-energy range, which makes absorption of photons predominant, thereby reducing the penetration probability to the target organs, especially distant organs. The statistics in Tables 2 and 3 demonstrate that the C-SAFs estimates are statistically less reliable than the S-SAFs for a long source–target distance (i.e., liver\(\rightleftharpoons\)thyroid or kidneys\(\rightleftharpoons\)thyroid).

Next, over the energy range of 0.05–2 MeV for the liver\(\rightleftharpoons\)kidney in the O–P and liver\(\rightleftharpoons\)pancreas, liver\(\rightleftharpoons\)spleen, and pancreas\(\rightleftharpoons\)spleen in the I–P, the mean ratio goes to 1, which indicates a similar tendency and good agreement between the DoseCalcs C-SAF estimates and those reported in the ORNL and OpenDose reference data.

However, for liver\(\rightleftharpoons\)thyroid and kidneys\(\rightleftharpoons\)thyroid) combination in the O–P at 0.01 and 0.02 MeV, as well as for liver\(\rightleftharpoons\)spleen, liver\(\rightleftharpoons\)pancreas, and spleen\(\rightleftharpoons\)pancreas in the I–P at 0.01 MeV, the C-SAFs values were not evaluated by the DoseCalcs simulations and they are not included in the reference data, which is the case of several combinations shown in Tables 2 and 3. This is because of the large source–target distance and high photoelectric cross-section at these energies.

Fig. 4
figure 4

DoseCalcs/ORNL (a) and DoseCalcs/OpenDose (b) ratios in the simulated ORNL and ICRP adult male phantoms

The mean ratio for the remaining energies was 1.001 in the I–P, indicating good agreement between the DoseCalcs and OpenDose data. The mean ratio for the O–P is 1.09 for the liver\(\rightleftharpoons\) kidneys combination. Furthermore, for the thyroid\(\rightleftharpoons\)liver and thyroid\(\rightleftharpoons\) kidney combinations, the mean ratio is 1.4. The observed O–P discrepancies can be explained by the differences between the ORNL reference phantom and the implemented phantom, where the phantom inter-distances and organ mass vary.

since the O–P and reference phantom organ masses vary, the macroscopic cross-section of the materials varies, affecting the photon and its secondaries transport between the source and target organs, particularly at 0.05 and 0.1 MeV, where the cross-section sensitivity is high. Because of the material heterogeneity along the source–target distance, the influence on the SAF value will be significant for high distances, which explains the discrepancies registered for liver\(\rightleftharpoons\)thyroid and kidneys\(\rightleftharpoons\)thyroid. From Table 1, the O-P and reference phantom organ masses vary, especially in the trunk region. For the regions constructed using soft tissue material, there will be no effect of mass variation on the cross-section because the trunk is constructed using the same material. However, for the skeletal regions, the mass variation effect will be significant. For the DoseCalcs pelvis weighed 0.312 kg and the spine weighed 0.99 kg as compared to 0.848 kg and 1.288 kg, respectively, in the ORNL model. In addition to the absence of the scapulae in the constructed phantom, the skeletal mass of our model in the trunk region was lower than that of the reference. Because of the high density of the skeleton material (1.4 g/cm3), photon absorption is high, especially at 0.05 and 0.1 MeV. Thus, the lack of skeleton mass between the source and target regions will lead to an increase in C-SAF values, which explains the over-estimated DoseCalcs C-SAFs for distant source–target combinations, such as liver\(\rightleftharpoons\)thyroid and kidneys\(\rightleftharpoons\)thyroid.

The DoseCalcs-derived S-SAFs in Table 2 correlate well with the MIRD-Gate data [29]. The majority of the data points had ratios between 0.95 and 1.05. It should be noted that in S-SAFs, the mass of the organ is the most important parameter that can differentiate the DoseCalcs and MIRD-Gate series.

When the photon energy was 0.02–1 MeV, a good correlation between the DoseCalcs data and the corresponding MIRD-Gate data was observed for the liver\(\rightleftharpoons\)kidneys C-SAFs. However, for 0.01 MeV, the correlation is low, with a ratio of 3.25. This may be related to the difference in the source organ mass between the simulated phantoms; as the mass increases, few photons can escape from the source organs, resulting in an increase in S-SAF and a decrease in C-SAF. Although the photoelectric process is dominant at low energies, the Compton process requires more time when the photon energy increases. The interpolated data tables based on the Livermore library (EPDL, EEDL, and EADL) were used in the DoseCalcs code (based on Geant4 11.0) to derive the required cross-sections for photons, electrons, and atoms. The cross-sections for photons, electrons, and atoms were obtained from the EPDL, EEDL, and EADL libraries used in GATE4.0 [31], respectively, to generate the MIRD-Gate data tables. An explanation for the DoseCalcs/MIRD-Gate ratio at 0.01 MeV could be the difference in the physics package versions used by DoseCalcs and MIRD-Gate.

4 Conclusion

The aim of this study was to establish a new Geant4-based code that facilitates the creation of internal dosimetry Monte Carlo simulations to evaluate internal dosimetry quantities, along with an analysis tool for the obtained results.

With powerful computational capabilities, DoseCalcs parallelizes calculations using the MT and MPI modes and efficiently simplifies the simulation of different source configurations. In addition, the use of multiple geometric methods, such as voxel-based, GDML, TEXT, STL, and C++, allows complex geometries to be constructed using a combination of these available methods. During the validation process, we used the presented tool to calculate photon SAFs in stylized ORNL and voxel-based ICRP adult male phantoms. A comparison between the obtained results and the reference data (ORNL and OpenDose) showed good consistency, thereby demonstrating the capability of the established code.

As an extension of this study, we intend to enhance the available formats in the next version of the presented tool to implement the mesh-type phantom approach. Therefore, the DoseCalcs code can efficiently simplify and use the most commonly used formats for internal dosimetry calculations.