Geant (GEometry ANd Tracking)作为一种蒙卡程序,其与常用的MCNP[3] 程序有很大区别。Geant不提供可执行程序,而提供一组C++类库。如果需要进行模拟的话,用户需要使用这些类库,并且按照Geant的程序结构编写代码,然后编译连接生成可执行程序。
Geant 最初的开发是用于模拟高能物理实验 。经过全世界不同国家科研人员的合作,现在Geant已经成为了一款非常强大的通用蒙卡程序。各种常见的粒子基本都能够使用Geant来模拟,而且支持的能量范围非常宽,从几keV到上百GeV。
现在Geant主要应用于如下领域:
- 空间物理和天体物理
- 医用物理和核医学
- 辐射防护
- 计量学
- 加速器物理
- 探测器设计
- 害虫防治和食物辐照
- 人道主义项目,保安等
编译安装前的准备
root@master# sudo apt-get install git dpkg-dev make g++ gcc binutils libx11-dev libxpm-dev libxft-dev libxext-dev
root@master# sudo apt-get install gfortran libssl-dev libpcre3-dev xlibmesa-glu-dev libglew1.5-dev libftgl-dev libmysqlclient-dev libfftw3-dev cfitsio-dev graphviz-dev libavahi-compat-libdnssd-dev libldap2-dev python-dev libxml2-dev libkrb5-dev libgsl0-dev libqt4-dev
root@master# sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
Geant4源码下载
国内下载官网速度很慢所以建议上Github镜像下载
root@master# git clone https://github.com/Geant4/geant4.git
安装方面源码包和数据包缺一不可,数据包建议不在make时命令行下载(速度感人);去往http://geant4.web.cern.ch/geant4/support/download.shtml离线下载。
Geant4源码编译
编译前确保有如下几个文件夹:
- geant4-master
- InstallForGeant(自己创建供安装)
- BuildForGeant(自己创建供编译)
目前后两个都是空的
root@master# sudo mkdir InstallForGeant
root@master# sudo mkdir BuildForGeant
root@master# cd BuildForGeant
root@master# cmake -DCMAKE_INSTALL_PREFIX=../InstallForGeant/ -DGEANT4_USE_OPENGL_X11=ON -DGEANT4_BUILD_MULTITHREADED=ON ../geant4-master
root@master# make -j2
root@master# make install -j2
将下载的一系列数据文件解压到指定位置
root@master# cd ../../InstallForGeant/share/Geant4-10.4.0/
root@master# mkdir data
root@master# cd data/
root@master# mv /home/hanss/视频/Data/*.tar.gz ./
root@master# file -b G4EMLOW.6.50.tar
root@master# tar xvf G4NDL.4.5.tar.gz
root@master# tar xvf G4EMLOW.6.50.tar.gz
root@master# tar xvf G4PhotonEvaporation.4.3.2.tar.gz
root@master# tar xvf G4EMLOW.6.50.tar.gz
root@master# tar xvf G4EMLOW.6.50.tar.gz
root@master# tar xvf G4PhotonEvaporation.4.3.2.tar.gz
root@master# tar xvf G4RadioactiveDecay.5.1.1.tar.gz
root@master# tar xvf G4NEUTRONXS.1.4.tar.gz
root@master# tar xvf G4PII.1.3.tar.gz
root@master# tar xvf RealSurface.1.0.tar.gz
root@master# tar xvf G4SAIDDATA.1.1.tar.gz
root@master# tar xvf G4ABLA.3.0.tar.gz
root@master# tar xvf G4ENSDFSTATE.2.1.tar.gz
root@master# mv G4EMLOW6.50/ G4EMLOW6.54/
root@master# mv PhotonEvaporation4.3.2/ PhotonEvaporation5.0
root@master# mv RealSurface1.0/ RealSurface2.1
编译运行示例程序B1
root@master# cd /download/geant4-master/examples/basic/B1
root@master# mkdir B1-build
root@master# cd B1-build/
root@master# cmake -DGeant4_DIR=/download/InstallForGeant/lib/Geant4-10.0.1 /download/geant4-master/examples/basic/B1
root@master# ls
root@master# make -j2
root@master# ls
root@master# ./exampleB1
下载最新的PhotonEvaporation数据
[root@master Geant_Data]# wget http://cern.ch/geant4/support/source/G4PhotonEvaporation.5.0.tar.gz
官网上的离线下载链接不是PhotonEvaporation数据最新版。