Saturday January 28, 2012 [00:47:04 UTC]
Old Stuff

G4beamline

A "Swiss Army Knife" for Geant4, optimized for simulating beamlines.
print


HistoRoot has been separated from G4beamline, and is a separate application available here.

The advantage is that HistoRoot is now compiled, and runs ~100 times faster on large files.

The G4beamline validation document is now available hereexternal link.


G4beamline 2.10 is now available here.


The G4beamline User's Guide is available hereexternal link.


G4beamline now supports the making of movies

Here is a Flash movie of Example1: Movieexternal link. This example is just a gaussian beam expanding in free space (the 4 virtualdetectors are not visible). Muons are blue and a handful of decay electrons and neutrinos are red and gray. This 10 second movie took 12 seconds of CPU time to produce.


The G4beamline Tutorial given at LEMC 2008 was videotaped by Fermilab Visual Media Services. part 1external link part 2external link



Click hereexternal link for a Flash video giving a screencast of using G4beamline for a simple example.




General


G4beamline is a single-particle tracking program based on the Geant4external link simulation toolkit. It is specifically designed for the simulation of beamlines.

The key aspect of g4beamline is that the input file defining the simulation is not significantly more complicated than the problem being simulated (by contrast, any C++ simulation program will inherently be significantly more complicated than the problem) — G4beamline isolates the user from programming complexities. To make this possible, g4beamline does not give the user all of the power and flexibility of the underlying Geant4 toolkit; it does, however, provide enough flexibility to simulate many different systems that can be considered "beamlines" one way or another. For instance, there is a "cosmic-ray beam", and the notion of "beamline" is rather flexible. In use, one normally just lays out the beamline elements along the beam centerline, using "centerline coordinates" that rotate appropriately whenever needed (e.g. when a bending magnet is placed, or at a target to take a secondary beam off at an angle).

Note that no programming at all is required to simulate systems that use beamline elements already in g4beamline's repertoire. This includes bending magnets, quadrupoles, solenoids, materials of all types in the shape of boxes, cylinders, tubes, spheres, and polycones, pillbox RF cavities, and a few specialized elements for muon cooling. The distribution includes an executable program that runs on Windows Xp, Mac OS X (Intel), or on most modern versions of Linux (it has been tested to run on all RedHat-drived distributions since 7.1, including Fedora Core 1-8). Moreover, the visualization capabilities of Geant4 are available with no further effort, including visualization using OpenInventor, OpenGL, HepRep, DAWN, VRML, and other viewers (as long as your system supports X-windows with the GLX extension). The internal design of the program makes it relatively simple to add new commands and beamline elements to its repertoire (this does, however, require C++ programming).

A major limitation of g4beamline is that at present it does not simulate the performance of real-world detectors. It implements "virtual" detectors which sample the tracks that intersect them with the precision of a float, and measure all tracking variables (X,Y,Z,Px,Py,Pz,t,PDGid). Each virtualdetector generates an NTuple in the output file, which can be histogrammed with the appropriate program. NTuples can be written to Root or ASCII files, and the historoot program is included to make it easy o generate plots using Root. So g4beamline will tell you where the particles go, but won't give details of real-world detector outputs.

Another limitation of g4beamline is that at present it does not implement parameterized placements of volumes. These are required for a practical implementation of the many segments of modern detectors.

Please join and use our G4beamline forum. You can self-register using the LOGIN module at the left (valid email required), and immediately start posting to the forum.

Getting Started

G4beamline is distributed as a tarball for Linux/Intel, as standard installers for Windows and for Mac OS/Intel, all available here. More details are contained in the G4beamline User's Guideexternal link, and in the README-*.txt files in the distributions.

Linux (Intel)

If you intend to install and run G4beamline on your Linux desktop, and it is already running either KDE or Gnome (or a similar X Windows desktop), and the OpenGL and Motif extensions are already installed on your system, then this Quick Start Guide is for you. If you are doing something more complicated (e.g. you have a Windows desktop and use Exceed to connect to a Linux server), then this may help, but you'll probably need to read README-Linux.txt. These instructions assume you are using the bash shell; for other shells modify them accordingly.

  • Download the G4beamline tarball from here - get the latest one available, these instructions assume it is named g4beamline-VERSION.tgz.
  • Unpack the tarball in your $HOME directory:
                tar -xzf g4beamline-VERSION.tgz
  • This creates a directory g4beamline-VERSION; cd there and run setup:
                cd g4beamline-VERSION
                ./setup
The setup script will assist you in adding the G4beamline programs into a directory in your PATH. It will also create icons on your desktop to run G4beamline and Historoot.
  • Try the interactive help:
                g4bl -
                ---- configuration information ----
                cmd: help
                ---- list of commands ----
                cmd: help beam
                ---- detailed description of the beam command ----
                cmd: ^C
  • Now move to the test directory and run the tests:
                cd $HOME/g4beamline-VERSION/tests
                ./loop
This takes 5-10 minutes to run more than 70 tests. the output should end with "All Tests Passed".
  • Now move to the examples directory and look at the examples; try the following:
                cd $HOME/g4beamline-VERSION/examples
                # first visualize the system
                g4bl example1.in viewer=best
                # (play with the viewer, then ^C)
                # then generate NTuples for histogramming
                g4bl example1.in
                # and histogram the NTuples
                historoot g4beamline.root
                # (play with HistoRoot, then exit)
                ... similarly for the other examples ...


Windows XP and Vista

This release for Windows XP and Vista includes a standard Windows installer which puts shortcuts onto your desktop and into the start menu, and puts G4beamlineExamples into you Documents folder. It can also be used with the Cygwin command-line.

After installation you can do the things suggested above under Linux.


Macintosh OS X (Intel)


This release for Mac OS X supports only the recent Intel Processors. Simply download the most recent version and double-click the downloaded installer (a .dmg file). Drag the G4beamline and Historoot applications into your /Applications folder. You can then drag them from /Applications into the Dock.

After installation you can do the things suggested above under Linux.


Documentation

Here is a recent G4beamline User's Guideexternal link. It is updated for each release and included in the execution tarball.

Here is a recent G4beamline Validationexternal link document. It is updated for each release and included in the execution tarball.


New Feature Requests

G4beamline is developed in a user-driven methodology that encourages rapid release cycles and user contributions. To request a new feature, simply join the G4beamline forum and post a message describing your request in as much detail as possible.


Download

The installer or tarball contains everything required to run the program, except for the prerequisites listed below, and some physics data needed for low energy physics processes (e.g. thermal neutrons — see the Geant4 website).

Please join and use our G4beamline forum. You can self-register using the LOGIN module at the left (valid email required), and immediately start posting to the forum.


G4beamline release 2.10 is now available (03-JAN-2012).

This release uses Geant4 9.4 patch 03.

Prerequisites:
  • Java (1.5 or later), required for the GUI; g4beamline itself does not use Java
  • Root (5.12 or later), required to use HistoRoot or G4blmovie; g4beamline itself does not need Root installed (it includes the Root libraries it needs)
  • tcl (any version), required for the tests; g4beamline itself does not use tcl

Known Bugs:
  • G4beamline does not build from source on 64-bit Linux or 64-bit Mac OS X (Lion). The distributions for both are 32-bit, and they do run on 64-bit systems. Whether it can be built on 64-bit Windows is unknown, but it is suspected to fail.
  • G4beamline does not tolerate spaces in its install directory on Linux, Mac OS X, or Cygwin; it does tolerate them when installed into Windows (no Cygwin). There is a workaround for Cygwin (ask Tom Roberts).
  • g4blmake does not work on Windows.

Major Changes from 2.08
  • Materials can filter tracks
  • lilens command
  • rfdevice command
  • reweightprocess command
  • Remove MICEPhysicsList and LISAPhysicsList
  • ntuple command now has union argument
  • --disable-MPI now the default on all OSs
  • Using geant4.9.4.p03

NOTE:
HistoRoot is still included in the G4beamline distributions, but this is the macro version. The compiled version runs ~100 time faster on large files, and is available here.

Linux

1. cd to your HOME directory (or other directory into which you want to install)
2. download G4beamline-2.10-Linux-g++.tgzexternal link
3. tar -xzf g4beamline-2.10-Linux-g++.tgz
4. rm g4beamline-2.10-Linux-g++.tgz (optional clean-up)
5. cd g4beamline-2.10-Linux-g++
6. ./setup
The setup script will create Desktop icons and will guide you through adding the G4beamline programs into a directory in your PATH.

The programs are:
  • g4bl — runs g4beamline
  • g4blgui — runs the same GUI used by default on Windows
  • historoot — provides a GUI to the Root histogramming capabilities
  • g4blmovie — generates a movie

This Linux release was built on a Red Hat 7.3 system, which means it should run on any later RedHat-derived distribution, including both Scientific Linux and Fedora. It has been verified to run on: RedHat 7.3, SLF 5.3, Fedora Core 6. It may well run on other reasonably-modern Linux distributions, and should surely do so if built from source. Note you may need to install "compatibility libraries" to support programs built on older versions of Linux; README-Linux.txt provides some suggestions.

Mac OS X 10.5, 10.6, 10.7 (Intel — Leopard, Snow Leopard, and Lion)

1. download G4beamline-2.10-Darwin-g++.dmgexternal link
2. Double-click the installer, and drag the application icons into /Applications
3a You may want to drag the G4beamlineExamples directory into your HOME.
3b Ditto for the G4beamlineDocumentation directory.
4. Eject the installer disk image and move it to the Trash.
5. As usual you can drag applications from /Applications onto the Dock.
For command-line use, cd to the installation directory and do ./setup — the setup script will guide you through adding the G4beamline programs into a directory in your PATH. The installation directory is /Applications/G4beamline.app/Contents/Resources .

This (binary) release does not run on Tiger (OS X 10.4), or on any PowerPC system. You can, however, download the source and build it on Tiger; that ought to work on a PowerPC, but has not been tested.

The programs are:
  • g4bl — runs g4beamline
  • g4blgui — runs the same GUI used by default on Windows
  • historoot — provides a GUI to the Root histogramming capabilities
  • g4blmovie — generates a movie

Note the G4beamline viewers all use X-windows, but the GUIs (g4blgui, historoot) run native Mac OS (i.e. quartz).

This Mac OS X release was built on a system running Leopard (Mac OS X 10.5.8). It should run on any Intel Mac running Leopard or Snow Leopard. For Tiger or a PowerPC Mac, it should be possible to install the source and build it.

Windows

1. download G4beamline-2.10.msiexternal link
2. Double-click the installer, and follow the prompts
3. Move the installer to the Trash.
For command-line use in the Cygwin environment, cd to the installation directory and do ./setup — the setup script will guide you through adding the G4beamline programs into a directory in your PATH. The command-line programs will NOT run in a Windows cmd window.

The programs are:
  • g4bl — runs g4beamline
  • g4blgui — runs the same GUI used by default on Windows
  • historoot — provides a GUI to the Root histogramming capabilities
  • g4blmovie — generates a movie

This Windows release was built on a system running Windows Xp. It should run on any Windows Xp or Windows Vista system. For Windows 7, G4beamline itself works, but Historoot does not, even if Root itself works.


Source

The source release is independent of the binary release for each platform. It installs into a different directory. On a 4-core Mac Pro the build takes about an hour for the libraries, and 2 minutes for G4beamline itself. Windows and Linux tools are slower, and your hardware may be slower.

Prerequisites:
Windows: Install the Cygwin environment and Microsoft VC++ 2008 Express Edition. See README-Windows.txt and BUILD.txt for details.
Mac OS X: Install the XCode application (from your install DVD), and then do Software Update. See README-MacOSX.txt and BUILD.txt for details.
Linux: install the complete software development suite, including X-Windows, OpenGL, and OpenMotif/Lesstif development. See README-Linux.txt and BUILD.txt for details.

1. cd to your HOME directory (or other directory into which you want to install)
2. download G4beamline-2.10-source.tgzexternal link
3. tar -xzf g4beamline-2.10-source.tgz
4. rm g4beamline-2.10-source.tgz #(optional clean-up)
5. cd g4beamline-2.10
6. ./configure --help # read the help and determine the options you need
7. ./configure [--options]
8. make
9. ./setup
The setup script will guide you through adding the G4beamline programs into a directory in your PATH.

This source distribution has been tested to build on the following systems. Note that very old compilers require the --old-versions option to configure:
  • Mac OS X 10.5.8, Leopard
  • Red Hat Linux 7.3 (--old-versions)
  • Scientific Linux Fermi 5.3
  • Windows Xp


G4beamline release 2.08 is now available (13-FEB-2011).

[+]

G4beamline release 2.06 is now available (22-SEPT-2010).

[+]

G4beamline release 2.03 is now available (26-JULY-2010).

[+]

G4beamline release 2.02 is now available (20-APR-2010).

[+]

G4beamline release 2.01 is now available for Linux (19-JAN-2010).

[+]

G4beamline release 2.0 is now available (10-JAN-2010).

[+]

G4beamline release 1.16 is now available (2-APR-2009).

[+]

G4beamline release 1.15.3 is now available (8-JAN-2009).

[+]

G4beamline release 1.15.1 is now available (14-Aug-2008).

[+]

G4beamline release 1.15 is now available (2-Aug-2008).

[+]

G4beamline release 1.14.3 is now available (21-JULY-2008)

[+]

G4beamline release 1.14b is now available (20-JUNE-2008).

[+]
List of attached files
  name desc uploaded size >
1 : 332 icon example1.swf Example1 movie. 18-Mar-2009 [21:27 UTC] by tjrob 963.10 Kb 455