Support and Help

ROBAST is currently developed by Akira Okumura (Institute for Space-Earth Environmental Research, Nagoya University) as an open-source project on GitHub.

If you have any question or need help, please feel free to contact me by e-mail. If you have a GitHub account, using the GitHub issue tracker is more preferred because other users can see your trobleshooting.

In addition to the tutorial programs provided with ROBAST, you can get some more complex (= dirty) simulation examples upon request.

Bug Reports and Feature Requests

Pleas go to the ROBAST issue page https://github.com/ROBAST/ROBAST/issues to post your bug report or feature request. If you do not have a GitHub account, please make it and log in. You can also contact me by e-mail.

ROOT Help

ROBAST requires you very basic knowledge of ROOT and C++. We do not answer your basic ROOT questions such as how to use TH2D or what new and delete are. Please refer to the ROOT User's Guide, that is quite well written for ROOT beginners. You can also use the ROOT mailing list or the ROOT forum to get an answer for your question.

Future Development

ROBAST is a volunteer-based open-source project, and it is currently developed and maintained by only Akira Okumura. Thus, we cannot guarantee the future development or support at the moment. In my personal prospect, however, ROBAST will be maintained for the next 10 years, because it will be used during the initial phase (–2025) of the Cherenkov Telescope Array observatory.

FAQ

Q. Which paper and URL should I cite?

If you used ROBAST in your research, we would appreciate it if you could cite the following paper.

A. Okumura, K. Noda, C. Rulten (2016)
“ROBAST: Development of a ROOT-Based Ray-Tracing Library for Cosmic-Ray Telescopes and its Applications in the Cherenkov Telescope Array”
Astroparticle Physics 76 38–47 arXiv:1512.04369
Please use http://robast.github.io/ for the ROBAST URL.

Q. Is ROBAST actively developed and maintained?

Yes. ROBAST will be used by the developer for his projects until at least ~2030.

Q. Which repository is the origin?

We used SourceForge for several years, but we are currently using GitHub for some reasons. Please do not use the old ROBAST repository on SourceForge. https://github.com/ROBAST/ROBAST is the repository origin.

Q. What operating systems are supported?

macOS and Linux. In principle any POSIX systems that are supported in ROOT are compatible with ROBAST. We have been using ROBAST on several versions of OS X (up to Catalina) and Linux distributions (CentOS 6 and 7). We do not know if ROBAST runs on Windows machines, because we have never seen researchers who use ROOT on Windows.

Q. Can ROBAST simulate diffraction or interference?

No. ROBAST simulates photon tracks with a geometrical optics approach, because it relies on the particle tracking engine of the ROOT geometry library. We do not have a plan to support diffraction or interference.

Q. Can ROBAST simulate polarization?

Currently ROBAST cannot simulate photon polarization, however, we have a plan to support it in a future ROBAST release. Fresnel reflection and refraction in ROBAST assume random polarization. If it is really important in your simulation, please send us your request.

Q. How do I model a Fresnel lens?

Please make a composite shape from a number of AGeoAsphericDisk objects. ROBAST does not have a dedicated class for simulation of Fresnel lenses. However, you can model a Fresnel lens geometry by using a number of AGeoAsphericDisk volumes aligned like an onion slice. The simulation speed will be very slow if the pitch of the concentric circles is very small.

Q. Who is the owner of TGeo objects?

TGeoManager, the base class of AOpticsManager, takes care of heap objects. TGeo objects are automatically deleted when the destructor of TGeoManager or AOpticsManager is called. Some ROBAST classes are derived from TGeo classes, and you do not need to delete them yourself. Classes starting with AGeo are derived from the TGeoBBox class. AOpticalComponent, AMirror, ALens, AFocalSurface, and AObscuration are derived from TGeoVolume. ARay inherits TGeoTrack.

Other TGeo classes such as TGeoCompositeShape and TGeoRotation are also deleted by TGeoManager or AOpticsManager.

Q. What functionality will be added in future?

I have a plan to support photon polarization. Polarization is supported only in AMultilayer at the moment.

Q. What projects use ROBAST?

There are more than 15 researchers and students who use ROBAST in the Cherenkov Telescope Array. As far as I know there are several persons who use ROBAST for their other projects, but I do not know what these projects are.

Q. Can I use ROBAST in Python?

Yes. You can use it via PyROOT. Please try tutorial/SimpleParabolicTelescope.py.

Q. Can I import a CAD file?

It is not currently possible because the ROOT geometry library does not support tessellated solids. If it supports tessellated objects in future, you will be able to import a CAD file using an intermediate format converter such as FASTRAD to generate a GDML file.