Wednesday March 10, 2010 [07:53:48 UTC]
Old Stuff

G4beamline

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


G4beamline 2.01 for Linux is available to fix the install tarball.



G4beamline Release 2.0 is now available

Here. This release completely changed the build structure, making is vastly easier for users to build G4beamline and add code to it.

The G4beamline User's Guide is available hereexternal link.

G4beamline now supports the making of movies


G4beamline release 1.16 includes support for generating a movie of the beam, with the camera on the reference particle, watching the beam particles "dancing" nearby. See the User's Guide chapter 8.3 for details. A very flexible user interface is provided, and most movie formats are supported (avi, mov, swf, ...).

This is a limited version of this feature. Known limitations:
  • Longitudinal variables (z, Pz) do not subtract the reference value, making them essentially useless.
  • Each user must install the necessary tool (ffmepg) on their own.
  • Multiple reference particles cannot be used; one reference is required.
  • Documentation is limited

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 simple example of using G4beamline.




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.


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.01 is now available for Linux (19-JAN-2010).

This is essentially the same as release 2.0, except the install tarball has been fixed (the 2.0 tarball has symbolic links that make it impossible to use). For Windows, Mac OS, and source please use 2.0.
G4beamline-2.01-Linux-g++.tgzexternal link


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

This release uses Geant4 9.2.p01.

Prerequisites:
  • Java (1.5 or later), required for the GUI; g4beamline itself does not use Java
  • Root (5.12 thru 5.24), 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:
  • The LISAPhysicsList does not work.
  • g4blmake does not work on Windows; a workaround is available.

Major Changes from 1.16
  • The build process has been completely changed to make it easier for users to build G4beamline and add their own code.
  • The source tarball now includes the source to all non-system libraries. See doc/BUILD.txt for instructions.
  • The source tarball now expands into a different directory than the binary releases. Un-tar it in your HOME directory just like the binary release.
There are also numerous bug fixes and improvements.

Linux

1. cd to your HOME directory (or other directory into which you want to install)
2. download G4beamline-2.0-Linux-g++.tgzexternal link
3. tar -xzf g4beamline-2.0-Linux-g++.tgz
4. rm g4beamline-2.0-Linux-g++.tgz (optional clean-up)
5. cd g4beamline-2.0-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 3.0.9, SLF 4.5, 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 build on older versions of Linux; README-Linux.txt provides some suggestions.

Mac OS X 10.4 and 10.5 (Intel)

1. download G4beamline-2.0-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 you 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 .

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 means that to use a viewer you must run g4bl from an Xterm window, which you get by running the X-Windows application.

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.0.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, it might work, or you might need to install the source and build it.


Source

Unlike earlier releases, the source release 2.0 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.
Linux: install the complete software development suite, including X-Windws development.

1. cd to your HOME directory (or other directory into which you want to install)
2. download G4beamline-2.0-source.tgzexternal link
3. tar -xzf g4beamline-2.0-source.tgz
4. rm g4beamline-2.0-source.tgz #(optional clean-up)
5. cd g4beamline-2.0
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
  • Mac OS X 10.6.2, Snow Leopard
  • Red Hat Linux 7.3 (./configure --old-versions)
  • Scientific Linux Fermi 3.0.9 (./configure --old-versions)
  • Scientific Linux Fermi 4.5
  • Scientific Linux Fermi 5.3
  • Windows Xp


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).

[+]

G4beamline release 1.14 is now available (1-MAR-2008).

[+]

G4beamline release 1.09 has been withdrawn.

[+]

Support

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.


Example


A simple example input file is example1.in, a simulation of a simple Gaussian beam going into 4 virtual detectors. As you can see, there are a handful of general definitions (the physics and beam commands), and then you just define the elements you need (box Beam, virtualdetector Det) and place them where they go (the 5 place commands). With the included HistoScope program, this is all that is needed to visualize the system, and to generate the histograms below (and, of course, many more).
*       example1.in  4/2/03 TJR
*
* Simple example g4beamline input file:
*       a 200 MeV mu+ Gaussian beam is tracked through 1-meter drift
*       spaces into four detectors

# QGSP is the "default" physics use-case for High Energy Physics
physics QGSP

# the beam is nominally headed in the +Z direction
beam gaussian particle=mu+ nEvents=1000 beamZ=0.0 \
        sigmaX=10.0 sigmaY=10.0 sigmaXp=0.100 sigmaYp=0.100 \
        meanMomentum=200.0 sigmaP=4.0 meanT=0.0 sigmaT=0.0

# BeamVis just shows where the beam comes from
box BeamVis width=100.0 height=100.0 length=0.1 material=Vacuum color=1,0,0
place BeamVis z=0

# define the detector
virtualdetector Det radius=1000.0 color=0,1,0

# place four detectors, putting their number into their names
place Det z=1000.0 rename=Det#
place Det z=2000.0 rename=Det#
place Det z=3000.0 rename=Det#
place Det z=4000.0 rename=Det#


Here is the OpenInventor graphics system displaying this example. Note the red BeamVis and the four green Det-s, plus three blue mu+ tracks. In the real viewer you can use the mouse to zoom, pan, and rotate the image in real time, and select wireframe mode so you can look inside solid objects.




Here is a set of histograms generated by HistoScope from this example. In the HistoScope program you can interactively use the mouse to select an NTuple, select which field(s) of the NTuple to plot, create new variables in terms of the NTuple fields, zoom and pan the plot axes, and apply cuts. You can interactively vary the cut values and watch the effect on the plot in real time, and can combine multiple plots into a single image, as was done here. There are many types of plots, including the simple histograms shown here.


1. download g4beamline-2.0beta-Darwin-g++.dmgexternal link
2. Double-click the installer, and drag the application icons into /Applications
3. Eject the installer disk image and move it to the Trash.
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 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 means that to use a viewer you must run g4bl from an Xterm window, which you get by running the X-Windows application.

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.

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 193