Skip to content

Commit c6f5e4e

Browse files
author
Jing Liu
committed
updated
1 parent 70edefb commit c6f5e4e

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

README.md

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,27 +7,29 @@ According to <https://geant4.org>, Geant4 is a
77
88
which means that it is **NOT** a program that can be double-clicked and run after installation.
99

10-
Instead, Geant4 is provided as a set of C++ libraries that need to be compiled [^1]. One must write a C++ program (Geant4 application) that calls functions provided in the compiled Geant4 libraries. The application itself also needs to be compiled, before it can be double-clicked and run.
10+
Instead, Geant4 is provided as a set of C++ libraries that need to be compiled [^1]. One must write a C++ program (Geant4 [application]) that calls functions provided in the compiled Geant4 libraries. The [application] itself also needs to be compiled, before it can be double-clicked and run.
1111

12-
[^1]: The compiled ones only work in very specific operating systems.
12+
[^1]: The compiled ones only work on very specific operating systems. This approach works best for Windows users. Please watch the first 5 videos in [this] YouTube playlist.
13+
14+
[this]: https://www.youtube.com/playlist?list=PLw3G-vTgPrdB7cIYWEoCeIZrSePpefFEW
1315

1416
Think Geant4 as a set of disassembled Lego pieces (libraries). One needs to put them together into a Lego model, such as a car, a plane, or a house, etc. (applications).
1517

1618
The Geant4 [Q&A] hence defines three types of users:
1719

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 [end user], who uses a Geant4 [application] written by someone else,
21+
- the [application developer], who writes a Geant4 [application], and
2022
- the *framework provider*, who updates or extends Geant4 libraries.
2123

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.
24+
This website 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.
2325

2426
[Q&A]: https://geant4-userdoc.web.cern.ch/UsersGuides/IntroductionToGeant4/html/IntroductionToG4.html#software-knowledge-required-to-use-the-geant4-toolkit
2527
[end user]: #for-end-user
2628
[application developer]: #for-application-developer
2729

2830
## For End User
2931

30-
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.
32+
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.
3133

3234
[example applications]: https://geant4-userdoc.web.cern.ch/UsersGuides/ForApplicationDeveloper/html/Examples/examples.html
3335
[B1]: https://geant4-userdoc.web.cern.ch/UsersGuides/ForApplicationDeveloper/html/Examples/BasicCodes.html#exmpbasic-b1
@@ -73,15 +75,14 @@ However, writing in a text file is not the most intuitive way to construct and d
7375

7476
[![physino/geant4](https://img.shields.io/badge/physino-geant4-blue?style=flat)](https://hub.docker.com/r/physino/geant4)
7577

76-
The [compilation][] of Geant4 C++ libraries and [application]s is a very challenging process for most end users who have limited experience on command-line user interface and C++ programming. The easiest way to bypass this challenge is to package both Geant4 libraries and some [versatile][universal] applications into a single [container][] image that can be used in all operating systems without any modification.
78+
The [compilation][] of Geant4 C++ libraries and [application]s is a very challenging process for most end users who have limited experience on command-line user interface and C++ programming. The easiest way to bypass this challenge is to package both Geant4 libraries and some versatile [application]s into a single [container][] image that can be used in all operating systems without any modification.
7779

7880
[compilation]: https://www.youtube.com/playlist?list=PLw3G-vTgPrdB9Nt2ekl2oL1yoqEC294Uf
7981
[container]: https://www.docker.com/resources/what-container
80-
[application]: https://www.youtube.com/playlist?list=PLw3G-vTgPrdD4Y1knA5nFUsZv4pfSVc-i
8182

82-
<https://hub.docker.com/r/physino/geant4> is such an image. It includes the [official Geant4 libraries pre-compiled on AlmaLinux 9](https://geant4.org/download) and two tiny [universal] Geant4 applications, [GEARS][] and [MinGLE][], that accept the `detector.tg` file exported from [Shine][].
83+
<https://hub.docker.com/r/physino/geant4> is such an image. It includes the [official Geant4 libraries pre-compiled on AlmaLinux 9](https://geant4.org/download) and two tiny universal Geant4 [application]s, [GEARS][] and [MinGLE][], that accept the `detector.tg` file exported from [Shine][].
8384

84-
[universal]: https://www.youtube.com/watch?v=3g9CkyBS31o
85+
[application]: https://www.youtube.com/watch?v=3g9CkyBS31o
8586

8687
To use this image, we need to install [Docker Desktop][], a program that manages container images and containers. Please follow <https://youtu.be/RIBJ-2LsqsA> to get familiar with the program and the concept behind it.
8788

0 commit comments

Comments
 (0)