From 81e1171b0dee58e43a567cb84c2370c6b3f459ca Mon Sep 17 00:00:00 2001
From: Kevin Kuns <kevin.kuns@ligo.org>
Date: Tue, 20 Oct 2020 17:27:11 -0500
Subject: [PATCH] update FC parameter optimization

- Updated the filter cavity optimization to work with the recent precomp changes
- Removed a redundant argument in computeFCParams
---
 gwinc/squeeze.py | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/gwinc/squeeze.py b/gwinc/squeeze.py
index 5cbd9dcb..1dc304f8 100644
--- a/gwinc/squeeze.py
+++ b/gwinc/squeeze.py
@@ -1,27 +1,30 @@
 from numpy import pi, sqrt
 
 from . import const
+from .ifo.noises import ifo_power
 
 
 def sql(ifo):
     """Computer standard quantum limit (SQL) for IFO"""
     c = const.c
-    Parm = ifo.gwinc.parm
+    power = ifo_power(ifo)
     w0 = 2 * pi * c / ifo.Laser.Wavelength
-    m = ifo.Materials.MirrorMass
+    rho = ifo.Materials.Substrate.MassDensity
+    m = pi * ifo.Materials.MassRadius**2 * ifo.Materials.MassThickness * rho
     Titm = ifo.Optics.ITM.Transmittance
     Tsrm = ifo.Optics.SRM.Transmittance
     tSR = sqrt(Tsrm)
     rSR = sqrt(1 - Tsrm)
-    fSQL = (1/(2*pi))*(8/c)*sqrt((Parm*w0)/(m*Titm))*(tSR/(1+rSR))
+    fSQL = (1/(2*pi))*(8/c)*sqrt((power.parm*w0)/(m*Titm))*(tSR/(1+rSR))
     return fSQL
 
 
-def computeFCParams(ifo, fcParams):
+def computeFCParams(ifo):
     """Compute ideal filter cavity Tin, detuning [Hz] and bandwidth [Hz]
 
     """
     # FC parameters
+    fcParams = ifo.Squeezer.FilterCavity
     c = const.c
     fsrFC = c / (2 * fcParams.L)
     lossFC = fcParams.Lrt + fcParams.Te
@@ -40,7 +43,8 @@ def computeFCParams(ifo, fcParams):
     # input mirror transmission
     TinFC = 4 * pi * gammaFC / fsrFC - lossFC
     if TinFC < lossFC:
-        raise RuntimeError('IFC: Losses are too high! %.1f ppm max.' % 1e6 * gammaFC / fsrFC)
+        raise RuntimeError(
+            'IFC: Losses are too high! {:0.1f} ppm max.'.format(1e6 * gammaFC / fsrFC))
 
     # Add to fcParams structure
     fcParams.Ti = TinFC
-- 
GitLab