Geant4 Note

本文档详细介绍了Geant4程序的基本结构,包括一般项目的目录布局、main()函数的内容、探测器构建、物理过程设置、粒子源信息以及交互模式。还提到了批处理和GUI交互模式,以及编译运行和输出的流程。
摘要由CSDN通过智能技术生成

Geant4 Note

一般的Program目录结构

+- Program/
 |    CMakeLists.txt    //CMake编译时需要的文件
 |    Program.cc        // main()函数
 |    +- include
 |     |  ...include.hh... //放置头文件,声明需要的类
 |    +- src
 |     |  ...source.cc...  //放置源文件,定义相应的类和方法

一个活的程序需要什么

+- Program/
 |    CMakeLists.txt    // CMake编译时需要的文件
 |    Program.cc        // main()函数
 |    +- include           // 用来存放头文件
 |     |  ProgramDetectorConstruction.hh      // 声明探测器结构的类
 |     |  ProgramPrimaryGeneratorAction.hh // 声明初始事件类
 |    +- src                // C++中,定义函数原型
 |     |  ProgramDetectorConstruction.cc   //设置探测器结构
 |     |  ProgramPrimaryGeneratorAction.cc //设置初始粒子的位置,速度等信息(搭建粒子枪)

main()函数的一般内容:

项目

  • runManager
  • DetectorConstruction
  • PhysicsList
  • ActionInitialization
  • PrimaryGeneratorAction
  • UI mode
    • ‘Purely hard-coded’ batch mode 硬编码批处理模式,即完全交由main()函数完成,不存在交互

      硬编码是将数据直接嵌入到程序或其他可执行对象的源代码中的软件开发实践,与从外部获取数据或在运行时生成数据不同。 硬编码数据通常只能通过编辑源代码和重新编译可执行文件来修改…… ——百度百科·硬编码

    • batch mode, but reading a macro of commands 批处理模式,但读取一个宏。这时用户可以在编译后通过输入不同的宏文本来调整一部分信息,而不需要重新编译源代码
    • interactive mode, driven by command lines 命令行交互模式
    • interactive mode via a Graphical User Interface GUI用户图形界面交互模式

流程

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值