You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
> **Toolkit** for the simulation of the passage of particles through matter.
@@ -15,15 +15,18 @@ Think Geant4 as a set of disassembled Lego pieces (libraries). One needs to put
15
15
16
16
The Geant4 [Q&A] hence defines three types of users:
17
17
18
-
- the **end user**, who uses a Geant4 application written by someone else,
19
-
- the **application developer**, who writes a Geant4 application, and
20
-
- the **framework provider**, who updates or extends Geant4 libraries.
18
+
- the [end user], who uses a Geant4 application written by someone else,
19
+
- the [application developer], who writes a Geant4 application, and
20
+
- the [framework provider], who updates or extends Geant4 libraries.
21
21
22
22
This tutorial is provided to flatten the steep learning curve of Geant4 for the first two types of users with some thoughts on how a framework provider can serve the first two better.
Most of us are end users. All we need is a Geant4 application that has already been compiled for our operating system so that we can double click and run it. Geant4 does provide many [example applications] to show its muscles. However, too many choices actually paralyze a poor end user. Which one shall we choose?! A reasonable choice would be the simplest one. However, the simplest Geant4 application example, [B1][], has very limited functionality. To adopt it for our specific applications, we, as end users, are forced to learn how to modify and compile a Geant4 example application, and become an application developer. No wonder the first Geant4 User guide is for application developers instead of end users.
29
32
@@ -42,11 +45,21 @@ Is it possible to provide a compiled Geant4 application that can be double click
42
45
- There is no way to include all existing, or to-be-constructed radiation detectors or shielding geometries into one program. Even end users must be responsible for constructing their specific geometries.
43
46
- A C++ program must be compiled on a specific operating system to run on that system. A C++ program that is compiled on a Mac cannot be used on a Windows or a Linux computer.
44
47
45
-
However, there are ways to get closer to this goal. To solve the first problem, a web-based user interface<https://physino.xyz/shine>can be used by the end user to construct a specific detector or shielding structure without C++ programming. To solve the second problem, a docker image<https://hub.docker.com/r/physino/geant4> can be used to include Geant4 libraries and a Geant4 application that can read the output of <https://physino.xyz/shine>, which can be downloaded and run on all major operating systems.
48
+
However, there are ways to get closer to this goal. To solve the first problem, a [web-based user interface]can be used by the [end user] to construct a specific detector or shielding structure without C++ programming. To solve the second problem, a [docker image] can be used to include Geant4 libraries and a Geant4 application that can read the output of <https://physino.xyz/shine>, which can be downloaded and run on all major operating systems.
46
49
47
-
### Shine: a web user interfacefor Geant4
50
+
[web-based user interface]: #shine-a-web-ui-for-geant4
[compose.yml](compose.yml) in this folder provides the following command to quickly start your container with automatic volume and port mapping to the host:
52
65
@@ -76,7 +89,7 @@ git pull origin main
76
89
git branch --set-upstream-to=origin/main main
77
90
```
78
91
79
-
### For Apptainer Users
92
+
####For Apptainer Users
80
93
81
94
Use the following command to get into the container in a Linux host that has [Apptainer][] installed.
The latest [Geant4][] examples can be found in <https://github.com/Geant4/geant4/tree/master/examples>. The best way to download a single example from there is described in a [StackOverflow][] post: <https://stackoverflow.com/a/70729494/1801749>.
This repository is created to avoid [Geant4][] related stuff (e.g. datasets, examples, etc.) being duplicated in specific [Geant4][] applications, such as [GEARS][] and [MinGLE][].
115
+
[GEARS][] and [MinGLE][] are more [end user] friendly than most [official geant4 examples]. However, if The latest [Geant4][] examples can be found in <https://github.com/Geant4/geant4/tree/master/examples>. The best way to download a single example from there is described in a [StackOverflow][] post: <https://stackoverflow.com/a/70729494/1801749>.
This GitHub [repository] was originally created to avoid duplicating common [Geant4][] related stuff (e.g. datasets, containers, documentation, etc.) in individual [Geant4][] applications, such as [GEARS][] and [MinGLE][]. It has evolved into a central hub to collect and disseminate my ideas and effort toward a more [end user] friendly Geant4 ecosystem. Welcome to join me if you are interested in the development of [Shine][], [GEARS][], [MinGLE][], or YouTube [tutorials][]. - [Physino][]
0 commit comments