




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
Geant4基礎(chǔ)知識
G4模擬粒子過程:
建立一次模擬,在G4中稱為一次Run;Run建立后,需要對幾何結(jié)構(gòu)、物理
過程進行初始化;初始化完成后就開始模擬過程了,首先發(fā)射一個粒子。在G4
中,發(fā)射一個(或一系列)粒子到所有次級粒子死亡的過程成為一次Evento而
每次發(fā)射的初始粒子則有粒子發(fā)射器進行控制。而在每一個event過程中,粒子
與材料反應(yīng)后會可能生成多個次級粒子,每個粒子都會有一條徑跡,稱之為
track;而每一個粒子(初始的或次級的)的徑跡又是由很多步組成的,稱之為
stepo
G4模擬的基本算法:
ARunStart->初始化物理模型/幾何模型?>AnEventStart->調(diào)用粒子發(fā)射器
發(fā)射粒子
->ATrackStart
->AStepStart
->AStepEnd
->NextStepStart
->
->AllStepEnd
->ATrackEnd
->NextTrackStart
->AllTrackEnd
->AnEventEnd->NextEventStart
->??????
->AllEventEnd(AIIPrimariesShot)->ARunEnd->NextRunStart
->.......
1)main()中應(yīng)該包括的內(nèi)容
Geant4是一個探測器模擬工具,但它對于某個特定的模擬程序沒有固定的
main()函數(shù),用戶在建立模擬程序的過程中需要提供自己的main()函數(shù).一個最
基本的main()函數(shù)需要包括以下幾個方面:
G4RunManager(模擬整個過程)
G4VUserDetectorConstruction(定義探測器材料,幾何形狀,靈敏區(qū)和讀出
方案)
G4VUserPhysicsList(定義粒子種類和物理過程,還有截斷參數(shù))
G4VUserPHmaryGeneratorAction(定義了源粒子的種類,能量,出射方向等)
一個最簡單的main()函數(shù)如下:
//include"G4RunManager.hh"
#include"G4Ulmanager.hh"
#include"ExNOlDetectorConstruction.hh"
#include"ExNOlPhysicsList.hh"
//include"ExNOlPrimaryGeneratorAction.hh"
intmain()
(
//Constructthedefaultrunmanager
G4RunManager*runManager=newG4RunManager;
//setmandatoryinitializationclasses
runManager->SetUserlnitialization(newExNOlDetectorConstruction);
runManager->SetUserlnitialization(newExNOlPhysicsList);
//setmandatoryuseractionclass
runManager->SetUserAction(newExNOlPrimaryGeneratorAction);
//InitializeG4kernel
runManager->lnitialize();
//getthepointertotheUImanagerandsetverbosities
G4lllmanager*UI=G4Ulmanager::GetUlpointer();
UI->ApplyCommand('7run/verbose1");
UI->ApplyCommand("/event/verbose1");
UI->ApplyCommand('7tracking/verbose1");
//startarun
intnumberOfEvent=3;
runManager->BeamOninumberOfEvent);
//jobtermination
deleterunManager;
return0;
)
main()首先生成一個G4RunManager類,這個類是在主程序中用以初始化模擬
信息,用來連接子程序,連接方式是通過Set函數(shù)來完成。例如:
BDctcctorConstruction*detector=newBDctcctorCons:ruction;
runManager->SetUserlnitialization(detector);
先構(gòu)造一個探測器幾何,再用SET函數(shù)初始化。
用new申請的空間,在程序完成后需要釋放空間,否則出錯。注意:GEANT4
中,在「unManager上面說明的其他類會自動釋放。所以不需要一一釋放。
其他類按照重要性分為強制類和可選類。其中幾何結(jié)構(gòu)類
(DetectorConstruction)、物理設(shè)定類(PhysicsList)、源描述類
(PrimaryGenerator)都屬于強制類,缺少任一個程序都無法運行。而事件處理
類(EventAction)、步數(shù)據(jù)處理類(SteppingAction)、徑跡處理類
(TrackingAction)s運行處理類(RunAction)都屬于可選類,用戶可以通過設(shè)
定這些類來獲取感興趣的數(shù)據(jù),可以按照自己的需要添力口。
包含強制類之后程序就可以運行了,但只能檢驗幾何結(jié)構(gòu)的完備性,所以為了獲
得數(shù)據(jù)必須設(shè)定可選類。
1.Geant4的類結(jié)構(gòu)
Geant4程序代碼是根據(jù)這個類結(jié)構(gòu)建立起來的,類結(jié)構(gòu)如下圖所示.下面就
是Geant4中每個類的簡單說明.
1)Run和Event
這些類與模擬事件相關(guān),產(chǎn)生次級粒子,為粒子徑跡模擬器提供粒子.
2)Tracking和Track
根據(jù)粒子在探測器材料中的物理過程模擬粒子運行的軌跡,給出粒子特定
時間段在空間的位置,或者粒子空間時間的分布.
3)Geometry,MagneticField和CAD-Interface
這三個類就是用來描述探測器幾何結(jié)構(gòu)和探測器中電磁場的分布.為了使
探測器幾何結(jié)構(gòu)可以在CAD系統(tǒng)中進行修改,Geant4的幾何體模型完全與ISO
STEP標(biāo)準(zhǔn)一致.將來Geant4中幾何結(jié)構(gòu)的設(shè)計將從程序設(shè)計中獨立出來.面向
對象設(shè)計的方法可以讓用戶在不影響程序其他部分的同時改變幾何參數(shù)和場.
4)ParticleDefinition和Matter
這兩個類用于定義粒子和探測器材料.
5)Physics
它提供了粒子與探測器材料相互作用時所發(fā)生物理過程的模型,允許用戶
為每次反應(yīng)或每個反應(yīng)道添加物理模型.用戶根據(jù)粒子的種類,探測器材料和能
量范圍選擇不同的物理模型.Geant4有電磁物理過程和強子物理過程模型,同時
也提供了散射截面數(shù)據(jù)庫.
6)Hits和Digitization
這個兩個類用于對用戶定義的靈敏區(qū)內(nèi)的響應(yīng)進行采樣和分析.
7)Visualization
它顯示了探測器幾何形狀,粒子軌跡和碰撞過程.由于采用了面向?qū)ο笤O(shè)計
技術(shù)來設(shè)計可視化部分,這允許用戶獨立開發(fā)可視化工具,如:OpenGL和
Openinventor(為XII和Windows設(shè)計),DAWN,Postscript(viaDAWN)和VRML.
8)Interfaces
支持可視化用戶界面以及和外加程序的交流(OODBMS,reconstruction等).
①UserVerboseoutputclass,定義了一個verbosity變量;
②Runmanager,定義了一個運行管理器「unManager;
③UserInitializationclasses(mandatory),設(shè)置兩個強制類
ExN02DetectorConstruction和ExN02PhysicsList;
?UserActionclasses,設(shè)置用戶干涉類ExN02PrimaryGeneratorAction、
ExN02RunActionsExN02EventAction和ExN02SteppingAction;
⑤InitializeG4kernel,“runManager->Initialize?!?,初始化GEANT4內(nèi)核。構(gòu)
造探測器,生成物理過程,計算截面以及其他;
@GetthepointertotheUserInterfacemanager,獲取UI管理器的指針;
⑦batchmode,定義了批處理模式;
⑧interactivemode:definevisualizationandUIterminal;定義了交互模式的可
視化和UI終端;
2.構(gòu)建模型:
在Geant4中首先要建立一個最大的盒子,稱為WorldVolume,然后往這個大
盒子里面放各種各樣的小盒子(部件),然后每個小盒子(部件)里面還可以
放更小的盒子(零件),放入的小盒子將自動代替大盒子原有部分。
在Geant4中,將大盒子稱為MotherVolume(母體:,小盒子稱為Daughter
Volume(子體)。除了WorldVolume之外,每個Volume(體)都必須且只能
有一個母體,但可以沒有子體,也可以有多個子體。Geant4的這種盒子模型的
要求是:“不交不超”。
Geant4中每個這樣的盒子的安放又分為兩步。第一步是構(gòu)建盒子,稱為Logical
Volume(邏輯體);第二步是將盒子擺放到正確位置,變?yōu)镻hysicalVolume(物
理體)。
構(gòu)建盒子又分為兩步,笫一步是確定盒子形狀,第二步是確定盒子的材料等屬
性。形狀在Geant4中被稱為Solid0在Geant4中提供了多種固有的形狀,如
球形、長方體、錐體等,可以在$G4INSTALL/source/geometry/solids里面查找。
用戶也可以通過G4VSoliC類構(gòu)建自己的形狀,參見:
$G4INSTALL/source/georretry/management/include/G4VSolid.hho
此外,對于一些復(fù)雜的形狀,用戶也可以利用基本形狀通過交并補等布爾運算方
式完成,布爾運算的方式請參考$641耶丁人11/50113/9000^?/$0同$/800后3
確定了盒子形狀后,就是設(shè)置盒子的材料、磁場等屬性。這些屬性的設(shè)置通過
G4LogicalVolume類來完成,設(shè)置方法如下:
G4LogicalVolume(G4VSolid*pSolid,〃形狀
G4Material*pMaterial,〃材料
constG4String&name,〃邏輯體名字
G4FieldManager*pFieldMgr=0,〃場管理
G4VSensitiveDetector*pSDetector=Q〃是否SD探測器
G4UserLimits*pULimits=0,〃用戶限制
G4booloptimise二true);//是否優(yōu)化
盒子造完了就該擺放盒子了。擺放盒子也有兩種方法,一種是直接構(gòu)建物理體.
另一種是指定擺放方法。
直接構(gòu)建物理體是通過G4VPhysicalVolume類,其定義方法如下:
G4VPhysicalVolume(G4RotationMatrix*pRot,〃旋轉(zhuǎn)方式
constG4ThreeVector〃擺放坐標(biāo)
constG4String&pNomc,〃物理體名字
G4LogicalVolume*pLogical,//對應(yīng)的邏輯體
G4VPhysicalVolume*pMother);〃母體
如果pMother=0就表明這個體是一個WorldVolume,WorldVolume必須且只
能有一個。
在實際應(yīng)用中,我們通常采用指定擺放方法的方式來完成物理體的構(gòu)建。
指定擺放方法是通過G4PVPIacement類完成。G4PVPIacement類是
G4VPhysicalVolume的派生類,該類提供了多種方法描述LogicalVolume的擺
放方法。具體可以參考:
$G4INSTALL/source/geometry/volumes/include/G4PVPIacement.hho
用這種方法可以建立具有相同LogicalVolume的物理體,同時給可以給每個物
理體分配一個編號,以便區(qū)分具有相同LogicalVolume的物理體。這些編號在
UserSteppingAction等類中處理數(shù)據(jù)時有時會非常有用處。
需要注意的是,在Geant4中擺放坐標(biāo)都是指的相對坐標(biāo),是子體中心相對母體
中心的坐標(biāo)。而WorldVolume建立后就等于建立了幾何模型的絕對坐標(biāo)系。
3.定義材料
1)基本概念
自然界中,材料(化合物,混合物)一般是由元素組成,而元素由同位素組成.
Geant4中有三個類用來定義探測器材料的.
類G4Element描述了原子屬性:原子量,原子核中質(zhì)子數(shù),原子質(zhì)量,殼層能
量,還有每個原子的散射截面等.
類G4Material描述了材料的宏觀屬性:密度狀態(tài),溫度壓強,還有輻射長
度,平均自由程,dE/dx等.
2)定義單質(zhì)材料
如下例,給出材料名稱,密度,摩爾質(zhì)量和原子量,定義了液態(tài)氮.
G4doubledensity=1.390*g/cm3:
G4doublea=39.95*g/mole;
G4Material*lAr=newG4Material(name="liquidArgon",z=18.,a,density);
llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
這就可以用來確定所定義的邏輯塊的材料:
G4LogicalVolume*myLbox=newG4LogicalVolume(abox,lAr,"Lbox",0,0,
0):
3)定義化合物
如例,定義水(H2O):
〃〃///〃//〃////////////〃//〃/〃//////////〃〃//////〃//〃////////////〃//〃////〃
a=1.01*g/mole;
G4Element*eIH=newG4日ement(name="Hydrogen”,symbol="H",z=l,a);
a=16.00*g/mole;
G4Element*elO=newG4Element("Oxygen","O",z=8,a);
density=1.0*g/cm3;
G4Material*H2O=newG4Material("water",density,ncomponents=2);
H2O->Add日ement(eH,natoms=2);
H2O->Add日ement(eO,natoms=l);
〃////〃/〃〃/〃//〃〃/〃////〃/〃〃/〃///〃//〃///〃〃〃/〃//〃//〃/〃〃/〃///〃〃/
4)定義混合物
如例,定義空氣(Air):
llllllllllinilllllllllllllllllllllllllllllinilllllllllllllllllllllllllllllllllllll
a=14.01*g/mole;
G4Element*elN=newG4日ement("NitrogerT,"N",z=7,a);
a-16.0*g/mole;
G4Element*elO=newG4Element("Oxygen","O",z=8.,a);
density=1.290*g/cm3;
G4Material*Air=newG4Material("Air",density,ncomponents=2);
Air->AddElement(elN,fractionmass=70*perCent);
Air->AddElement(elC,fractionmass=30*perCent);
llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
在
/home/username/geant4.7.0/examples/novice/N03/ExN03DetectorConstruction.
cc文件中介紹了所有定義材料的方法.
4.指定粒子
1)一般概念
Geant4能夠模擬多種粒子.
基本粒子:電子,質(zhì)子,和gamma等.
短壽命的共振粒子:媒質(zhì)介子和delta重子.
核子:笊,alpha粒子和重離子等.
夸克,D夸克和膠子.
G4ParticleDefinition類提供了粒子的定義,而且每種粒子都有自己的類.粒
子主要分為6個大類:
輕子(lepton)
介子(meson)
強子(baryon)
波色子(boson)
短壽命粒子(shortlived)
離子(ion)
G4ParticleDefinition類包含了單個粒子的屬性:名稱,質(zhì)量,帶電電荷,自旋
等.其中大部分的屬性都不可修改,除非重新建立庫.Geant4定義了上百種粒子
用于不同的物理過程,在一般應(yīng)用中,用戶不需要自己定義粒子.粒子在連接的
過程中注冊啟用了,用戶不須要(也不能)自行執(zhí)行注冊粒子.
2)指定粒子和物理過程
G4VUserPhysicsList類讓用戶可以指定粒子以及它們的物理過程,用戶還可
以指定截斷參數(shù).
一個用戶從G4VUserPhysicsList中創(chuàng)建自己的類要利用以下幾個步驟:
ConstructParticleQ:調(diào)用粒子
ConstructPhysics():調(diào)用粒子的物理過程
SetCuts():設(shè)置粒子的截斷值
用戶利用ConstructParticle()來調(diào)用所需要的粒子的函數(shù),如用戶需要質(zhì)子
和geantino,代碼如下:
voidExN01PhysicsList::ConstructParticle()
(
G4Proton::ProtcnDefinition();
G4Geantino::GeantinoDefinition():
)
〃〃//〃/〃/〃〃〃〃//〃/〃〃〃/〃〃/〃〃〃///〃〃/〃//〃〃/〃〃〃///〃〃/〃//〃////
Geant4中預(yù)先定義的粒子有100多個,用戶不可能用這種方法來調(diào)用每一個
粒子的函數(shù),Geant4中有一些類可以讓用戶調(diào)用一類粒子,相對于6個粒子大類,
總共有6個類來調(diào)用這批粒子.他們是:
G4BusunCunslrucLur
G4LeptonConstructor
G4MesonConstructor
G4BarionConstructor
G4lonConstructor
G4ShortlivedConstructor
使用方法如下例:
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIHIIIIIIIIIIIIIIIIIIII
voidExN04PhysicsList::ConstructLeptons()
(
//Constructallleptons
G4LeptonConstructorpConstructor;
pConstructor.ConstructorParticle();
)
llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
3)設(shè)定截斷值
用戶必須為每個粒子設(shè)定截斷值,所謂截斷值,就是程序在粒子輸運距離為
截斷值時記錄粒子位置,能量的信息.在一般的模擬程序中,用戶可以為所有的
粒子設(shè)定一個截斷值.如下:
voidExN04PhysicsList::SetCuts()
(
11theG4VUserPhysicsList::SetCutsWithDefault()methodsets
//thedefaultcutvalueforallparticletypes
SetCutsWithDefault();
)
//////〃/〃/////////〃///////〃////////////////////////////////////////////〃///////
系統(tǒng)默認的截斷值為l*mm,當(dāng)然用戶可以為自己調(diào)用的粒子和物理過程設(shè)
定不用的默認值.如下:
ExN04PhysicsList::ExN04PhysicsList():G4VUserPhysicsList()
(
//defaultcutvalue(1.0*mm)
defaultCutValue=l*mm;
)
llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
用戶可以為gamma射線,電子,正電子,或者為不用的幾何區(qū)域設(shè)定不同的截
斷值.這種情況下,由于Geant4的物理過程(特別是計算能量損失的物理過程)是
根據(jù)特定的截斷值編寫的,它們輸出就會改變,所以用戶應(yīng)該特別小心.
為不同粒子設(shè)定不同截斷值的例子如下:
voidExN03PhysicsList::SetCuts()
(
〃setcutvaluesforgammaatfirstandfore-secondandnextfore+,
//becausesomeprocessesfore+/e-needcutvaluesforgamma
SetCutValue(defaultCutValue,"gamma");
SetCutValue(defaultCutValue,"e-");
SetCutValue(defaultCutValue,"e+");
//setcutvalueforprotonandanti_protonbeforeallotherhadrons
//becausesomeprocessesforhadronsneedcutvaluefor
proto/anti_proton
SetCutValue(cutForProton,"proton");
SetCutValue(cutForProton,"anti_proton");
//setcutvalueforotherparticles
SetCutValueForOthers(defaultCutValue);
)
///////////〃////////////〃//〃〃/////////////〃//////〃////〃//////////////〃//////
5.指定物理過程
1)物理過程
物理過程描述了粒子與材料的相互作用.Geant4中提供了電磁,強子和其他
的反應(yīng)過程.有7個物理過程大類:
電磁物理過程(electromagnetic)
強子物理過程(hadronic)
輸運過程(transportation)
衰減(decay)
光學(xué)過程(optical)
光輕子-強子過程(photolepton_hadron)
參數(shù)化過程(parameterisation)
G4VProcess是最基本的物理過程的類,每一個物理過程有三個”Dolt”方式來描
述:
AtRestDolt
AlongStepDolt
PostStepDolt
還有三個響應(yīng)方式:
AtRcstGctPhysicallntcractionLcngth
AlongStepGetPhysicallnteractionLength
PostStepGetPhysicallnteractionLength
下面給出了用于單個物理過程的基本的類:
G4VAtRestProcess(僅適合于"AtRestDolt”方式的物理過程)
G4VContinuousProcess(僅適合于"AlongStepDolt”方式的物理過程)
G4VDiscreteProcess(僅適合于"PostStepDolt"方式的物理過程)
另外4個類(如G4VContinuousDiscreteProcess)用于復(fù)雜的物理過程.
2)指定物理過程
用戶通過G4VUserPhysicsList來調(diào)用模擬程序中的粒子以及它們的物理過程.
用戶通過ConstructPhysics()方式利用G4VUserPhysicsList為每一個所調(diào)用的粒子
創(chuàng)建自己的物理過程類.
i)添加輸運方式
如果沒有添加粒子的瑜運方式,程序就不能描述粒子在時空的輸運,以及不
能記錄粒子輸運過程中的軌跡,所以用戶就必須為所有的粒子調(diào)用
G4Transportation.如下:
〃//〃///〃〃/〃/〃〃/〃〃/〃〃〃〃〃〃//〃〃/〃//〃/〃〃〃〃〃〃〃//〃//〃〃〃〃///
voidG4VUserPhysicsList::AddTransportation()
(
//createG4Transportation
G4Transportation*theTransportationProcess=new
G4Transportation();
//loopoverallparticlesinG4ParticleTableendregisterthe
//transportationprocess
theParticlelterator->reset();
while((*theParticlelterator)()){
G4ParticleDefinition*particle=theParticlelterator->value();
G4ProcessManager*pmanager=particle->GetProcessManager();
//addstransportationtoallparticlesexceptshortlivedparticles
if(!particle->lsShortLived()){
pmanager->AddProcess(theTransportatonProcess);
//setorderingtothefirstforAlongStepDolt
pmanager
SetProcessOrderingToFirst(theTransportationProcess,
idxAlongStep);
)
)
)
〃〃〃〃〃/〃〃/〃〃〃〃//〃/〃/〃〃〃/〃〃〃/〃〃〃/〃〃/〃/〃〃〃〃〃///〃/〃〃〃/
ii)調(diào)用物理過程
以Const「uctProcess()方式為G4Geantino類調(diào)用輸運物理過程如下:
〃////〃/〃〃/〃//〃〃/〃////〃/〃〃/〃///〃//〃///〃〃〃/〃//〃//〃/〃〃/〃///〃〃/
voidExN01PhysicsList::ConstructProcess()
(
//Definetransoortationprocess
AddTransportction();
)
llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
為gamma射線添加物理過程如下:
llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
voidMyPhysicsList::ConstructProcess()
//Definetransoortationprocess
AddTransportction();
//electromagreticprocess
ConstructEM();
)
voidMyPhysicsList::ConstructEM()
(
//Gettheprocessmanagerforgamma
G4ParticleDefinition*particle=G4Gamma二GammaDefinition。;
G4ProcessManager*pmanager=particle->GetProcessManager();
//Constructprocessforgamma
G4Photo日ectricEffect*thePhoto日ectricEffect=new
G4PhotoElectricEffect();
G4ComptonScatteringtheComptonScatteringnew
G4ComptonScattering();
G4GammaConversion*theGammaConversion=new
G4GammaConversion();
//Registerprocesstogamma'sprocessmanager
pmanage「->AddDiscreteP「ocess(thePhoto日ectricEffect);
pmanager->AddDiscreteProcess(theComptonScattering);
pmanager->AddDiscreteProcess(theGammaConversion);
)
llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
6.產(chǎn)生初始事件
1)初始事件
G4VUserPrimaryGeneratorAcrion可以讓用戶創(chuàng)建自己的初始事件類.用戶
提供初始事件的狀態(tài),如.出射粒子的種類,出射能量,方向等.如下:
#include"ExNOlPrimaryGeneratorAction.hh"
//include"G4Event.hh"
#include"G4ParticleGun.hh"
^include"G4ParticleTable.hh"
^include"G4ParticleDefinition.hh"
#include"globals.hh*
ExN01PrimaryGeneratorAction::ExN01PrimaryGeneratorAction()
(
G4intn_particle=1;〃設(shè)定每次事件出射粒子的數(shù)量
particleGun=newG4ParticleGun(nparticle);
G4ParticleTable*particleTable=G4ParticleTable::GetParticleTable();
G-StringparticleName;
particleGun->SetParticleDefinition(particleTable->FindParticle(particleName="g
eantino"));〃設(shè)定出射粒子的種類
partideGun->SetPartideEnergy(1.0*GeV);〃設(shè)定出射粒子的動能
particleGun->SetParticlePosition(G4ThreeVector(-2.0*m,0.0,0.0));〃設(shè)定出射粒
子的出射位置
)
ExN01PrimaryGeneratorAction::-ExN01PrimaryGeneratorAction()
(
deleteparticleGun;
)
voidExN01PrimaryGeneratorAction::GeneratePrimaries(G4Event*anEvent)
(
G4inti=anEvent->GetEventlD()%3;
G4ThreeVectorv(1.0,0.0,0.0);
switch(i)
case0:
break;
case1:
v.setY(O.l);
break;
case2:
v.setZ(O.l);
break;
)
particleGun->SetParticleK/omentumDirection(v);//設(shè)定出射粒子的方向
particleGun->GeneratePrimaryVertex(anEventi;
)
〃〃〃〃/〃〃〃/〃〃〃〃/〃〃〃〃/〃〃/〃〃〃〃/〃〃/〃〃〃〃〃〃〃//〃〃〃〃/〃〃〃
2)G4VPrimaryGenerator
Geant4中有兩個G4VPrimaryGenerator的獨立的類,一個是G4ParticleGun,
另一個是G4HEPEvtlnterface.G4ParicleGun用來給用戶確定出射粒子的動能和位
置.方式如下:
voidSetParticleDefinition(G4ParticleDefinition*)
voidSetParticleMomentum(G4ParticleMomentum)
voidSetParticleMomentumDirection(G4ThreeVector)
voidSetParticleEnergy(G4doule)
voidSetParticleTimeiG4double)
voidSetParticlePosition(G4ThreeVector)
voidSetParticlePolarization(G4ThreeVector)
voidSetNumberOfParticles(G4int)
執(zhí)行模擬程序
1.命令總目錄
/control/UI控制命令.
/units/單位
/geometry/幾何形狀控制命令.
/tracking/軌跡和步長控制命令.
/event/事件控制命令.
/run/運行控制命令
/random/隨機數(shù)狀態(tài)控制命令.
/particle/粒子控制命令.
/process/物理過程控制命令.
/hits/靈敏區(qū)和采樣
/gun/粒子源控制命令.
/vis/可視化命令.
2.一些常用命令
1)/control/execute
說明:執(zhí)行一個宏文件.
2)/control/loop
說明:多次執(zhí)行宏文件
3)/units/list
說明:列出所有存在的量綱.
4)/tracking/verbose
說明:設(shè)置記錄粒子軌跡信息的級別.
5)/run/beamOn
說明:開始運行模擬程序.如果沒有初始化G4內(nèi)核,它將自動初始化.默認運
行的事件數(shù)為1,第二第三個參數(shù)可以讓用戶在每次事件結(jié)束后執(zhí)行一個宏文件.
如果第二個參數(shù)(例:宏文件名)存在,但第三個參數(shù)不存在,這樣所有的事件都是
執(zhí)行這個宏文件.
6)/process/list
說明:列出所有的物理過程名稱.
7)/process/activate(inactivate)
說明:激活(停止)物理過程,激活(停止)粒子運行.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 寄賣合同協(xié)議書
- 小孩上學(xué)租房合同
- 翻譯服務(wù)協(xié)議合同
- 天花吊頂裝修合同
- 合同之店員聘用合同
- 房屋中介居間合同
- 學(xué)校食堂肉類供貨合同年
- 有關(guān)設(shè)備購銷合同
- 新材料生產(chǎn)加工合同
- 星酒店投資技術(shù)服務(wù)合同
- 個人合伙開店合同范本
- 生而為贏自燃成陽-開學(xué)第一課發(fā)言稿
- 2024年設(shè)備監(jiān)理師考試題庫及答案參考
- 公司外派學(xué)習(xí)合同范例
- 2025年中國國投高新產(chǎn)業(yè)投資集團招聘筆試參考題庫含答案解析
- 安徽省合肥市包河區(qū) 2024-2025學(xué)年九年級上學(xué)期期末道德與法治試卷(含答案)
- 廣州電視塔鋼結(jié)構(gòu)施工方案
- 2024年湖南鐵路科技職業(yè)技術(shù)學(xué)院高職單招數(shù)學(xué)歷年參考題庫含答案解析
- 《梅大高速茶陽路段“5·1”塌方災(zāi)害調(diào)查評估報告》專題警示學(xué)習(xí)
- 2024年06月江蘇昆山鹿城村鎮(zhèn)銀行校園招考筆試歷年參考題庫附帶答案詳解
- 小學(xué)二年級100以內(nèi)進退位加減法800道題
評論
0/150
提交評論