# Geant4Example **Repository Path**: HeDianxiaoyuan/geant4-example ## Basic Information - **Project Name**: Geant4Example - **Description**: geant4的工程示例代码 - **Primary Language**: C++ - **License**: LGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 11 - **Forks**: 1 - **Created**: 2022-07-15 - **Last Updated**: 2026-03-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 核电校园 Geant4 开源文档 中文 | [English](README_EN.md) ## 📖 Geant4简介 **Geant4** 是由欧洲核子研究中心(CERN)主导开发的开源粒子物理模拟工具包,采用C++实现蒙特卡洛方法, 可精确模拟粒子在复杂几何中的输运及相互作用。其支持60+种粒子类型(从keV到TeV能量范围),涵盖电磁作用、 强子物理、衰变等物理过程,提供灵活的几何建模(CSG/GDML)和OpenGL/Qt可视化功能,广泛应用于高能物理实验、 核反应堆屏蔽设计、医学放射治疗优化、空间辐射防护等领域。 技术亮点包括模块化架构(通过派生`G4VUser*`基类扩展)、多线程加速、跨平台部署及ROOT框架数据接口,遵循Apache 2.0协议。 官方文档与社区资源详见 [geant4.web.cern.ch](https://geant4.web.cern.ch)。
以上内容由DeepSeek生成。 ## 💡 开源的工程介绍 - [G4Start](./01_G4Start/G4Start工程.md)是一个Geant4的最小工程,提供了一个能完整运行的最小示例。
- [G4Basic](./02_G4Basic/G4Basic工程.md)是一个简单的Geant4工程,可实现最灵敏体积内的能量沉积的计算。
- [G4Extension](./03_G4Extension/G4Extension工程.md)是一个综合了G4Start和G4Basic的综合工程,可实现对NaI探测器的能谱数据输出,工程中还提供了一个root程序,用来绘制能谱。
- [G4Improve](./04_G4Improve/G4Improve工程.md)是一个提高工程,主要实现了Sensitive Detector和Hit的使用。探测器使用CsI探测器。在建模中添加了磁场约束,在数据输出时使用了.root文件来输出数据。
- 关于Linux的常用命令、常规操作,请参考[Ubuntu-Linux的常见操作](./Ubuntu-Linux的常见操作.md) ## 🚀 Geant4安装 ### 1 安装准备 - Ubuntu工作环境 - Geant4源码包和数据包(一定提前区官网下载好) - C/C++编译工具包 - CMake工具包 - Qt5 - OpenGL - 对于一个新的Ubuntu,推荐将shell改为bash ```bash # shell改为bash的命令: sudo dpkg-reconfigure dash # 运行命令后,弹出的菜单选择“no”,确认即可。 ``` ### 2 安装指南 #### 2.1 安装依赖 安装Geant4运行所依赖的各项软件。 ```bash # 更新软件源 sudo apt-get updeate # 安装C/C++编译工具包 sudo apt install -y build-essential # 安装CMake工具包 sudo apt install -y cmake sudo apt install -y cmake-curses-gui # 安装Qt可视化支持 sudo apt install -y qtbase5-dev # 安装OpenGL可视化支持 sudo apt install -y libxmu-dev # 安装expat开发工具 sudo apt install -y libexpat1-dev ``` 运行下方语句可一步完成上述操作(新手不推荐) ```bash sudo apt-get updeate && sudo apt install -y build-essential cmake cmake-curses-gui qtbase5-dev libxmu-dev libexpat1-dev ``` #### 2.2 编译源码与安装 第一步:解压源码。命令:`` 第二步:进入解压出来的源码目录,在目录下创建build文件夹,进入build文件夹。 ```bash mkdir build && cd build ``` 第三步:运行ccmake。 ```bash ccmake .. ``` 第四步:配置cmake编译选项 - 安装位置(CMAKE_INSTALL_PREFIX):默认位置是/usr/local,可修改为~/Geant4。 - 开启并行化支持(CMAKE_BUILD_MULTITHREADED):按空格键修改为ON。 - OpenGL可视化支持(GEANT4_USE_OPENGL_X11):按空格键修改为ON。 - Qt可视化支持(GEANT4_USE_QT):按空格键修改为ON。其他参数可暂不开启, - 按c确定。 - 按g生成编译参数。 注意:此处要c -> e -> c -> e -> g。即要多次生成和确认才能出现g这个参数。 第五步:编译源码(根据电脑性能情况,此步骤用时较长)使用`make`或者`make -jN`命令。 ```bash make make -jN # N为CPU线程数 ``` 第六步:安装编译的源码 ```bash make install ``` 第七步:创建数据文件夹,并添加数据文件。 ```bash # 添加数据文件:在~/Geant4/share/Geant4/下创建一个叫data的文件夹。 # 解压数据文件到data目录(此处必须用终端命令解压) ``` 第八步:添加环境变量 ```bash echo “source ~/Geant4/bin/geant4.sh” >> ~/.bashrc && source ~/.bashrc ``` #### 2.3 验证安装 - B1的示例拷贝出来,在B1目录下新建一个build文件夹。 - 进入build文件夹,运行命令:`cmake .. && make`。 - 执行`./exampleB1`。 ## 🎨 Geant4工程的结构 Geant4的工程是Cmake工程,和其他Cmake工程一样,G4工程是由文件夹来管理的,一个文件夹就是一个G4工程。

参考B1,Geant4工程的目录规划如下: ```text Project_folder/ ├── build/ # 存放编译产生的中间文件的文件夹 ├── inc/ # 存放用户编写的头文件的文件夹 ├── src/ # 存放用户编写的源文件的文件夹 ├── CmakeLists.text # CMake编译规则文件 ├── mainCppFile.cc # main()函数坐在文件 └── *.mac *.in *.out ... # 其他中间文件 ``` ## WSL-Ubuntu下安装Geant4并使用 Geant4可在wsl下使用,安装与桌面Ubuntu相同,只是部分操作需要用命令行来实现。 ### WSL-Ubuntu的安装 #### 准备工作 在Windows系统中开启虚拟机与wsl子系统,重启电脑后生效该设置。 #### 安装步骤 - 第一步,win+R打开cmd终端,在终端中输入`wsl --update`安装wsl工具。 - 第二步,在终端中输入`wsl --set-default-version 2`将wsl派知道wsl2。 - 第三步,在终端中输入`wsl -l -o`检索子系统版本。 - 第四步,在终端中输入`wsl --install Ubuntu-20.04`,安装子系统.。 此时,wsl系统安装完成。 #### 在Windows中访问WSL系统的文件 安装完成后,在win的此电脑中会有一个Linux的图标,进入后右键Ubuntu-20.04文件夹,电机映射网络驱动器,在点击完成,即可创建一个新的盘符,在win下可自由访问Linux的文件。 #### WSL运行Linux GUI应用 WSL2提供了运行Linux GUI应用的能力,直接安装linux GUI应用,即可运行。