fullseye

countrate_to_counts — REPRCONV algebra op

使い方

計数レート [Hz] → 計数 countscountrate の出口(可逆)。

単位が変換の全内容: [1/s] * [s] = [1]gate_s は積算窓の秒数で、 既定 1 ms。counts は「時間 bin ごとの光子数」の型なので、レート列を そのまま counts と名乗らせると桁が 7 つずれたまま黙って通る (TYPE_CHECKS はどちらも「非負の 1-D」としか見ていない)。

:func:counts_to_countrate と往復して実測 max|Δ| = 9.3e-10(値域が 1e3-1e7 Hz なので 相対 1e-16 = 倍精度の丸め 1 単位ぶん。絶対値だけ見ると大きく見えるので、 レートのように桁が広い量は相対で言う)。

2 度掛けても例外は出ないTYPE_TO_SORTcountratecounts に 畳んでいるので、出口が入口にそのまま繋がる。実測(2026-09-08、1,200 Hz を gate 1 ms で): 1 回で 1.2000 counts、もう 1 回通すと 0.0012 counts —— 1,000 倍の取り違えが、負の値も NaN も出さずに通る。値だけを見て 「レートか計数か」を判定する方法は無いので、この 1 件は検査でなく 呼ぶ側の規律で守るしかない(繋いだ経路を書き残すこと)。

Args: countrate: (N,) の非負レート [Hz]。 gate_s: 積算窓 [s]。> 0。 Returns: (N,) float64 の非負計数。 Raises: ValueError: 負のレート / gate_s <= 0 / 形状不正 / 非有限。

参考(サンプルデータ・文献)

実行できる例(この op を実際に呼ぶ検証済みサンプル)

型が繋がる次の op(counts を入力に取れる)

counts_to_countrate

同カテゴリ(algebra)

angle_to_matrix · matrix_to_angle · rot_scale_to_matrix · matrix_to_rot_scale · shift_to_vector · vector_to_shift · cscalar_to_polar · polar_to_cscalar


Provenance: reprconv.py — REPRCONV operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.