内部资料Geant4安装和入门1Geant4的安装和入门引言Geant4是由CERN(欧洲核子研究委员会)开发的蒙特卡罗应用软件包,主要用于模拟高能粒子在探测器中输运的物理过程.它采用面向对象的C++语言编写,可以构造复杂的探测器几何结构,定制感兴趣的粒子与物理过程模型,并且能够跟踪粒子的过程,显示粒子径迹,处理在输运过程中产生的大量数据.一.Geant4的发展Geant4最初的发展可以追溯到CERN(EuropeanOrganizationforNuclearResearch)和KEK(HighEnergyAcceleratorResearchOrganizationJapan)在1993年的两个研究,他们都是研究如何在Geant3程序中使用现代化的计算技术。最后CERNDRDC(DetectorResearchandDevelopmentCommittee)听取了他们的建议,组织了来自欧洲、俄罗斯、加拿大、日本和美国的几十个实验室、学校和研究所的超过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是一个开放源代码的蒙特卡罗模拟程序,用户可以自由的在网页中下载到Geant4源代码,目前最新的版本是Geant4.7.0.p01.该网页还提供了一个ftp地址,从该地址可以下载到一个完整的Geant4的安装盘,里面不仅包含了Geant4的在各种操作系统下的源代码,还有各种用于分析Geant4运行结果的软件.Geant4安装和入门内部资料22.系统要求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/g4envsource/home/username/geant4.7.0/env/aidaenvsource/home/username/geant4.7.0/env/dawnenvsource/home/username/geant4.7.0/env/javaenvsource/home/username/geant4.7.0/env/wiredenv///////////////////////////////////////////////////////////////////////////////下面是g4env的代码./////////////////////////////////////////////////////////////////////////////////g4env#exportG4SYSTEM=Linux-g++(#表示注释该行,下同)exportG4INSTALL=/home/username/geant4.7.0exportG4INCLUDE=/home/username/geant4.7.0/includeexportG4LIB=/home/username/geant4.7.0/libexportG4BIN=./exportG4LEVELGAMMADATA=/home/username/geant4.7.0/data/PhotonEvaporationexportG4RADIOACTIVEDATA=/home/username/geant4.7.0/data/RadiativeDecayexportG4LEDATA=/home/username/geant4.7.0/data/G4EMLOW2.3exportNeutronHPCrossSections=/home/username/geant4.7.0/data/G4NDL3.7exportG4ELASTICDATA=/home/username/geant4.7.0/data/ElasticexportCLHEP_BASE_DIR=/home/username/CLHEPexportCLHEP_INCLUDE_DIR=/home/username/CLHEP/includeexportCLHEP_LIB_DIR=/home/username/CLHEP/lib内部资料Geant4安装和入门3exportCLHEP_LIB=CLHEP#exportG4DEBUG=1exportG4ANALYSIS_USE=1#exportG4UI_BUILD_XAW_SESSION=1#exportG4UI_USE_XAW=1#exportG4UI_BUILD_XM_SESSION=1#exportG4UI_USE_XM=1#exportG4UI_USE_TCSH=1#exportG4VIS_BUILD_DAWN_DRIVER=1#exportG4VIS_BUILD_OPENGLX_DRIVER=1#exportG4VIS_BUILD_OPENGLXM_DRIVER=1#exportG4VIS_BUILD_OIX_DRIVER=1#exportG4VIS_BUILD_VRML_DRIVER=1#exportG4VIS_USE_DAWN=1#exportG4VIS_USE_OPENGLX=1#exportG4VIS_USE_OPENGLXM=1#exportG4VIS_USE_OIX=1#exportG4VIS_USE_VRML=1#exportG4LIB_BUILD_G3TOG4=1#exportG4USE_G3TOG4=1#exportG4LIB_BUILD_SHARED=1#exportG4LIB_BUILD_STATIC=1#exportG4LIB_USE_GRANULAR=1#exportCLHEP_BASE_DIR=/usr/localexportG4VIS_BUILD_OPENGLX_DRIVER=1exportG4VIS_USE_OPENGLX=1exportOGLHOME=/usr/localexportOGLFLAGS=-I/usr/local/includeexportOGLLIBS=-L/usr/local/lib-lGLU-lGLexportG4UI_USE_TCSH=1///////////////////////////////////////////////////////////////////////////////下面是aidaenv的代码./////////////////////////////////////////////////////////////////////////////////aidaenvexportAIDAJNI_HOME=/home/username/addsoftware/AIDAJNI-3.2.2/exportJAIDA_HOME=/home/username/addsoftware/JAIDA-3.2.2/exportJDK_HOME=/home/username/addsoftware/j2sdk1.4.2_05/source/home/username/addsoftware/JAIDA-3.2.2/bin/aida-setup.shGeant4安装和入门内部资料4exportG4ANALYSIS_USE=1exportG4ANALYSIS_AIDA_CONFIG_CFLAGS=-I/home/username/addsoftware/AIDAJNI-3.2.2//includeexportG4ANALYSIS_AIDA_CONFIG_LIBS=-L/home/username/addsoftware/AIDAJNI-3.2.2//lib/Linux-g++-lAIDAJNI-lFHJNI-L/home/username/addsoftware/j2sdk1.4.2_05//jre/lib/i386/client-ljvmsource/home/username/addsoftware/AIDAJNI-3.2.2/bin/Linux-g++/aidajni-setup.sh///////////////////////////////////////////////////////////////////////////////下面是dawnenv的代码/////////////////////////////////////////////////////////////////////////////////dawnenvexportG4VIS_USE_DAWNFILE=1exportG4VIS_BUILD_DAWNFILE_DRIVER=1#exportG4VIS_USE_DAWN=1#exportG4VIS_BUILD_DAWN_DRIVER=1exportPATH=/usr/local/ActiveTcl/bin:$PATHexportDAWN_PS_PREVIEWER=gsexportDAWN_BATCH=0#/1/a(GUI/batch/batch+append)exportDAWN_DEVICE=1#/2/3/4/5(PS/X/PS2/X2/GL)exportDAWN_UP_DIRECTION=Y#/ZexportDAWN_BFC_MODE=0#/1(Backface-cullingmodeoff/on)exportDAWN_USE_STENCIL=0#/1(Skip/dodrawingedgesinOpenGLmode)#exportG4DAWNFILE_DEST_DIR=/home/xhg/embfour/dawnfile/dawn///////////////////////////////////////////////////////////////////////////////下面是javaenv的代码/////////////////////////////////////////////////////////////////////////////////javaenvexportPATH