其中,DetectorConstruction,PhysicsList,ActionInitialization,PrimaryGeneratorAction 四个类不可缺少,其余几个类根据情况选择使用。
使用者必须熟练掌握探测器的几何设置 DetectorConstruction 和粒子源的设置 PrimaryGeneratorAction 两个类。
G4可以进行单位换算,实质上是一些全局变量(G4SystemOfUnits.hh)
其中,默认单位为:mm, MeV, g, mole, ns, eplus,即如果没有写单位,则为默认单位。
为了方便代码阅读,我们要求在数字后面指定单位。
例如:
double x = 5.0*m;
double y = 4.0*m;
double z = 3.0*m;
对于输出数据,采用默认单位进行输出。如果要进行单位转换,只需要除以相应的单位即可。
例如:
G4cout << KineticEnergy/keV << " keV";
G4cout << density/(g/cm3) << " g/cm3";
边界:step 不能穿过两个物理体的边界,即边界上必须存在一个 steppoint。此时 step 的 status 为 fGeomBoundary
G4Track:定义为粒子当前的状态(与 PostStepPoint 容纳的信息一致)。
提取物理量的接口:UserAction, G4VSensitiveDetector
Example :
!jupyter nbconvert FRAME.ipynb --to html
[NbConvertApp] Converting notebook FRAME.ipynb to html [NbConvertApp] Writing 567070 bytes to FRAME.html