This script is a representation using TTasks of the Geant3 simulation program This example uses directly TTask objects. 
A real implementation would require one class per task derived from TTask.
 
void geant3tasks()
{
   TTask *geant3 = 
new TTask(
"geant3",
"Geant3 simulation main program");
 
   gROOT->GetListOfTasks()->Add(geant3);
 
   TTask *uginit = 
new TTask(
"uginit",
"Initialisation manager");
 
   TTask *uglast = 
new TTask(
"uglast",
"Termination manager");
 
   TTask *ugeom  = 
new TTask(
"ugeom",
"Geometry initialisation manager");
 
   TTask *gphysi = 
new TTask(
"gphysi",
"Initialise cross-sections and energy loss tables");
 
   TTask *ggclos = 
new TTask(
"ggclos",
"Geometry analyzer and optimizer");
 
   TTask *gtrigi = 
new TTask(
"gtrigi",
"Event initialisation");
 
   TTask *gtrig  = 
new TTask(
"gtrig",
"Event manager");
 
   TTask *gtrigc = 
new TTask(
"gtrigc",
"Event cleaner");
 
   TTask *glast  = 
new TTask(
"glast",
"Geant3 termination");
 
   TTask *igend  = 
new TTask(
"igend",
"Graphics package termination");
 
   TTask *gukine = 
new TTask(
"gukine",
"Event generator manager");
 
   TTask *gutrev = 
new TTask(
"gutrev",
"Event application manager");
 
   TTask *gudigi = 
new TTask(
"gudigi",
"Event digitisation manager");
 
   TTask *guout  = 
new TTask(
"guout",
"Event termination manager");
 
   TTask *gtreve = 
new TTask(
"gtreve",
"Geant3 event manager");
 
   TTask *gltrac = 
new TTask(
"gltrac",
"Initialize tracking parameters");
 
   TTask *gftrac = 
new TTask(
"gftrac",
"select next track segment from stack JTRACK");
 
   TTask *gutrak = 
new TTask(
"gutrak",
"Application track manager");
 
   TTask *gtrack = 
new TTask(
"gtrack",
"Geant3 track manager");
 
   TTask *gtgama = 
new TTask(
"gtgama",
"photon propagator");
 
   TTask *gtelec = 
new TTask(
"gtelec",
"electron propagator");
 
   TTask *gtneut = 
new TTask(
"gtneut",
"neutron propagator");
 
   TTask *gthadr = 
new TTask(
"gthadr",
"hadron propagator");
 
   TTask *gtmuon = 
new TTask(
"gtmuon",
"muon propagator");
 
   TTask *gtnino = 
new TTask(
"gtnino",
"geantino propagator");
 
   TTask *gtckov = 
new TTask(
"gtckov",
"Cherenkov light propagator");
 
   TTask *gthion = 
new TTask(
"gthion",
"heavy ion propagator");
 
   TTask *gustep = 
new TTask(
"gustep",
"Application step manager");
 
   TTask *gtmedi = 
new TTask(
"gtmedi",
"Geometry volume finder");
 
   TTask *gtnext = 
new TTask(
"gtnext",
"Geometry bounary manager");
 
   TTask *gpairg = 
new TTask(
"gpairg",
"Generate pair production");
 
   TTask *gcomp  = 
new TTask(
"gcomp",
"Generate Compton scattering");
 
   TTask *gphot  = 
new TTask(
"gphot",
"Generate photo effect");
 
   TTask *grayl  = 
new TTask(
"grayl",
"Generate Rayleigh effect");
 
   TTask *gpfis  = 
new TTask(
"gpfis",
"Generate photo fission");
 
   TTask *guswim = 
new TTask(
"guswim",
"magnetic field propagator");
 
   TTask *ggckov = 
new TTask(
"ggckov",
"Generate Cherenkov photons");
 
   TTask *gsync  = 
new TTask(
"gsync",
"Generate synchrotron radiation");
 
   TTask *gmults = 
new TTask(
"gmults",
"Apply multiple scattering");
 
   TTask *gbreme = 
new TTask(
"gbreme",
"Generate Bremsstrahlung");
 
   TTask *gdray  = 
new TTask(
"gdray",
"Generate delta ray");
 
   TTask *ganni  = 
new TTask(
"ganni",
"Generate Positron annihilation");
 
   TTask *gannir = 
new TTask(
"gannir",
"Stopped tracks and annihilation at rest");
 
   TTask *guphad = 
new TTask(
"guphad",
"Hadronic cross-section manager");
 
   TTask *guhadr = 
new TTask(
"guhadr",
"Hadronic cascade manager");
 
   TTask *gdecay = 
new TTask(
"gdecay",
"Particle decay");
 
 
   TTask *gbremm = 
new TTask(
"gbremm",
"Generate Bremsstrahlung");
 
   TTask *gpairm = 
new TTask(
"gpairm",
"Generate Pair production");
 
   TTask *gmunu  = 
new TTask(
"gmunu",
"Generate Nuclear interaction");
 
 
   TTask *glisur = 
new TTask(
"glisur",
"Photon is reflected");
 
 
 
}
Using a TBrowser one can browse all ROOT objects.
 
<div class="legacybox"><h2>Legacy Code</h2> TTask is a legacy interface: there will be no bug fixes n...
 
virtual void Add(TTask *task)
Add TTask to this.
 
- Author
 - Rene Brun 
 
Definition in file geant3tasks.C.