Add Package logic

This commit is contained in:
linarphy 2025-04-03 18:20:31 +02:00
parent f1b934c064
commit 90c40c6f69
Signed by: linarphy
GPG key ID: 434A18DA831BC610
5 changed files with 72 additions and 0 deletions

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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)