Geant4程序架构解析(以入门例程B1为例)

    Geant4例程在example文件夹,basic子文件夹主要是入门例程,其中basic/B1例程是最基本,熟悉它可基本掌握Geant4程序的架构和基本的代码编写方法,普通的Geant4模拟需求按此架构都可以进行计算。
    该例程主要是简单的计算了特定几何体里的能量沉积。

1.工程架构
  ExampleB1.cc      (顶层文件,程序从该文件的main函数开始逐行执行)

    |-B1DetectorConstruction.hh/cc  

 (构建仿真环境,含探测器,屏蔽体等,主要设置几何和物质)

    |-B1ActionInitialization.hh/cc   

(主要的意义是为了设置多线程,讲一次模拟分成几次,由多个核分别去跑,加快仿真速度)  

        |-B1PrimaryGeneratorAction.hh/cc   

(设置粒子发射枪,例如粒子类型、能量、角度、单次发射数目等)

       |-B1RunAction.hh/cc               

 (负责管理单次模拟,以及分给每个核上跑的模拟任务)

       |-B1EventAction.hh/cc              

(一个粒子的发射称为EVENT,管理单个粒子发射事件)

        |-B1SteppingAction.hh/cc           

(单个粒子发射事件经历很多步骤,例如从第一次碰撞到第二次碰撞称为一个STEP,负责管理其中的每个步骤)

----以上为源码文件,以下在该模拟环境下的命令执行文件,用来控制模拟的进行----

   |- vis.mac  控制图形显示界面的产生和各类参数(一般通过OPENGL)       

     |-  run1.mac 含一批命令,设置模拟的条件,控制实际的运行  

       (命令行下通过/control/execute run1.mac命令调用)

   |- run2.mac     

(命令行下通过/control/execute run2.mac命令调用)

     |- exampleB1.in    

(通过./exampleB1 exampleB1.in > exampleB1.out命令调用)

你可能感兴趣的:(Geant4程序架构解析(以入门例程B1为例))