From 0765cbac9c2f05af68924d52cc1b7ef3f674ef5c Mon Sep 17 00:00:00 2001 From: linarphy Date: Thu, 3 Apr 2025 18:21:52 +0200 Subject: [PATCH] Add measurement logic --- src/backscattering_analyzer/__init__.py | 3 +++ src/backscattering_analyzer/measurement.py | 29 ++++++++++++++++++++++ src/backscattering_analyzer/sensitivity.py | 5 ++++ 3 files changed, 37 insertions(+) create mode 100644 src/backscattering_analyzer/__init__.py create mode 100644 src/backscattering_analyzer/measurement.py create mode 100644 src/backscattering_analyzer/sensitivity.py diff --git a/src/backscattering_analyzer/__init__.py b/src/backscattering_analyzer/__init__.py new file mode 100644 index 0000000..db19a4b --- /dev/null +++ b/src/backscattering_analyzer/__init__.py @@ -0,0 +1,3 @@ +from logging import getLogger + +logger = getLogger(__name__) diff --git a/src/backscattering_analyzer/measurement.py b/src/backscattering_analyzer/measurement.py new file mode 100644 index 0000000..15c8122 --- /dev/null +++ b/src/backscattering_analyzer/measurement.py @@ -0,0 +1,29 @@ +from backscattering_analyzer.bench import Bench +from backscattering_analyzer.package.measurement import ( + Measurement as Package, +) + + +class Measurement: + def __init__(self, package: Package): + self.name = package.metadata.name + self.description = package.metadata.description + self.injection_power = package.metadata.injection_power + self.dark_fringe_power = package.metadata.dark_fringe_power + + self.benches: list[Bench] = [] + for i in range(len(package.benches)): + bench = package.benches[i] + mirror = package.mirrors[i] + movement = ( + bench.metadata.factor_calib * bench.signal + - mirror.metadata.factor_calib * mirror.signal + ) + self.benches.append( + Bench( + name=bench.metadata.name, + fsc=bench.metadata.fsc, + movement=movement, + ) + ) + self.sensitivity = package.sensitivity diff --git a/src/backscattering_analyzer/sensitivity.py b/src/backscattering_analyzer/sensitivity.py new file mode 100644 index 0000000..489bb10 --- /dev/null +++ b/src/backscattering_analyzer/sensitivity.py @@ -0,0 +1,5 @@ +from gwpy.frequencyseries import FrequencySeries + + +class sensitivity(FrequencySeries): + pass