Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy.


The human_phantom example models anthropomorphic phantoms for Geant4 simulations. Two models are available: MIRD [1] and ORNL [2] (Male and Female for each approach).

[1] W.S. Snyder, et al, "MIRD Pamphlet No. 5 Revised, Estimates of absorbed fractions for monoenergetic photon sources uniformly distributed in various organs of a heterogeneous phantom", J. Nucl. Med. Suppl., no. 3, pp. 5-52, 1969.

[2] M. Cristy and K. F. Eckerman, "Specific absorbed fractions of energy at various ages from internal photon sources", ORNL/TM-8381/VI, Apr. 1987.

The example is based on code developed by the undergraduate student G. Guerrieri.

Note: this is a preliminary beta-version of the code; an improved version will be distributed in the next Geant4 public release, compliant with the design in a forthcoming publication, and subject to a design and code review.


The process of building a phantom is handled through the Builder design pattern.

The creation of coherent models of the human phantom is handled through an Abstract Factory design pattern.

The organs of the MIRD phantom are implemented in hard-code; the organs of the ORNL phantom are handled through GDML ([[][Geometry Description Markup Language]). The materials of the MIRD model are defined in the class G4HumanPhantomMaterial. The materials of the ORNL model are defined in the GDML files.

Parameterized breast *

MIRD Female model: a breast is analytical and derives from the MIRD anthropomorphic phantom; the other breast derives from the model [3] and it is voxelised.

[3] D.R. Dance and R. A. Hunt, "Voxel breast phantom to represent breasts of different sizes and glandularities for use with a Monte Carlo simulation program", Report RMTPC 02/1005.


Particles: e-, e+, photon, geantino Physics list: electromagnetic processes are active for photons, e- and e+ The threshold of production of secondary particles is set to 0.1 * mm.

Primary particles

The primary particles are geantino. UI commands:

/gun/energy energy : to change the energy of primary particles
/gun/particle particle_type : to change the type of primary particle
/gun/setBeam beamAlongX : generate a primary particle beam along the X axis
/gun/setBeam beamAlongY : generate a primary particle beam along the Y axis
/gun/setBeam beamAlongZ : generate a primary particle beam along the Y axis
/gun/setBeam isotropicFlux : generate a primary particle with random direction, from a random point.

Energy deposit

The energy deposit is calculated in the organs of the phantom. At the end of the execution of the simulation the summary of the total energy deposit in each organ is print out. The user can set the sensitivity of each organ interactively through the UI command:

/bodypart/addBodyPart organName yes
(see adultFemale.mac as example)

If the sensitivity is not set ( /bodypart/addBodyPart organName no ), the energy deposit is not calculated in the specific organ.

The energy deposit is calculated in each voxel of the parameterised breast.


output file: g4humanphantom.hbk containing
1D histogram id=10: Particle Path Distribution (cm)
2D histogram id=20: Particle Projection XY (cm, cm)
2D histogram id=30: Particle Projection YZ (cm, cm)
2D histogram id=40: Particle Projection ZX (cm, cm)
2D histogram id=50: Energy Deposit (MeV, y axis) in Body Part (x axis)
2D histogram id=100: Edep(MeV) in the parameterized breast, x= slice, y= sector

Macro files: example of different human phantoms

  • default.mac is executed by default in the simulation
  • adultMIRDFemale.mac: example to define a MIRD female human phantom
  • adultMIRDMale.mac: example to define a MIRD male human phantom
  • adultHead.mac: example how to define one piece of the anatomy
  • adultORNLFemale.mac: example to define a ORNL female human phantom
  • adultORNLMale.mac: example to define a ORNL male human phantom
  • adultMIXFemale.mac : example of MIRD human female phantom with parameterised breast


A standard Geant4 example GNUmakefile is provided.

The following environment variables need to be set: G4LEDATA : points to low energy data base set G4ANALYSIS_USE equal to 1 to activate the analysis

- Requires the GDML module to be installed with Geant4:

Set G4LIB_BUILD_GDML to 1 Set XERCESCROOT variable defining the path to the Xercec-C library See also:

IMPORTANT!!!! Customize the '*.gdml' schema file in the directories gdmlData/Female and gdmlData/Male, specifying in the top line the right path where to retrieve the main GDML schema file.

- Analysis set-up: AIDA 3.2.1, and iAIDA Users can download the analysis tools from:

- Compile and link to generate an executable:

% gmake

- Execute the application:

% phantom

- Default macro: adultFemale.mac (MIRD, Female model) - Other macros: adultMale.mac (MIRD, Male model)
adultORNLFemale.mac (ORNL, Female model)
adultORNLMale.mac (ORNL, Male model)
- Visualization macros: vrmlVis.mac, dawnVis.mac, openGLVis.mac, noVis.mac - Run particles: run.mac

-- LucianoPandola - 21 Oct 2014

Edit | Attach | Watch | Print version | History: r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r1 - 2014-10-21 - LucianoPandola
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Geant4 All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback