RmfBase#

class jinwu.core.RmfBase(path: Path, header: Dict[str, Any], meta: Any, headers_dump: Any, energ_lo: np.ndarray = <factory>, energ_hi: np.ndarray = <factory>, n_grp: Optional[np.ndarray] = None, f_chan: Optional[np.ndarray] = None, n_chan: Optional[np.ndarray] = None, matrix: np.ndarray = <factory>, channel: Optional[np.ndarray] = None, e_min: Optional[np.ndarray] = None, e_max: Optional[np.ndarray] = None, columns: Tuple[str, ...] = ())[source]#

Bases: OgipResponseBase

Pure field-only base dataclass for RMF response data.

Attributes Summary

Methods Summary

get_keyword_ci(key[, default])

大小写不敏感地从 header 中读取关键字(若 header 为 dict).

validate()

通用层:仅检查路径与 header 存在性。子类会扩展。

Attributes Documentation

REQUIRED_COLUMNS_ARF = ['ENERG_LO', 'ENERG_HI', 'SPECRESP']#
REQUIRED_COLUMNS_RMF_MIN = ['ENERG_LO', 'ENERG_HI', 'MATRIX']#
REQUIRED_KEYS_ANY = [['TELESCOP'], ['INSTRUME'], ['DETNAM', 'DETNAME']]#
channel: ndarray | None#
columns: Tuple[str, ...]#
e_max: ndarray | None#
e_min: ndarray | None#
energ_hi: ndarray#
energ_lo: ndarray#
f_chan: ndarray | None#
header: Dict[str, Any]#
headers_dump: Any#
kind: ClassVar[Literal['rmf']] = 'rmf'#
matrix: ndarray#
meta: Any#
n_chan: ndarray | None#
n_grp: ndarray | None#
path: Path#
validation#

Methods Documentation

get_keyword_ci(key: str, default: Any | None = None) Any#

大小写不敏感地从 header 中读取关键字(若 header 为 dict).

返回关键字值或提供的 default。便于统一处理 FITS 关键字的大小写差异。

validate() ValidationReport#

通用层:仅检查路径与 header 存在性。子类会扩展。