GEANT4 安装

系统软件要求

软件下载地址

依赖库

通常的安装步骤

我们测试了 4.10.04,4.10.05,4.10.06,4.10.7,4.11.1.1, 4.11.2.1 版本

tar -zxvf geant4.10.04.p03.tar.gz
  mkdir buildgeant41004p03
  cd buildgeant41004p03
  cmake -DCMAKE_INSTALL_PREFIX=pathinstall -DCMAKE_BUILD_TYPE=Release -DGEANT4_FORCE_QT4=ON -DGEANT4_USE_SYSTEM_CLHEP=OFF -DGEANT4_USE_SYSTEM_ZLIB=OFF -DGEANT4_USE_SYSTEM_EXPAT=OFF -DGEANT4_USE_OPENGL_X11=ON -DGEANT4_USE_RAYTRACER_X11=ON -DGEANT4_USE_QT=ON -DGEANT4_BUILD_MULTITHREADED=ON -DGEANT4_USE_GDML=ON -DGEANT4_USE_XM=ON -DGEANT4_BUILD_TLS_MODEL=global-dynamic -DGEANT4_USE_FREETYPE=ON  ../geant4.10.04.p03
  ## 其中 pathinstall 修改为安装路径
  make -jN     
  ## N 改为线程数。例如 make -j4
  make install

一些自动安装脚本

测试安装是否成功

运行以下示例 examples/basic/B1

mkdir build
cd build
cmake ..
make 
./exampleB1

如果依赖的图形库均安装完整,将会弹出一个可交互操作的图形界面,如下图

image1

在底下交互框中输入 /run/beamOn 100 ,如下所示

image2

按回车之后将会出现以下效果

image3

运行课程提供的示例包

按照以下步骤编译

cd geant4_step
mkdir build
cd build
cmake ..
make

图形界面运行方式

./wu vis.mac

image5

image6

在弹出的图形界面输入框(Session)中输入 /run/beamOn 100 ,然后按回车,将会看到运行 100 个事件之后的结果。

image7

非图形界面运行方式

./wu -l

## 在 Idle> 之后输入 /run/beamOn 1000000
## 表示运行 1000000 个事件
exit
## 退出程序

image8

windows 远程连接服务器G4没有图形界面

以上问题可以通过以下方法来解决

使用 xmanager 5,xshell 5 软件,且 GEANT4 使用单线程模式。

将 main.cc 中,第13行代码取消注释,如下,则程序为单线程模式。

#define SINGLETHREAD

程序运行过程中监视内存占比

初学者写的 C++ 程序通常存在的一个共性的问题是"内存泄漏",就是申请内存空间然后不释放。这个情况如果发生在循环过程中的时候,那带来的问题是内存使用率不断提升,然后占比超过 80% 之后,电脑基本卡死了。

建议大家在运行程序过程中,盯着系统中进程的资源占用状况,可使用 “top” 命令,如下图。如果程序占用内存随时间一直在增加,及时通过两次“Ctrl+C” 命令来终止模拟程序。