From a133b8b1c7b0c8b98ae1ca81d4ad0b37bd273d13 Mon Sep 17 00:00:00 2001 From: Pim Nelissen Date: Fri, 20 Mar 2026 09:23:02 +0100 Subject: [PATCH] update landscape to work with new detector --- src/pg_rad/landscape/builder.py | 4 ++-- src/pg_rad/landscape/landscape.py | 5 +++-- src/pg_rad/main.py | 13 ++++--------- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/src/pg_rad/landscape/builder.py b/src/pg_rad/landscape/builder.py index b052734..56ca378 100644 --- a/src/pg_rad/landscape/builder.py +++ b/src/pg_rad/landscape/builder.py @@ -15,7 +15,7 @@ from pg_rad.inputparser.specs import ( RelativePointSourceSpec, DetectorSpec ) - +from pg_rad.detector.detector import load_detector from pg_rad.path.path import Path, path_from_RT90 from road_gen.generators.segmented_road_generator import SegmentedRoadGenerator @@ -161,7 +161,7 @@ class LandscapeBuilder: )) def set_detector(self, spec: DetectorSpec) -> Self: - self._detector = spec + self._detector = load_detector(spec.name) return self def _fit_landscape_to_path(self) -> None: diff --git a/src/pg_rad/landscape/landscape.py b/src/pg_rad/landscape/landscape.py index a386815..f5f5b86 100644 --- a/src/pg_rad/landscape/landscape.py +++ b/src/pg_rad/landscape/landscape.py @@ -1,7 +1,7 @@ import logging from pg_rad.path.path import Path -from pg_rad.detector.detectors import AngularDetector, IsotropicDetector +from pg_rad.detector.detector import Detector from pg_rad.objects.sources import PointSource @@ -18,7 +18,7 @@ class Landscape: path: Path, air_density: float, point_sources: list[PointSource], - detector: IsotropicDetector | AngularDetector, + detector: Detector, size: tuple[int, int, int] ): """Initialize a landscape. @@ -28,6 +28,7 @@ class Landscape: path (Path): The path of the detector. air_density (float): Air density in kg/m^3. point_sources (list[PointSource]): List of point sources. + detector (Detector): The detector object. size (tuple[int, int, int]): Size of the world. """ diff --git a/src/pg_rad/main.py b/src/pg_rad/main.py index b31db63..4a81386 100644 --- a/src/pg_rad/main.py +++ b/src/pg_rad/main.py @@ -4,7 +4,6 @@ import sys from pandas.errors import ParserError -from pg_rad.detector.builder import DetectorBuilder from pg_rad.exceptions.exceptions import ( MissingConfigKeyError, OutOfBoundsError, @@ -56,7 +55,9 @@ def main(): acquisition_time: 1 path: - length: 1000 + length: + - 500 + - 500 segments: - straight - turn_left: 45 @@ -69,19 +70,15 @@ def main(): isotope: Cs137 gamma_energy_keV: 661 - detector: - name: dummy - is_isotropic: True + detector: LU_NaI_3inch """ cp = ConfigParser(test_yaml).parse() landscape = LandscapeDirector.build_from_config(cp) - detector = DetectorBuilder(cp.detector).build() output = SimulationEngine( landscape=landscape, runtime_spec=cp.runtime, sim_spec=cp.options, - detector=detector ).simulate() plotter = ResultPlotter(landscape, output) @@ -91,10 +88,8 @@ def main(): try: cp = ConfigParser(args.config).parse() landscape = LandscapeDirector.build_from_config(cp) - detector = DetectorBuilder(cp.detector).build() output = SimulationEngine( landscape=landscape, - detector=detector, runtime_spec=cp.runtime, sim_spec=cp.options ).simulate()