当前位置: 首页 > news >正文

Day 09(上) B2a实例分析-----如何理解Sensitive detector 和 Hit

Day 09(上) B2a实例分析-----如何理解Sensitive detector 和 Hit

一、Sensitive detector(G4VSensitiveDetector)

含义:是一个虚基类,用来模拟或获取想要读取的一些信息,若把某个区域设置成为sensitive detector,那么可以借助这个sensitive detector所具备的一些能力去模拟并获得在这个区域里面想要获得的一些信息,这个区域的每一个step都可以获取。只需要告诉系统这个区域被我设置成了这个,那么一些信息都可以通过每一个step得到。若指定为这个sensitive detector,那么sensitive detector本身有一个方法叫ProcessHits(),在这个方法中可以写一些用于获取物理信息的代码

G4VSensitiveDetector::ProcessHits()

获取信息对比:B1 VS B2a

  • B1里面通过继承G4UserSteppingAction,访问每一个step,确定这个step是在我们想要统计物理信息的体积区域以内(if判断语句),然后将这个step信息记录下来在一个event中,存在一个event成员变量中,当一个event结束(run)以后,将这些信息进行汇总;
  • **B2a通过sensitive detector,用processHits()**方法进行获取统计想要获取的物理信息,写统计方法的代码,自己做加和。
二、如何使用sensitive detector
  1. 每一个logical volume都可以有一个指针指向sensitive detector,这样这个volume就变成sensitive了;
  2. 然后需要知道要统计哪些信息(Hit中说明),将这些信息加和到一起

提取有用的信息(当建立一个程序时,需要关注建模physics list[粒子进入模型会发生什么反应需要知道,最好使用G4已经写好的physicslist]、useful information[我们想要统计的信息,全程自己写]、输出[输出形式,让想要收集的信息都可以写在这个文件中])。其中,第三部分—我们想要统计的信息:

三、写一些代码提取这些信息并存储输出的方法:
  1. Built-in scoring commands
  2. User scorers in the tracking volume
  3. Assign G4VSensitiveDetector to a volume to generate “hit”
  4. 使用User Hooks(继承G4VUserTrackongAction,G4UserSteppingAction…)便可以调用其中的方法进行统计
四、Hit(G4VHit , B2aTrackerHit)

含义:用于存储一些具体步骤的意思,每一个我们需要模拟和记录的信息(信息抓取)。自己写一个类B2aTrackerHit,用来继承G4VHit

做实验想要统计的一些物理变量信息(就B2a而言):(Hit所包含的信息)

  • the track identifier(an integer) - TrackID(进入到某一个体积内的粒子序号)
  • the chamber number
  • the toal energy deposit in this step(每一个step的能量沉积)
  • the position of the energy deposit(每一个step能量沉积下去时的位置)

和sensitive detector一起使用

Hit Collection(G4THitsCollection,用法类似vector,是用来存储我们收集到的Hit的,但是也不是完全类似,初始化的时候,需要指定两个G4String)

  • vector Vec:容器,用于储存double变量
  • G4THitsCollectionB2TrackerHitsCollection:容器,用于储存Hit变量,这个容器名叫G4THitsCollection,并给它一个变量叫B2TrackerHitsCollection,若B2TrackerHitsCollection容量为10个,那么里面有10个B2TrackerHit
  • typedef G4THitsCollectionB2TrackerHitsCollection
五、B2a简要介绍

大致可以看以下文件,通常都会继承G4已有的类,然后在此基础上写自己的方法代码

ReadMe:对该程序的解说,包含程序有什么、程序的模型是什么样的、怎么去发射、模型怎么样变化、程序运用了哪些东西(方法)、每个文件是什么用,写了什么…

ExampleB2a.cc(主程序)

ActionInitialization

PrimaryGeneratorAction

DetectorConstruction

TrackerSD

TrackerHit

EventAction

DetectorMessenger:改代码时,不需要去重新编译

RunAction

G4UserLimits:需要对每一个step设置一个最大步长(平均自由长),但只针对于chamber,不针对靶物质

G4StepLimiterPhysics

还可以看代码的结构,比如src文件夹下有哪些文件,每个文件都是干什么的,G4中给文件取名字都是保留类作用取命名

http://www.dtcms.com/a/462858.html

相关文章:

  • h5网站需要哪些技术欧模网室内设计网官网
  • 基于CNN和Transformer的分割技术的论文感悟
  • 怎么开设网站 优帮云简单描述一下网站制作的流程
  • 昌平网站建设自建房平面图设计软件
  • 佛山顺德网站建设公司哪家好做外贸网站的好处
  • 《计算》第九十章读书笔记
  • 快速掌握java中数组的排序
  • 从数据孤岛到生态协同:采购管理系统的跨系统集成方案
  • 厦门建站网址费用平台制作专业网站制作
  • 做网站的地方咋做网站
  • 提升板式换热器换热效率
  • 前端核心框架vue之项目篇(cli、vite 5/5)
  • 南昌网站建设咨询上海设计公司排名招聘
  • 网站用php做的吗网站建设的知名公司
  • 长春网站公司有哪些内容个人可以开发app软件吗
  • java-网络编程-UDP,TCP通信
  • 北京外包做网站如何报价抖音小程序变现教程
  • 邮箱域名可以做网站吗免费网站打包
  • 基于AT32的RT-Thread移植
  • 物流公司排名网站建设乐云seo
  • 组合两个表 与 从不订购的客户
  • 常熟企业网站建设2018做网站的软件
  • 嵌入式字符串解析自我批斗练习
  • PID控制器的不同的传递函数与参数形式
  • 网站建设与企业发展平面设计兼职接单
  • 网站 模板 下载青岛学网站建设的学校
  • vue啊哈哈哈哈哈哈哈哈
  • 广州网站设计实力乐云seo国外做美食的网站
  • Git安装与配置:操作步骤+Gitee绑定
  • 深圳网站建设补助网站非法篡改