From 90c40c6f699d53b76a5475ff9b7fd41b87f3173e Mon Sep 17 00:00:00 2001 From: linarphy Date: Thu, 3 Apr 2025 18:20:31 +0200 Subject: [PATCH] Add Package logic --- .../package/__init__.py | 13 +++++++++++ src/backscattering_analyzer/package/bench.py | 13 +++++++++++ .../package/measurement.py | 23 +++++++++++++++++++ src/backscattering_analyzer/package/mirror.py | 14 +++++++++++ .../package/packagesection.py | 9 ++++++++ 5 files changed, 72 insertions(+) create mode 100644 src/backscattering_analyzer/package/__init__.py create mode 100644 src/backscattering_analyzer/package/bench.py create mode 100644 src/backscattering_analyzer/package/measurement.py create mode 100644 src/backscattering_analyzer/package/mirror.py create mode 100644 src/backscattering_analyzer/package/packagesection.py diff --git a/src/backscattering_analyzer/package/__init__.py b/src/backscattering_analyzer/package/__init__.py new file mode 100644 index 0000000..b004465 --- /dev/null +++ b/src/backscattering_analyzer/package/__init__.py @@ -0,0 +1,13 @@ +from backscattering_analyzer.package.measurement import Measurement +from backscattering_analyzer.package.metadata.package import ( + Package as Metadata, +) +from backscattering_analyzer.package.packagesection import ( + PackageSection, +) + + +class Package(PackageSection): + def __init__(self, metadata: Metadata, measurement: Measurement): + self.metadata = metadata + self.measurement = measurement diff --git a/src/backscattering_analyzer/package/bench.py b/src/backscattering_analyzer/package/bench.py new file mode 100644 index 0000000..0319069 --- /dev/null +++ b/src/backscattering_analyzer/package/bench.py @@ -0,0 +1,13 @@ +from backscattering_analyzer.package.packagesection import ( + PackageSection, +) +from backscattering_analyzer.package.metadata.bench import ( + Bench as BenchMetadata, +) +from gwpy.timeseries import TimeSeries + + +class Bench(PackageSection): + def __init__(self, metadata: BenchMetadata, signal: TimeSeries): + self.metadata = metadata + self.signal = signal diff --git a/src/backscattering_analyzer/package/measurement.py b/src/backscattering_analyzer/package/measurement.py new file mode 100644 index 0000000..b011f65 --- /dev/null +++ b/src/backscattering_analyzer/package/measurement.py @@ -0,0 +1,23 @@ +from gwpy.frequencyseries import FrequencySeries +from backscattering_analyzer.package.packagesection import ( + PackageSection, +) +from backscattering_analyzer.package.metadata.measurement import ( + Measurement as Metadata, +) +from backscattering_analyzer.package.mirror import Mirror +from backscattering_analyzer.package.bench import Bench + + +class Measurement(PackageSection): + def __init__( + self, + metadata: Metadata, + sensitivity: FrequencySeries, + mirrors: list[Mirror], + benches: list[Bench], + ): + self.metadata = metadata + self.sensitivity = sensitivity + self.mirrors = mirrors + self.benches = benches diff --git a/src/backscattering_analyzer/package/mirror.py b/src/backscattering_analyzer/package/mirror.py new file mode 100644 index 0000000..1da64ca --- /dev/null +++ b/src/backscattering_analyzer/package/mirror.py @@ -0,0 +1,14 @@ +from gwpy.timeseries import TimeSeries + +from backscattering_analyzer.package.packagesection import ( + PackageSection, +) +from backscattering_analyzer.package.metadata.mirror import ( + Mirror as Metadata, +) + + +class Mirror(PackageSection): + def __init__(self, metadata: Metadata, signal: TimeSeries): + self.metadata = metadata + self.signal = signal diff --git a/src/backscattering_analyzer/package/packagesection.py b/src/backscattering_analyzer/package/packagesection.py new file mode 100644 index 0000000..260e25e --- /dev/null +++ b/src/backscattering_analyzer/package/packagesection.py @@ -0,0 +1,9 @@ +from typing import Any + + +class PackageSection: + def get(self, attribute: str): + return getattr(self, attribute) + + def set(self, attribute: str, value: Any): + setattr(self, attribute, value)