编辑: hgtbkwd | 2017-09-16 |
G4Element* O = new G4Element( Oxygen , O , z=8., a= 16.00*g/mole);
G4Material* Air = new G4Material( Air , density= 1.29*mg/cm3, nel=2);
Air->
AddElement(N, 70*perCent);
Air->
AddElement(O, 30*perCent);
//指定百分比 如何定义探测器材料(2) //定义真空 G4double a, z;
G4double density, temperature, pressure;
G4int nel;
G4Material* Vacuum = new G4Material( Galactic , z=1., a=1.01*g/mole,density= universe_mean_density,kStateGas, 2.73*kelvin, 3.e-18*pascal);
//指定温度、压强等属性 * * 三个概念层面 G4VSolid C 形状,尺寸G4LogicalVolume C 子物理体积,材料,灵敏区,磁场,用户限制等等.G4VPhysicalVolume C 位置,转动 原则上几何描述的三个层面允许最大限度的信息再利用,以便减小内存空间. 探测器灵敏区应由用户在G4VSensitiveDetector 进行具体的定义并设置到G4LogicalVolume 上. 探测器几何在Geant4中是由很多 体积 (Volumes)构成的.Volume的概念在几何构造中非常重要. 如何定义探测器几何(1) * * G4double expHall_x = 3.0*m;
G4double expHall_y = 1.0*m;
G4double expHall_z = 1.0*m;
//Solid,指定几何形状和尺寸G4Box* experimentalHall_box = new G4Box( expHall_box ,expHall_x,expHall_y,expHall_z);
//Logical,指定具体物理特性,如其中物质为Ar气experimentalHall_log = new G4LogicalVolume(experimentalHall_box,Ar, expHall_log ,0,0,0);
//Physical,指定放置位置以及旋转角度等experimentalHall_phys = new G4PVPlacement(0,G4ThreeVector(experimentalHall_log, expHall ,0,false,0);
如何定义探测器几何(2) 定义一个G4Box,长方体 Geant4中基本的几何形状很多,比如:G4Box, G4Tubs, G4Cons, G4Para, G4Trd, G4Trap, G4Spere, G4Torus, G4Polycone,... * * 一个 Geant4 体积的调用示意图 G4Box G4Tubs G4VSolid G4VPhysicalVolume G4Material G4VSensitiveDetector G4PVPlacement G4PVParameterised G4VisAttributes G4LogicalVolume * * 作为用户,如何使用Geant4? 首先不要尝试去读懂 Geant4 上百万行语句的含义! 其次不要尝试去读懂所有 Geant4 的例子! 然后根据你的实际情况选择相应的例子,我个人建议大家仔细读懂 Novice 中的第二个例子N02中在 src 与include 中的每一行语句的含义. Geant
4 需要用户告诉探测器的几何是什么?材料是什么?研究的粒子是什么?物理过程什么? 用户需要从 Geant4 中得到粒子在反应后或者输运后,可以被探测器记录的击中数,末态粒子数,对应的四动量,能损大小等等.然后把所有物理量都转化为电学量,如光电子数,电子学道数等等. * * 小结 模拟探测器的必要性Geant4 模拟软件包的基本概念安装Geant4和设置环境变量模拟探测器的简单例子图形显示探测器几何和材料的定义 * * 练习 1. 修改稿例子N01,加上图形显示. 从不同视角查看探测器显示情况. (hints: 将N02中的vis.mac复制到N01目录,利用其中关于vis的UICommand命令.)2. 修改N01中探测器的物质以及几何形状,在tracker tube的内部中心平行放置一个内径20cm,外径25cm,长度40cm的小圆管,管的材质为硅.3. 编译运行N........