FAQ

1. Does the TOPAS "single user license" also mean "single computer"?
2. What if I find that none of the TOPAS releases work on my specific Linux system?
3. What about Windows?
4. What is the relationship between TOPAS and Geant4?
5. I heard TOPAS was just for Proton Therapy. Does it now support other areas of medical physics?
6. How does the TOPAS Parameter Control System relate to Geant4 Commands and Macros?
7. Does TOPAS support Geant4's Boolean Solids?

1. Does the TOPAS "single user license" also mean "single computer"?

The same user is welcome, and even encouraged, to use their single user license on multiple computers.
This is anticipated in the basic design of TOPAS. You may find it convenient to develop a TOPAS setup on your laptop or desktop, and then perform a higher statistics run on a separate cluster.
The TOPAS Parameter Control system gives you the confidence that you only have to copy the parameter files from the one system to the other, and you are assured that job will run exactly the same on the other system (aside from stochastic differences if the two systems are of different architectures).


2. What if I find that none of the TOPAS releases work on my specific Linux system?

We believe that the set of Linux builds we currently provide will cover most Linux systems.
In beta tests involving almost 300 users at 88 institutions, we found this set of builds to be sufficient.
Virtual machine systems can also make it easy for you to run one of the supported linux systems on some other system.
If it turns out that none of these builds work for you, we will work with you to resolve the issue.


3. What about Windows?

We have no plans to support Windows. Because Windows is constantly changing and does not follow the common standards of the other systems, it takes too much effort to support this operating system. We prefer to invest our time in other improvements.
We note that even for Geant4 it has been very difficult to maintain support for Windows. For example, the most important feature of the Geant4.10 series releases is multi-threaded operation. This new feature has not worked on Windows since the beginning of the Geant4.10 series over a year ago, and there is no effort that we are aware of to make it work there.


4. What is the relationship between TOPAS and Geant4?

TOPAS wraps and extends the Geant4 Simulation Toolkit. Geant4 was designed from the start to be the most flexible Monte Carlo simulation toolkit ever devised. Geant4's focus on flexibility has been a brilliant decision, leading the Geant4 user-base to grow over twenty years from its original home in High Energy Physics, to Aerospace, Medical, Nuclear and other fields.

Geant4's flexibility comes at a price that it can take a long time to learn how to use Geant4 and to build and test ones specific Geant4 application. The original Geant4 users could easily pay this price, as they were large HEP detector collaborations. They would detail a few of their collaboration members to spend several years developing a Geant4 application for their collaboration. For other fields, there has been the need to develop easier-to-use shared tools or applications layered on top of Geant4. TOPAS is one such tool.

TOPAS is layered neatly on top of Geant4. We provide Geant4 as a set of pre-built libraries within the TOPAS distribution so that you do not need to build Geant4 yourself. However we make no changes to this underlying Geant4.

Some of the TOPAS developers are themselves also members of the Geant4 collaboration. This dual role allows TOPAS to always be aware of best practices and newest developments within Geant4, and allows TOPAS to provide useful feedback to Geant4 as we make it easier for our users to try out a wide variety of what are, at the deepest level, Geant4 simulations.

Bottom line: TOPAS is a proud user of the Geant4 Simulation Toolkit. If you are getting good results from TOPAS, your success and ours is due to the Geant4 Collaboration.


5. I heard TOPAS was just for Proton Therapy. Does it now support other areas of medical physics?
TOPAS original development was focused on proton therapy since this was our funded NIH project, but our design decisions kept the door open to other application areas, and the underlying Geant4 Simulation Toolkit is appropriate for a very wide variety of medical physics applications. Protons are still our main area of expertise, but we now offer TOPAS to all medical physics researchers. 

Our default Geant4 physics settings are those that we found appropriate for proton therapy. You may need to change the Geant4 physics list for your own area of work. The TOPAS User Guide explains how you may select any of the Geant4 Reference Physics Lists, change the set of modules in our Geant4 Modular Physics List, or plug in your own Geant4 Physics List.

Our library of pre-built complex geometry components is focused mainly on proton therapy treatment heads (we provide things like Range Modulator Wheels and Propellers). For most cases, our library of ready-made components should be adequate for your work. However, since we don't know your exact specialty, it's possible that you will have to write a few of your own TOPAS Components and plug them in to our system. The User Guide explains how to do this, and we will be happy to give guidance (and encourage you to share your new components with others).


6. How does the TOPAS Parameter Control System relate to Geant4 Commands and Macros?
While the Geant4 command system's and its macro capabilities provide wonderful flexibility for many applications, the TOPAS Parameter Control System does not rely on Geant4 commands or macros.
Ours is a fundamentally different control system and is at the heart of TOPAS' innovative approach to repeatability, reliability and ease of use in research workflow (and even drives our bottom-up built-in support for 4D simulation).

Among our concerns with commands and macros for our user base is that command and macros tend to be order-dependent - the same Geant4 commands or macros issued in a different sequence can give different results. TOPAS Parameter Control Files are order-independent - you can change the order of lines in a control file and nothing will change in the simulation. This order-independence also drives our ability to support hierarchical systems of control files, allowing one to hold many variables constant while changing just a few from one project to another, and to reliably distribute development effort among different members of a research team. See our Publications and User Guide for more details on the TOPAS Parameter Control System.


7. Does TOPAS support Geant4's Boolean Solids?
You are free to use Geant4 Boolean solids, as you are free to use any Geant4 geometry class, in components that you write yourself from C++. However we do not support these from this kind of solid in our ready-made components.

Our thinking to omit them from the ready-made components is as follows:

There are almost always better ways to create your geometry from standard mother-daughter placement mechanisms, rather than Boolean solids (in seven years of modeling various systems in TOPAS, we've never seen a system that we couldn't instead model with standard placements).

Since standard placement is always more efficient for tracking navigation, we want to strongly encourage users, especially our newest users, to do their placements in this way. Boolean solids, for example, make work more difficult for the Geant4 Smart Voxel system, which lies at the heart of Geant4 navigation efficiency.

We don't want to make our geometry grammar more complicated than necessary.

Boolean solids often do not draw properly in Geant4 visualization (the only Geant4 visualization driver that is guaranteed to correctly represent boolean solids is RayTracer). This can make debugging them difficult.

A case for which you might think you need Boolean solids is a cylinder sticking through a hole in a plate and extending beyond the plate. One can solve this without Boolean solids as follows:

1) If the plate has a cylindrical outer profile, it can be represented just as a hollow tube, and there is no overlap then between this hollow tube and the cylinder passing through it.

2) If the plate has some other profile, the plate can be made without any hole, and the cylinder passing through it can be represented either as:

2a) If the cylinder doesn't need to be a single scoring volume,
 represent it as three adjacent cylinders, one within the plate (a daughter of the plate) and one on either side of the plate (daughters of the mother or group component that contains the plate).

2b) If the cylinder does need to be a single scoring volume,
use Layered Mass Geometry to let the cylinder overlap the plate but in a different, and higher, parallel world. This can also be a good solution if the cylinder needs to overlap many plates. Layered Mass Geometry is fully supported for all TOPAS components. See the user guide for details.

Both of these solutions will generally be faster than Boolean solids for Geant4 navigation, and are guaranteed to visualize correctly.