内部资料 Geant4安装和入门
Geant4的安装和入门
引言
Geant4是由CERN(欧洲核子研究委员会)开发的蒙特卡罗应用软件包, 主要用于模拟高能粒子在探测器中输运的物理过程. 它采用面向对象的C++语言编写, 可以构造复杂的探测器几何结构,定制感兴趣的粒子与物理过程模型, 并且能够跟踪粒子的过程, 显示粒子径迹, 处理在输运过程中产生的大量数据.
一. Geant4的发展
Geant4最初的发展可以追溯到 CERN(European Organization for Nuclear Research)和K EK(High Energy Accelerator Research Organization Japan) 在1993年的两个研究,他们都是研究如何在Geant3程序中使用现代化的计算技术。最后 CERN DRDC(Detector Research and Development Committee)听取了他们的建议,组织了来自欧洲、俄罗斯、加拿大、日本和美国的几十个实验室、学校和研究所的超过100位科学家和工程师进行了合作,基于C++语言,利用面向对象设计技术对已有的模拟程序进行了重新构造。这项工程被称之为RD44,初步研究阶段在1998年12月完成,随后在1999年2月Geant4建立了起来,并且在不断的发展和完善的过程中得到了用户的支持和维护。
Geant4已经可以在多种常用操作系统下安装使用,如UNIX、Linux和Windows,需要注意的是在安装Geant4之前需要确定已经安装了相应的C++编译器。目前正在开发对在MacOs系统下的使用版本。Geant4最新的版本是Geant4.6.2.p01,而且Geant4在不断升级的同时,科学家和工程师们也推出了很多基于Geant4,像MULASSIS(多层防护模拟工具)和 GEMAT(Geant4微剂量学分析工具)的应用程序。通过无数人的共同努力,Geant4已经发展成为核物理和空间物理等许多学科方面研究不可或缺的蒙特卡罗模拟工具。
二. Geant4的安装
1. 程序代码的获得
Geant4是一个开放源代码的蒙特卡罗模拟程序, 用户可以自由的在http://www.cern.ch/geant4/download 网页中下载到Geant4源代码, 目前最新的版本是Geant4.7.0.p01. 该网页还提供了一个ftp地址, 从该地址可以下载到一个完整的Geant4的安装盘, 里面不仅包含了Geant4的在各种操作系统下的源代码, 还有各种用于分析Geant4运行结果的软件.
1 Geant4安装和入门 内部资料 2. 系统要求 1) 操作系统
Linux (作者的Linux版本为Fedora2) 2) C++编译器 g++
Geant4可以在各种操作系统下安装, 例如Windows2000/XP, Linux, Sun等, 本文中仅介绍其在Linux操作系统下的安装, 因为它自带了C++编译器, 安装过程中可以省略C++编译器安装这个步骤.
3. 编译安装Geant4代码 1) 设置bash操作环境
从上面提供的网页上下载Geant4.7.0, (从该网页提供的ftp上的G4CD的中Geant4的版本是Geant4.6.4p01) 解压缩到/home/username/目录下. 把下面的代码拷贝到/home/username/.bash_profile(username 表示当前的用户名, 下同)文件中, 这样做之后, 在操作系统刚刚启动的时候就能对Geant4的运行环境进行设置. /////////////////////////////////////////////////////////////////////////////// source /home/username/geant4.7.0/env/g4env source /home/username/geant4.7.0/env/aidaenv source /home/username/geant4.7.0/env/dawnenv source /home/username/geant4.7.0/env/javaenv source /home/username/geant4.7.0/env/wiredenv /////////////////////////////////////////////////////////////////////////////// 下面是g4env的代码.
/////////////////////////////////////////////////////////////////////////////// //g4env
#export G4SYSTEM=Linux-g++ (#表示注释该行, 下同) export G4INSTALL=/home/username/geant4.7.0 export G4INCLUDE=/home/username/geant4.7.0/include export G4LIB=/home/username/geant4.7.0/lib export G4BIN=./
export G4LEVELGAMMADATA=/home/username/geant4.7.0/data/PhotonEvaporation export G4RADIOACTIVEDATA=/home/username/geant4.7.0/data/RadiativeDecay export G4LEDATA=/home/username/geant4.7.0/data/G4EMLOW2.3 export NeutronHPCrossSections=/home/username/geant4.7.0/data/G4NDL3.7 export G4ELASTICDATA=/home/username/geant4.7.0/data/Elastic export CLHEP_BASE_DIR=/home/username/CLHEP
export CLHEP_INCLUDE_DIR=/home/username/CLHEP/include export CLHEP_LIB_DIR=/home/username/CLHEP/lib
2 内部资料 Geant4安装和入门 export CLHEP_LIB=CLHEP #export G4DEBUG=1 export G4ANALYSIS_USE=1
#export G4UI_BUILD_XAW_SESSION=1 #export G4UI_USE_XAW=1
#export G4UI_BUILD_XM_SESSION=1 #export G4UI_USE_XM=1 #export G4UI_USE_TCSH=1
#export G4VIS_BUILD_DAWN_DRIVER=1 #export G4VIS_BUILD_OPENGLX_DRIVER=1 #export G4VIS_BUILD_OPENGLXM_DRIVER=1 #export G4VIS_BUILD_OIX_DRIVER=1 #export G4VIS_BUILD_VRML_DRIVER=1 #export G4VIS_USE_DAWN=1 #export G4VIS_USE_OPENGLX=1 #export G4VIS_USE_OPENGLXM=1 #export G4VIS_USE_OIX=1 #export G4VIS_USE_VRML=1 #export G4LIB_BUILD_G3TOG4=1 #export G4USE_G3TOG4=1 #export G4LIB_BUILD_SHARED=1 #export G4LIB_BUILD_STATIC=1 #export G4LIB_USE_GRANULAR=1 #export CLHEP_BASE_DIR=/usr/local
export G4VIS_BUILD_OPENGLX_DRIVER=1 export G4VIS_USE_OPENGLX=1 export OGLHOME=\
export OGLFLAGS=\ export OGLLIBS=\ export G4UI_USE_TCSH=1
/////////////////////////////////////////////////////////////////////////////// 下面是aidaenv的代码.
/////////////////////////////////////////////////////////////////////////////// //aidaenv
export AIDAJNI_HOME=/home/username/addsoftware/AIDAJNI-3.2.2/ export JAIDA_HOME=/home/username/addsoftware/JAIDA-3.2.2/ export JDK_HOME=/home/username/addsoftware/j2sdk1.4.2_05/ source /home/username/addsoftware/JAIDA-3.2.2/bin/aida-setup.sh
3 Geant4安装和入门 内部资料 export G4ANALYSIS_USE=1 export
G4ANALYSIS_AIDA_CONFIG_CFLAGS=\lude\ export
G4ANALYSIS_AIDA_CONFIG_LIBS=%ux-g++ -lAIDAJNI -lFHJNI -L/home/username/addsoftware/j2sdk1.4.2_05//jre/lib/i386/client -ljvm\
source /home/username/addsoftware/AIDAJNI-3.2.2/bin/Linux-g++/aidajni-setup.sh /////////////////////////////////////////////////////////////////////////////// 下面是dawnenv的代码
/////////////////////////////////////////////////////////////////////////////// //dawnenv
export G4VIS_USE_DAWNFILE=1
export G4VIS_BUILD_DAWNFILE_DRIVER=1 #export G4VIS_USE_DAWN=1
#export G4VIS_BUILD_DAWN_DRIVER=1 export PATH=/usr/local/ActiveTcl/bin:$PATH export DAWN_PS_PREVIEWER=gs
export DAWN_BATCH=0 #/1/a (GUI/batch/batch+append) export DAWN_DEVICE=1 #/2/3/4/5 (PS/X/PS2/X2/GL) export DAWN_UP_DIRECTION=Y #/Z
export DAWN_BFC_MODE=0 #/1 (Backface-culling mode off/on)
export DAWN_USE_STENCIL=0 #/1 (Skip/do drawing edges in OpenGL mode) #export G4DAWNFILE_DEST_DIR=/home/xhg/embfour/dawnfile/dawn /////////////////////////////////////////////////////////////////////////////// 下面是javaenv的代码
/////////////////////////////////////////////////////////////////////////////// //javaenv
export PATH=/home/xhg/geantfour/addsoftware/j2sdk1.4.2_05/bin/:$PATH /////////////////////////////////////////////////////////////////////////////// 下面是wiredenv的代码
/////////////////////////////////////////////////////////////////////////////// //wiredenv
export WIRED_HOME=/home/xhg/geantfour/addsoftware/Wired export PATH=$PATH:/home/xhg/geantfour/addsoftware/Wired/bin ///////////////////////////////////////////////////////////////////////////////
4