![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Geant4
文章平均质量分 77
HardRyan
这个作者很懒,什么都没留下…
展开
-
Geant4 Tips: Optical/Scintillation
/ Mie。原创 2024-04-06 20:44:22 · 829 阅读 · 1 评论 -
Geant4 Tips:Detector Response & Analysis
关于Sensitive Detector 和 Anaysls Manger的使用方法有多种,对于Sensitive Detector 可以通过ProcessHit 方法利用传入的G4Step对象获取变量,或者通过G4MultiFuncionalDetector,通过HitMap来获取变量,在最一般的场合,两种可以相互替代,在其他场景也各有各的优势。原创 2024-04-02 20:36:17 · 291 阅读 · 1 评论 -
Geant4 Tips: Visualization
根据以上内容,我们可以写一个比较容易解读的vis.mac如果有需要,我们还可以调整trajectory处理的时机以优化渲染过程,略去一些不重要的volume或者在一些关键的部位作切片观察。除了这些UI command, 我们还能够在代码中进行设置,自定义Hit类,调用Hit的Draw方法来实现Hits的可视化。原创 2024-04-01 18:58:44 · 560 阅读 · 0 评论 -
Geant4: Book for Toolkit Developers 阅读笔记(上)
本文是官网的阅读笔记,熟悉的读者也许会感到和其他文档有许多重复的内容。然而笔者仍然感到一些整理、概括的必要性,因此有了这篇笔记。原创 2024-03-25 16:06:39 · 731 阅读 · 1 评论 -
Geant4: 官方文档第一遍阅读笔记(3)
如果还需要实现自定义的TrajectoryPoint对象,那么还需要再自定义的Trajectory中创建对应的AppendStep()方法,在其中调用我们自定义的TrajectoryPoint对象。其中值得关注的对象是G4Track, 和SecondaryList。在其中的Stepping中,进行每一步Step的计算,顺序为。G4Track保存当前粒子的信息,因此它只保留Step中的瞬态数据,每次Step后其中间值都会被更新。Step存储每个Step中的瞬态信息,例如Step的两点,和两点之间数据的变化。原创 2023-10-25 21:38:21 · 133 阅读 · 1 评论 -
Geant4: 官方文档第一遍阅读笔记(2)
注意,G4Allocator只被没有继承的基类使用,如果设置了G4Allocator,就不要写自己的Trajectory类,因为G4Trajectory类依赖于G4Allocator,而被继承后的类无法调用。touchable能够获得Tracking过程中涉及的geometry的信息,虽然Tracking在实际的调用过程中不是使用touchable对象完成的信息的获取。一个Logical Volume代表了一系列其中的Volume的嵌套结构,虽然具体的位置信息不记录,但是记录了相关的包含与被包含的信息。原创 2023-10-24 21:50:01 · 148 阅读 · 0 评论 -
Geant4:官方文档第一遍阅读笔记(1)
本文为官方文档For Application Developer的阅读笔记,仅供参考。原创 2023-10-23 22:06:53 · 179 阅读 · 1 评论 -
Geant4 案例分析(二):B2
如果需要得到粒子在特定volume中的能量沉积,可以通过定义SensitiveDetector,当粒子进入SensitiveDetector中,操作将会转给ProcessHit, 可以在其中定义需要的操作。HitCollection 因此是用于在SensitiveDetector文件中用于记录SD中的Hit的信息的。B2a中重定义的Hit只是增加了绘画和打印的功能,删去对运行没有影响。通常的信息,如能量沉积,位置,所在volume,要通过Step得到。用于交互式改变其中volume的材料。原创 2023-10-18 10:27:03 · 372 阅读 · 0 评论 -
Geant4 案例分析(一): B1
本文是对Geant4 B1的案例分析,其中特定的功能不做介绍,而注重于各个文件的主要功能,以及它们组织的方式。原创 2023-10-14 21:32:21 · 448 阅读 · 1 评论 -
Geant4 案例分析(五):B5
除了在B5中,B2中也有使用Messenger,两者的使用方法是不同的,在B2中通过Messenger改变材料和步长等附属属性,而B5中则直接更改了整体的Geometry,不清楚两者目的的区别是否对使用方法有更深的影响,但是可以肯定的是在B5中的语句显然是与Geometry的Run共享的特性相关的,必须要声明Geometry的修改。回到主题,B2和B5中的Messenger不同使用方法B2是在G4UIMessenger的基础上进行自定义,而B5直接调用了G4GenericMessenger。原创 2024-03-14 18:32:08 · 344 阅读 · 1 评论 -
Geant4 案例分析(四):B4
d方案由于使用PrimitiveScorer,因此不需要SteppingAction.cc文件,它过滤数据的方式是使用Geant4中的Fileter(见对应的DetectorConstruction)用于输出更加自定义的数据(相比于GTScoreNtupleWriter而言),a-d四种输出方式的区别在于如何调用和输出AnalysisManager。值得一提的是,由于a与d方案中调用AnalysisManager录入数据的来源方式不同,对于数据的操作也不懂。在event中录入Step中累计的值。原创 2023-10-18 11:39:06 · 311 阅读 · 2 评论 -
Geant4 案例分析(三):B3
同时Scorer的结果 也能通过G4TScoreNtupleWriter输出scoring.root,只需要声明即可。首先定义detector,并且赋予其一个scorer,一个detector可以存在不止一个scorer。通过Scorer可以在event中获得HitMap,进而获得其他详细信息。利用HitMap,对Accumulable进行修改。原创 2023-10-18 11:09:49 · 194 阅读 · 0 评论