castor什么时候已有的 .cdh 数据可以直接用,不需要重新从 root 转换?

castor-GATERootToCastor \ -i mouse001-total100.root \ -o mouse1 \ -m main.mac \ -s mobymouse200

它的作用是: 把 GATE 输出的 ROOT → 转成 CASToR 可用的 .cdh/.cdf 数据


只要以下任何一个条件发生变化,必须重新生成 .cdh

否则可以直接用旧的。


不需要重新生成 .cdh 的情况

可以直接复用 .cdh,如果:

✅ 1. ROOT 数据没变

  • 同一个 .root 文件

  • 没重新跑 GATE

  • 没合并/裁剪数据

数据源没变 → .cdh 不用重做


✅ 2. 只是改重建参数(CASToR重建阶段)

比如只是改:

  • iteration 数

  • subset 数

  • 滤波参数

  • 正则项

  • 重建算法(MLEM / OSEM)

这些 都在 reconstruction 阶段 ,不影响 .cdh


✅ 3. 只是改输出路径/文件名

这个不影响数据内容


❗ 必须重新生成 .cdh 的情况(重点)

只要下面任意一条成立,就必须重新跑 GATERootToCastor


🚨 1. ROOT 文件变了(最常见)

比如:

  • 重新模拟了 GATE

  • 改了统计量(100 → 200 million events)

  • 改了 source / phantom

  • 合并了多个 root

.cdh 是从 ROOT 解析出来的 → 必须重做


🚨 2. 改了 system model(-s mobymouse200)

-s mobymouse200

这个非常关键!!

👉 它定义了:

  • 探测器结构

  • 晶体排布

  • LOR 几何

如果改了:

mobymouse200 → mobymouse400

👉 ❌ 旧 .cdh 完全不能用


🚨 3. 改了 macro 文件(-m main.mac)

这个也很关键:

-m main.mac

如果改了里面这些:

  • 能量窗口

  • coincidence 设置

  • 时间窗口

  • digitizer 参数

👉 ❌ 必须重新生成 .cdh


🚨 4. 改了数据筛选方式(事件选择)

比如:

  • 加了能量筛选

  • 去掉 scatter/random

  • 改 coincidence policy

👉 .cdh 记录的是"事件级数据结构"

→ 改筛选规则就必须重做


🚨 5. 改了 TOF / 非TOF设置

如果你:

  • 开启/关闭 TOF

  • 改 TOF resolution

👉 .cdh 格式会变 → 必须重做


🚨 6. 改了 list-mode / histogram 模式

CASToR 支持:

  • list-mode

  • histogram

👉 模式不同 → .cdh 不通用



对当前命令的具体判断

castor-GATERootToCastor \ -i mouse001-total100.root \ -o mouse1 \ -m main.mac \ -s mobymouse200

只要这 3 个没变:

  • mouse001-total100.root

  • main.mac

  • mobymouse200

✅ 就不需要重新生成 .cdh

相关推荐
GeW13 小时前
新质生产力路线图Linux、数据库、国产化替代一次讲透
linux
aningx15 小时前
cachyos 从 GRUB 切换到 rEFInd
linux
第404号工位16 小时前
40块钱二手瘦客户端,如何跑满家庭物联网中枢?(拒绝Docker爆盘实录)
linux·架构·node.js
骑着蜗牛撵大象32718 小时前
Linux 进程间通信之管道:从 pipe() 的内核语义到 FIFO 落地排错
android·java·linux·系统编程·fifo·管道·进程间通信
..Dauntless..18 小时前
【Linux】一切皆文件和缓冲区
linux·运维·服务器
QMCY_jason18 小时前
x86 ubuntu2204 无gui 安装 openeuler 2203 aarch64版本
linux·运维·服务器
重生之小比特19 小时前
【Linux系统】12 进程程序替换 自定义Shell 命令行解释器
linux·运维·服务器
あ-19 小时前
CubeSandBox配置CubeMaster CPU 超分
linux·运维·服务器
Escalating_xu19 小时前
【Linux 网络编程】TCP Socket 编程(上):从 listen、accept 到完整回显通信
linux·网络·tcp/ip
老秦包你会19 小时前
Linux第十课---------Linux信号
linux