Geant4ÈëÃÅÖ¸µ¼Óë°²×° ÏÂÔØ±¾ÎÄ

ÄÚ²¿×ÊÁÏ Geant4°²×°ºÍÈëÃÅ 2)°²×°CLHEP

´ÓÉÏÃæÌṩµÄÍøÒ³ÉÏÏÂÔØCLHEP, ĿǰµÄ°æ±¾ÊÇCLHEP.1.8.1.0.a, ½âѹËõµ½/home/username/Ŀ¼ÏÂ, ÈçϾÍÊǰ²×°CLHEPµÄÃüÁî. cd /home/username/CLHEP

./configure -prefix=/home/username/CLHEP make

make install (ÐèÒªÓÃrootÓû§Ö´ÐÐ) cp

/home/username/CLHEP/lib/libCLHEP.a

3)°²×°Geant4.7.0

ÈçÏÂΪ°²×°Geant4µÄÃüÁî, ÖðÌõÖ´Ðм´¿É. cd Geant4.7.0 mkdir data cd data/

tar -xzvf G4CD/Geant4Software/DataFiles/Elastic.1.0.tar.gz tar -xzvf G4CD/Geant4Software/DataFiles/G4EMLOW2.3.tar.gz tar -xzvf G4CD/Geant4Software/DataFiles/RadiativeDecay.3.0.tar.gz tar -xzvf G4CD/Geant4Software/DataFiles/G4NDL3.7.tar.gz

tar -xzvf G4CD/Geant4Software/DataFiles/PhotonEvaporation.2.0.tar.gz cd ..

./Configure -build (ÔĶÁ°²×°³ÌÐòÌṩµÄÐÅÏ¢, °´ÐèÒª»Ø´ðËüµÄÎÊÌâ) ./Configure -install cd source make

cd visualization/OpenIventor make

cd ../../../physics_list/hadronic make

4. °²×°Ò»Ð©Íâ¼ÓµÄÈí¼þ

´ÓG4CD/AdditionSoftwareĿ¼Ï¸÷ÖÖÍâ¼ÓÈí¼þµÄLinux°æ±¾¿½±´µ½/home/username/addsoftware/Ŀ¼ÏÂ. 1)°²×° Dawn.

tar -xzvf dawn_3_85e.taz cd dawn_3_85e make

make install (ÐèÒªrootÓû§È¨ÏÞ)

/home/username/CLHEP/lib/libCLHEP-g++.1.8.1.0.a

5 Geant4°²×°ºÍÈëÃÅ ÄÚ²¿×ÊÁÏ

2)°²×° Java

chmod a+x j2sdk-1_4_2_05-linux-i586.bin ./j2sdk-1_4_2_05-linux-i586.bin

3)°²×° Wired java -cp . install

4)°²×° AIDA

tar -xzvf AIDAJNI-3.2.2-Linux-g++.tar.gz tar -xzvf JAIDA-3.2.2.tar.gz

mv AIDAJNI-3.2.2-src.tar.gz AIDAJNI_3.2.2 cd AIDAJNI_3.2.2

tar -xzvf AIDAJNI-3.2.2-src.tar.gz

export FREEHEP=/home/username/addsoftware/AIDAJNI_3.2.2 export JDK_HOME=/home/username/addsoftware/j2sdk1.4.2_05 export

PATH=/home/username/addsoftware/AIDAJNI_3.2.2/bin:$/home/username/addsoftware/j2sdk1.4.2_05/bin:$PATH export OS=Linux export COMPILER=g++ chmod +x tools/ant tools/ant -Djar=aidajni gmake -f GNUmakefile-src

gmake -f GNUmakefile-src dist (½«»á²úÉúÒ»¸ö AIDAJNI-3.2.2-Linux-g++.tar.gz Îļþ, ±íʾÒѾ­°²×°³É¹¦.)

5)°²×° ActiveTcl

tar -xzvf ActiveTcl8.4.5.0-linux-ix86.tar.gz cd ActiveTcl8.4.5.0-linux-ix86 ./install.sh //root privilege

5. ÔËÐÐÀý×Ó

Geant4×Ô´øÐí¶àÀý×Ó³ÌÐò, ¿ÉÒÔÖ´ÐÐÆäÖÐÒ»Á½¸öÀ´¹Û²ìGeant4ÊÇ·ñ°²×°³É¹¦. cd /usr/bin

ln -s /home/username/addsoftware/jas3-0.7.6/jas3 jas3 (rootÓû§È¨ÏÞ) cd /home/username/geant4.7.0/example/extend/analysis/A01/ make

6 ÄÚ²¿×ÊÁÏ Geant4°²×°ºÍÈëÃÅ ./A01app jas A01.aida

Èý. Geant4³õ¼¶±à³Ì

1. Geant4µÄÀà½á¹¹

Geant4³ÌÐò´úÂëÊǸù¾ÝÕâ¸öÀà½á¹¹½¨Á¢ÆðÀ´µÄ, Àà½á¹¹ÈçÏÂͼËùʾ. ÏÂÃæ¾ÍÊÇGeant4ÖÐÿ¸öÀàµÄ¼òµ¥ËµÃ÷.

1) Run ºÍ Event

ÕâЩÀàÓëÄ£ÄâʼþÏà¹Ø, ²úÉú´Î¼¶Á£×Ó, ΪÁ£×Ó¾¶¼£Ä£ÄâÆ÷ÌṩÁ£×Ó.

2) Tracking ºÍ Track

¸ù¾ÝÁ£×ÓÔÚ̽²âÆ÷²ÄÁÏÖеÄÎïÀí¹ý³ÌÄ£ÄâÁ£×ÓÔËÐеĹ켣, ¸ø³öÁ£×ÓÌØ¶¨Ê±¼ä¶ÎÔÚ¿Õ¼äµÄλÖÃ, »òÕßÁ£×Ó¿Õ¼äʱ¼äµÄ·Ö²¼.

3) Geometry, Magnetic Field ºÍ CAD-Interface

ÕâÈý¸öÀà¾ÍÊÇÓÃÀ´ÃèÊö̽²âÆ÷¼¸ºÎ½á¹¹ºÍ̽²âÆ÷Öеç´Å³¡µÄ·Ö²¼. ΪÁËʹ̽²âÆ÷¼¸ºÎ½á¹¹¿ÉÒÔÔÚCADϵͳÖнøÐÐÐÞ¸Ä, Geant4µÄ¼¸ºÎÌåÄ£ÐÍÍêÈ«ÓëISO STEP±ê×¼Ò»ÖÂ. ½«À´Geant4Öм¸ºÎ½á¹¹µÄÉè¼Æ½«´Ó³ÌÐòÉè¼ÆÖжÀÁ¢³öÀ´. ÃæÏò¶ÔÏóÉè¼ÆµÄ·½·¨¿ÉÒÔÈÃÓû§ÔÚ²»Ó°Ïì³ÌÐòÆäËû²¿·ÖµÄͬʱ¸Ä±ä¼¸ºÎ²ÎÊýºÍ³¡.

4) Particle Definition ºÍ Matter

ÕâÁ½¸öÀàÓÃÓÚ¶¨ÒåÁ£×ÓºÍ̽²âÆ÷²ÄÁÏ.

5) Physics

ËüÌṩÁËÁ£×ÓÓë̽²âÆ÷²ÄÁÏÏ໥×÷ÓÃʱËù·¢ÉúÎïÀí¹ý³ÌµÄÄ£ÐÍ, ÔÊÐíÓû§ÎªÃ¿´Î·´Ó¦»òÿ¸ö·´Ó¦µÀÌí¼ÓÎïÀíÄ£ÐÍ. Óû§¸ù¾ÝÁ£×ÓµÄÖÖÀà, ̽²âÆ÷²ÄÁϺÍÄÜÁ¿·¶Î§Ñ¡Ôñ²»Í¬µÄÎïÀíÄ£ÐÍ. Geant4Óеç´ÅÎïÀí¹ý³ÌºÍÇ¿×ÓÎïÀí¹ý³ÌÄ£ÐÍ, ͬʱҲÌṩÁËÉ¢Éä½ØÃæÊý¾Ý¿â.

6) Hits ºÍ Digitization

Õâ¸öÁ½¸öÀàÓÃÓÚ¶ÔÓû§¶¨ÒåµÄÁéÃôÇøÄÚµÄÏìÓ¦½øÐвÉÑùºÍ·ÖÎö.

7) Visualization

ËüÏÔʾÁË̽²âÆ÷¼¸ºÎÐÎ×´, Á£×ӹ켣ºÍÅöײ¹ý³Ì. ÓÉÓÚ²ÉÓÃÁËÃæÏò¶ÔÏóÉè¼Æ¼¼ÊõÀ´Éè¼Æ¿ÉÊÓ»¯²¿·Ö, ÕâÔÊÐíÓû§¶ÀÁ¢¿ª·¢¿ÉÊÓ»¯¹¤¾ß, Èç: OpenGL ºÍ OpenInventor(ΪX11ºÍWindowsÉè¼Æ), DAWN, Postscript(via DAWN)ºÍVRML.

7 Geant4°²×°ºÍÈëÃÅ ÄÚ²¿×ÊÁÏ

8) Interfaces

Ö§³Ö¿ÉÊÓ»¯Óû§½çÃæÒÔ¼°ºÍÍâ¼Ó³ÌÐòµÄ½»Á÷(OODBMS, reconstructionµÈ).

2. main()³ÌÐòµÄ¶¨Òå 1) main()ÖÐÓ¦¸Ã°üÀ¨µÄÄÚÈÝ

Geant4ÊÇÒ»¸ö̽²âÆ÷Ä£Ä⹤¾ß, µ«Ëü¶ÔÓÚij¸öÌØ¶¨µÄÄ£Äâ³ÌÐòûÓй̶¨µÄmain()º¯Êý, Óû§ÔÚ½¨Á¢Ä£Äâ³ÌÐòµÄ¹ý³ÌÖÐÐèÒªÌṩ×Ô¼ºµÄmain()º¯Êý. Ò»¸ö×î»ù±¾µÄmain()º¯ÊýÐèÒª°üÀ¨ÒÔϼ¸¸ö·½Ãæ:

G4RunManager(Ä£ÄâÕû¸ö¹ý³Ì)

G4VUserDetectorConstruction(¶¨Òå̽²âÆ÷²ÄÁÏ, ¼¸ºÎÐÎ×´, ÁéÃôÇøºÍ¶Á³ö·½°¸) G4VUserPhysicsList(¶¨ÒåÁ£×ÓÖÖÀàºÍÎïÀí¹ý³Ì, »¹ÓнضϲÎÊý)

G4VUserPrimaryGeneratorAction(¶¨ÒåÁËÔ´Á£×ÓµÄÖÖÀà, ÄÜÁ¿, ³öÉä·½ÏòµÈ)

2) Ò»¸ö×î¼òµ¥µÄmain()º¯ÊýÈçÏÂ:

////////////////////////////////////////////////////////////////////////////////////

#include \#include \

#include \#include \

#include \

int main() {

// Construct the default run manager

G4RunManager* runManager = new G4RunManager; // set mandatory initialization classes

runManager->SetUserInitialization(new ExN01DetectorConstruction); runManager->SetUserInitialization(new ExN01PhysicsList); // set mandatory user action class

runManager->SetUserAction(new ExN01PrimaryGeneratorAction); // Initialize G4 kernel

8