import os from pathlib import Path STATE_PATH = Path(os.environ.get("STATE_PATH", "/data/monitor_state.json")) CPS_LOG_PATH = Path(os.environ.get("CPS_LOG_PATH", "/data/cps_log.jsonl")) BACKGROUND_PATH = Path(os.environ.get("BACKGROUND_PATH", "/data/background_24h.npy")) BACKGROUND_SNAPSHOT_PATH = Path(os.environ.get("BACKGROUND_SNAPSHOT_PATH", "/data/background_snapshot.json")) LOG_DIR = Path(os.environ.get("LOG_DIR", "/logs")) ISOTOPE_INDEX_PATH = Path(os.environ.get("ISOTOPE_INDEX_PATH", "/models/vega_isotope_index.txt")) ENERGY_OFFSET = float(os.environ.get("ENERGY_CALIBRATION_OFFSET", "0.33")) ENERGY_SLOPE = float(os.environ.get("ENERGY_CALIBRATION_SLOPE", "2.97")) NUM_CHANNELS = 1023 # Last channel (1023) is overflow bin, excluded from display def energy_axis(): """Generate energy axis in keV from channel numbers.""" return [round(ENERGY_OFFSET + ENERGY_SLOPE * i, 2) for i in range(NUM_CHANNELS)]