23 #include <lal/LALConstants.h>
24 #include <lal/LALStdlib.h>
25 #include <lal/LALString.h>
26 #include <lal/FrequencySeries.h>
27 #include <lal/Units.h>
28 #include <lal/LALSimReadData.h>
29 #include <lal/LALSimNoise.h>
32 static LALUnit strainSquaredPerHertzUnit = { 0, { 0, 0, 1, 0, 0, 2, 0}, { 0, 0, 0, 0, 0, 0, 0} };
36 #define LAL_ILIGO_ARMLENGTH_SI 3995.0
37 #define LAL_ILIGO_LASER_POWER_BS_SI 250.0
38 #define LAL_ILIGO_LASER_WAVELENGTH_SI 1.064e-6
39 #define LAL_ILIGO_FINESSE 220.0
40 #define LAL_ILIGO_MIRROR_MASS_SI 11.0
41 #define LAL_ILIGO_TEMPERATURE_SI 290.0
42 #define LAL_ILIGO_THERMAL_STACK_FREQ_SI 10.0
43 #define LAL_ILIGO_THERMAL_SUSP_FREQ_SI 0.76
44 #define LAL_ILIGO_THERMAL_SUSP_QUAL 1e6
45 #define LAL_ILIGO_THERMAL_COAT_FREQ_SI 1e4
46 #define LAL_ILIGO_THERMAL_COAT_QUAL 1e6
51 #define LAL_ALIGO_ARMLENGTH_SI 3995.0
52 #define LAL_ALIGO_LASER_POWER_LOW_SI 25.0
53 #define LAL_ALIGO_LASER_POWER_HIGH_SI 125.0
54 #define LAL_ALIGO_LASER_WAVELENGTH_SI 1.064e-6
55 #define LAL_ALIGO_MIRROR_MASS_SI 40.0
56 #define LAL_ALIGO_MIRROR_LOSS 37.5e-6
57 #define LAL_ALIGO_BS_LOSS 0.002
58 #define LAL_ALIGO_ITM_TRANSMITTANCE 0.014
59 #define LAL_ALIGO_PRM_TRANSMITTANCE 0.027
60 #define LAL_ALIGO_SRM_TRANSMITTANCE 0.2
63 #define LAL_ALIGO_TEMPERATURE_SI 290.0
64 #define LAL_ALIGO_THERMAL_SUSP_FREQ_SI 9.0
65 #define LAL_ALIGO_THERMAL_SUSP_QUAL 6e10
66 #define LAL_ALIGO_THERMAL_COAT_FREQ_SI 1e4
67 #define LAL_ALIGO_THERMAL_COAT_QUAL 6e6
70 #define T0900288 "LIGO-T0900288-v3-"
73 #define P1200087 "LIGO-P1200087-v18-"
76 #define P1600143 "LIGO-P1600143-v18-"
79 #define T1600593 "LIGO-T1600593-v1-"
82 #define T1800042 "LIGO-T1800042-v5-"
85 #define T1800044 "LIGO-T1800044-v5-"
88 #define T1800545 "LIGO-T1800545-v1-"
90 #define DEPRECATED_PSD(OLD_PSD, NEW_PSD) \
91 int OLD_PSD(REAL8FrequencySeries *psd, double flow) { \
92 XLAL_PRINT_DEPRECATION_WARNING ( #NEW_PSD ); \
93 return NEW_PSD(psd, flow); \
135 double A_pend = pow(f_pend / f, 2);
136 double A_stack = pow(f_stack / f, 2 * n_stack);
137 double S_ground = 1
e-18;
140 S_ground *= pow(10.0 / f, 4);
142 return S_ground * pow(A_pend * A_stack / L, 2);
170 return fac * pow(f0 / f, 5.0);
198 return fac * (f0 / f);
219 double f_pole = 1.0 / (4.0*
LAL_PI*tau_s);
223 return S_DC / pow(cabs(C_FAC), 2);
257 double Omega = 2.0*
LAL_PI*f;
259 double lambda_SR = A_BS;
260 double lambda_PD = 1.0 - eta;
261 double tau = sqrt(T_SRM);
262 double rho = sqrt(1.0 -
tau*
tau);
263 double phi = (
LAL_PI-ds)/2.0;
264 double lambda_arm = A*2.0;
265 double gamma_ac = T_ITM*
LAL_C_SI/(4.0*L);
266 double epsilon = lambda_arm/(2.0*gamma_ac*L/
LAL_C_SI);
267 double r1 = sqrt(1.0 - T_ITM);
268 double rarm = r1 - T_ITM * sqrt(1.0 - 2.0*A) / (1.0 - r1*sqrt(1.0 - 2.0*A));
269 double G_PRC = T_PRM/pow(1.0 + sqrt(1.0 - T_PRM)*rarm*sqrt(1.0 - A_BS), 2.0);
270 double I_0 = G_PRC*I0;
271 double I_SQL = (
M*L*L*pow(gamma_ac,4.0))/(4.0*omega_0);
272 double Kappa = 2.0*((I_0/I_SQL)*pow(gamma_ac,4.0))/(Omega*Omega*(gamma_ac*gamma_ac+Omega*Omega));
273 double beta = atan(Omega/gamma_ac);
274 double h_SQL = sqrt(8.0*
LAL_HBAR_SI/(
M*pow(Omega*L,2.0)));
277 COMPLEX16 C11_L = sqrt(1.0-lambda_PD) * ( (1.0+rho*rho) * ( cos(2.0*phi) + Kappa/2.0 * sin(2.0*phi) ) - 2.0*rho*cos(2.0*
beta) - 1.0/4.0*epsilon * ( -2.0 * (1.0+cexp(2.0*I*
beta))*(1.0+cexp(2.0*I*
beta)) * rho + 4.0 * (1.0+rho*rho) * pow(cos(
beta),2.0)*cos(2.0*phi) + ( 3.0+cexp(I*2.0*
beta) ) * Kappa * (1.0+rho*rho) * sin(2.0*phi) ) + lambda_SR * ( cexp(2.0*I*
beta)*rho-1.0/2.0 * (1.0+rho*rho) * ( cos(2.0*phi)+Kappa/2.0 * sin(2.0*phi) ) ) );
279 COMPLEX16 C12_L = sqrt(1.0-lambda_PD) *
tau*
tau * ( - ( sin(2.0*phi) + Kappa*pow(sin(phi),2.0) )+ 1.0/2.0*epsilon*sin(phi) * ( (3.0+cexp(2.0*I*
beta)) * Kappa * sin(phi) + 4.0*pow(cos(
beta),2.0) * cos(phi)) + 1.0/2.0*lambda_SR * ( sin(2.0*phi)+Kappa*pow(sin(phi),2.0)) );
280 COMPLEX16 C21_L = sqrt(1.0-lambda_PD) *
tau*
tau * ( (sin(2.0*phi)-Kappa*pow(cos(phi),2.0) ) + 1.0/2.0*epsilon*cos(phi) * ( (3.0+cexp(2.0*I*
beta) )*Kappa*sin(phi) - 4.0*pow(cos(
beta),2.0)*sin(phi) ) + 1.0/2.0*lambda_SR * ( -sin(2.0*phi) + Kappa*pow(cos(phi),2.0)) );
282 COMPLEX16 D1_L = sqrt(1.0-lambda_PD) * ( - (1.0+rho*cexp(2.0*I*
beta) ) * sin(phi) + 1.0/4.0*epsilon * ( 3.0+rho+2.0*rho*cexp(4.0*I*
beta) + cexp(2.0*I*
beta)*(1.0+5.0*rho) ) * sin(phi)+ 1.0/2.0*lambda_SR * cexp(2.0*I*
beta) * rho * sin(phi) );
283 COMPLEX16 D2_L = sqrt(1.0-lambda_PD) * ( - (-1.0+rho*cexp(2.0*I*
beta) ) * cos(phi) + 1.0/4.0*epsilon * ( -3.0+rho+2.0*rho*cexp(4.0*I*
beta) + cexp(2.0*I*
beta) * (-1.0+5.0*rho) ) * cos(phi)+ 1.0/2.0*lambda_SR * cexp(2.0*I*
beta) * rho * cos(phi) );
285 COMPLEX16 P11 = 1.0/2.0*sqrt(1-lambda_PD) * sqrt(lambda_SR) *
tau * ( -2.0*rho*cexp(2.0*I*
beta)+2.0*cos(2.0*phi)+Kappa*sin(2.0*phi) );
287 COMPLEX16 P12 = -sqrt(1.0-lambda_PD) * sqrt(lambda_SR)*
tau*sin(phi)*(2.0*cos(phi)+Kappa*sin(phi) );
288 COMPLEX16 P21 = sqrt(1.0-lambda_PD) * sqrt(lambda_SR)*
tau*cos(phi)*(2.0*sin(phi)-Kappa*cos(phi) );
290 COMPLEX16 Q11 = sqrt(lambda_PD) * ( cexp(-2.0*I*
beta)+rho*rho*cexp(2.0*I*
beta)-rho*(2.0*cos(2.0*phi)+Kappa*sin(2.0*phi)) + 1.0/2.0*epsilon*rho * (cexp(-2.0*I*
beta)*cos(2.0*phi)+cexp(2.0*I*
beta)* ( -2.0*rho-2.0*rho*cos(2.0*
beta)+cos(2.0*phi)+Kappa*sin(2.0*phi) ) + 2.0*cos(2.0*phi)+3.0*Kappa*sin(2.0*phi))-1.0/2.0*lambda_SR*rho * ( 2.0*rho*cexp(2.0*I*
beta)-2.0*cos(2.0*phi)-Kappa*sin(2.0*phi) ) );
295 COMPLEX16 N11 = sqrt(1.0-lambda_PD) * sqrt(epsilon/2.0)*
tau *(Kappa*(1.0+rho*cexp(2.0*I*
beta))*sin(phi)+2.0*cos(
beta)*(cexp(-I*
beta)*cos(phi)-rho*cexp(I*
beta)*(cos(phi)+Kappa*sin(phi))));
298 COMPLEX16 N21 = sqrt(1.0-lambda_PD)*sqrt(2.0*epsilon)*
tau*(-Kappa*(1.0+rho)*cos(phi)+2.0*cos(
beta)*(cexp(-I*
beta)+rho*cexp(I*
beta))*cos(
beta)*sin(phi));
303 double n = h_SQL*h_SQL/(2.0*Kappa*
tau*
tau*pow(cabs(D1_L*sin(
zeta)+D2_L*cos(
zeta)),2.0))*(
304 pow(cabs(C11_L*sin(
zeta)+C21_L*cos(
zeta)),2.0)+
305 pow(cabs(C12_L*sin(
zeta)+C22_L*cos(
zeta)),2.0)+
306 pow(cabs(P11*sin(
zeta)+P21*cos(
zeta)),2.0)+
307 pow(cabs(P12*sin(
zeta)+P22*cos(
zeta)),2.0)+
308 pow(cabs(Q11*sin(
zeta)+Q21*cos(
zeta)),2.0)+
309 pow(cabs(Q12*sin(
zeta)+Q22*cos(
zeta)),2.0)+
310 pow(cabs(N11*sin(
zeta)+N21*cos(
zeta)),2.0)+
311 pow(cabs(N12*sin(
zeta)+N22*cos(
zeta)),2.0));
336 const double aseis = 1.57271;
337 const double pseis = -14.0;
338 const double athrm = 3.80591e-19;
339 const double pthrm = -2.0;
340 const double ashot = 1.12277e-23;
341 const double fshot = 89.3676;
342 double seis = aseis * aseis * pow(f, 2.0*pseis);
343 double thrm = athrm * athrm * pow(f, 2.0*pthrm);
344 double shot = ashot * ashot * (1.0 + pow(f / fshot, 2.0));
345 return seis + thrm + shot;
403 const double eta = 0.9/3.0;
422 const double eta = 0.9;
451 return shot + seismic + thermal;
471 return shot + seismic + thermal;
497 return s0*( pow(7.87*
x,-4.8) + 6./17./
x + 1. +
x*
x);
509 REAL8 x, seismic, thermal, shot;
512 seismic = pow(10.,-16.) * pow(
x,-30.);
514 shot = 20. * (1 - pow(
x,2.) + 0.5 * pow(
x,4.)) / (1. + 0.5 * pow(
x,2.));
516 return 1
e-46*(seismic + thermal + shot);
531 return 7.18e-46*(1. + (f2/(1059.*1059.))) + (4.90e-41/f2) + (8.91e-43/f) + (1.6e-17/pow(f, 16.));
544 REAL8 seismic, thermal, shot,
x;
549 shot = 9. * (1. +
x*
x);
551 return 75.e-46*(seismic + thermal + shot);
595 const double eta = 0.9;
596 const double ds = 0.0;
625 const double eta = 0.9;
626 const double ds = 0.0;
655 const double eta = 0.9;
656 const double ds = 0.0;
685 const double eta = 0.9;
686 const double ds = 0.0;
715 const double eta = 0.9;
746 const double eta = 0.9;
747 const double I0 = 20.0;
777 const double eta = 0.9;
778 const double T_SRM = 0.011;
792 T_SRM, ds,
zeta, eta);
816 return quantum + thermal;
838 return quantum + thermal;
860 return quantum + thermal;
882 return quantum + thermal;
904 return quantum + thermal;
927 return quantum + thermal;
950 return quantum + thermal;
966 asd = 6.499e-25 * ( 9.72e-9*exp(-1.43 - 9.88*
x - 0.23*x2)
967 + 1.17*exp(0.14 - 3.10*
x - 0.26*x2)
968 + 1.70*exp(0.14 + 1.09*
x - 0.013*x2)
969 + 1.25*exp(0.071 + 2.83*
x - 4.91*x2) );
988 asd = 1.259e-24 * ( 0.07*exp(-0.142 - 1.437*
x + 0.407*x2)
989 + 3.1*exp(-0.466 - 1.043*
x - 0.548*x2)
990 + 0.4*exp(-0.304 + 2.896*
x - 0.293*x2)
991 + 0.09*exp(1.466 + 3.722*
x - 0.984*x2) );
1028 for (k = 0; k < kmin; ++k)
1068 if (n == (
size_t)(-1))
1073 for (
i = 0;
i < n; ++
i)
1092 if (kmin == 0 && psd->
f0 == 0.0)
1096 for (k = 0; k < kmin; ++k)
1099 double fk = psd->
f0 + k * psd->
deltaF;
1103 while (f[
i] < fk &&
i < n - 1)
1105 x = (f[
i] - fk) / (f[
i] - f[
i-1]);
1106 hk =
x * h[
i-1] + (1.0 -
x) * h[
i];
1108 psd->
data->
data[k] = exp(2.0 * hk);
1305 P1200087 "aLIGO_BNS_OPTIMIZED.txt");
1664 T1800545 "AdV_O4intermediate.txt");
1785 int test_iligo_psd(
void)
1787 const double eta = 0.9/3.0;
1789 FILE *
fp = fopen(
"psd_iligo.dat",
"w");
1790 for (f = 30.0; f < 8000.0; f *= 1.01) {
1823 fprintf(fp,
"%e\t%e\t%e\t%e\t%e\t%e\t%e\n", f, sqrt(S_shot + S_seis + S_susp + S_coat), sqrt(S_shot), sqrt(S_seis), sqrt(S_susp), sqrt(S_coat), sqrt(
XLALSimNoisePSDiLIGOSRD(f)));
1833 int test_aligo_psd(
void)
1836 FILE *
fp = fopen(
"psd_aligo.dat",
"w");
1837 for (f = 9.0; f < 3000.0; f *= 1.01)
1838 fprintf(fp,
"%e\t%e\t%e\t%e\t%e\t%e\t%e\n", f,
void LALCheckMemoryLeaks(void)
static double tau(const double a, const double b, const sysq *system)
Internal function that computes the spin-spin couplings.
static double beta(const double a, const double b, const sysq *system)
Internal function that computes the spin-orbit couplings.
int XLALSimNoisePSDaLIGOaLIGODesignSensitivityT1800044(REAL8FrequencySeries *psd, double flow)
int XLALSimNoisePSDaLIGOAdVO4T1800545(REAL8FrequencySeries *psd, double flow)
int XLALSimNoisePSDaLIGOKAGRA128MpcT1800545(REAL8FrequencySeries *psd, double flow)
int XLALSimNoisePSDaLIGOKAGRA80MpcT1800545(REAL8FrequencySeries *psd, double flow)
int XLALSimNoisePSDaLIGOaLIGO140MpcT1800545(REAL8FrequencySeries *psd, double flow)
int XLALSimNoisePSDaLIGOaLIGO175MpcT1800545(REAL8FrequencySeries *psd, double flow)
int XLALSimNoisePSDaLIGOAdVO3LowT1800545(REAL8FrequencySeries *psd, double flow)
int XLALSimNoisePSDaLIGOaLIGOO3LowT1800545(REAL8FrequencySeries *psd, double flow)
int XLALSimNoisePSDaLIGOKAGRA25MpcT1800545(REAL8FrequencySeries *psd, double flow)
int XLALSimNoisePSDaLIGOAdVO4IntermediateT1800545(REAL8FrequencySeries *psd, double flow)
#define LAL_ALIGO_PRM_TRANSMITTANCE
#define LAL_ILIGO_THERMAL_COAT_FREQ_SI
#define LAL_ILIGO_MIRROR_MASS_SI
#define LAL_ALIGO_MIRROR_MASS_SI
#define LAL_ILIGO_ARMLENGTH_SI
#define LAL_ALIGO_THERMAL_COAT_QUAL
#define LAL_ALIGO_TEMPERATURE_SI
#define LAL_ALIGO_THERMAL_SUSP_QUAL
#define LAL_ILIGO_FINESSE
#define DEPRECATED_PSD(OLD_PSD, NEW_PSD)
#define LAL_ALIGO_THERMAL_COAT_FREQ_SI
#define LAL_ALIGO_MIRROR_LOSS
#define LAL_ILIGO_LASER_WAVELENGTH_SI
#define LAL_ALIGO_BS_LOSS
static LALUnit strainSquaredPerHertzUnit
#define LAL_ALIGO_LASER_POWER_LOW_SI
#define LAL_ILIGO_THERMAL_COAT_QUAL
#define LAL_ALIGO_THERMAL_SUSP_FREQ_SI
#define LAL_ILIGO_THERMAL_STACK_FREQ_SI
#define LAL_ALIGO_LASER_POWER_HIGH_SI
#define LAL_ILIGO_LASER_POWER_BS_SI
#define LAL_ILIGO_THERMAL_SUSP_QUAL
#define LAL_ALIGO_ARMLENGTH_SI
#define LAL_ALIGO_ITM_TRANSMITTANCE
#define LAL_ALIGO_SRM_TRANSMITTANCE
#define LAL_ILIGO_TEMPERATURE_SI
#define LAL_ALIGO_LASER_WAVELENGTH_SI
#define LAL_ILIGO_THERMAL_SUSP_FREQ_SI
size_t XLALSimReadDataFile2Col(double **xdat, double **ydat, LALFILE *fp)
Read a two-column data file.
LALFILE * XLALSimReadDataFileOpen(const char *fname)
Opens a specified data file, searching default path if necessary.
int main(int argc, char *argv[])
double(* psdfunc)(double)
int XLALFileClose(LALFILE *file)
int XLALSimNoisePSDKAGRA25MpcT1800545(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to advanced KAGRA 25 Mpc ...
int XLALSimNoisePSDaLIGODesignSensitivityT1800044(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to an updated aLIGO confi...
double XLALSimNoisePSDeLIGOShot(double f)
Provides the shot noise power spectrum for eLIGO.
int XLALSimNoisePSDKAGRALateSensitivityT1600593(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to the KAGRA end-of-2020 ...
int XLALSimNoisePSDaLIGOHighFrequencyGWINC(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to the "High_Freq....
double XLALSimNoisePSDaLIGOQuantumZeroDetHighPower(double f)
Provides the quantum noise power spectrum for aLIGO under the high-power broad-band signal recycling ...
double XLALSimNoisePSDGEO(double f)
Provides a GEO noise power spectrum based on that from Table IV of .
int XLALSimNoisePSDAdVMidHighSensitivityP1200087(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to the AdV 2017-2018 high...
double XLALSimNoisePSDGEOHF(double f)
Provides a GEO-HF noise power spectrum based on a fit to Figure 6 from .
double XLALSimNoisePSDaLIGOQuantumHighFrequency(double f)
Provides the quantum noise power spectrum for aLIGO under the configuration tuned to narrow-band high...
int XLALSimNoisePSDaLIGOAPlusDesignSensitivityT1800042(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to the A+ configuration d...
int XLALSimNoisePSDaLIGOBNSOptimizedSensitivityP1200087(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to the aLIGO BNS-optimize...
int XLALSimNoisePSDaLIGOBHBH20DegGWINC(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to the "BBH_20deg....
double XLALSimNoisePSDSeismic(double f, double L, double f_pend, double f_stack, double n_stack)
Provides a rather ad-hoc estimate of the seismic noise power spectral density at a given frequency.
double XLALSimNoisePSDTAMA(double f)
Provides a TAMA300 noise power spectrum based on that from Table IV of .
int XLALSimNoisePSDAdVO3LowT1800545(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to advanced Virgo 65 Mpc ...
int XLALSimNoisePSDaLIGOMidHighSensitivityP1200087(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to the aLIGO 2016-2017 hi...
int XLALSimNoisePSDAdVEarlyHighSensitivityP1200087(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to the AdV 2016-2017 high...
int XLALSimNoisePSDaLIGOEarlyLowSensitivityP1200087(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to the aLIGO 2015 low-sen...
int XLALSimNoisePSDaLIGOLateHighSensitivityP1200087(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to the aLIGO 2017-2018 hi...
int XLALSimNoisePSDAdVLateLowSensitivityP1200087(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to the AdV 2018-2020 low-...
double XLALSimNoisePSDaLIGOQuantumNoSRMHighPower(double f)
Provides the quantum noise power spectrum for aLIGO under the high-power no-signal-recycling-mirror c...
int XLALSimNoisePSDAdVO4T1800545(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to advanced Virgo 120 Mpc...
int XLALSimNoisePSDAdVDesignSensitivityP1200087(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to the AdV 2021 design se...
double XLALSimNoisePSDaLIGOThermal(double f)
Provides the thermal noise (suspension + coating) power spectrum for aLIGO.
double XLALSimNoisePSDaLIGOZeroDetHighPower(double f)
Provides the noise power spectrum for aLIGO under the high-power broad-band signal recycling (no detu...
int XLALSimNoisePSDaLIGOMidLowSensitivityP1200087(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to the aLIGO 2016-2017 lo...
int XLALSimNoisePSDaLIGOO3LowT1800545(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to aLIGO O3 low 120 Mpc r...
int XLALSimNoisePSDFromFile(REAL8FrequencySeries *psd, double flow, const char *fname)
Reads file fname containing two-column amplitude spectral density data file and interpolates at the f...
int XLALSimNoisePSD(REAL8FrequencySeries *psd, double flow, double(*psdfunc)(double))
Evaluates a power spectral density function, psdfunc, at the frequencies required to populate the fre...
int XLALSimNoisePSDCosmicExplorerPessimisticP1600143(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to Cosmic Explorer (pessi...
double XLALSimNoisePSDaLIGONoSRMHighPower(double f)
Provides the noise power spectrum for aLIGO under the high-power no-signal-recycling-mirror configura...
int XLALSimNoisePSDaLIGONoSRMLowPowerGWINC(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to the "NO_SRM....
double XLALSimNoisePSDaLIGOQuantumBHBH20Deg(double f)
Provides the quantum noise power spectrum for aLIGO under the configuration tuned to optimize sensiti...
double XLALSimNoisePSDeLIGOModel(double f)
Provides the noise power spectrum for a model of the eLIGO detector.
double XLALSimNoisePSDaLIGOQuantumZeroDetLowPower(double f)
Provides the quantum noise power spectrum for aLIGO under the low-power broad-band signal recycling (...
double XLALSimNoisePSDiLIGOModel(double f)
Provides the noise power spectrum for a model of the iLIGO detector.
int XLALSimNoisePSDKAGRAMidSensitivityT1600593(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to the KAGRA start-of-202...
double XLALSimNoisePSDQuantum(double f, double I0, double lambda, double L, double M, double A, double A_BS, double T_ITM, double T_PRM, double T_SRM, double ds, double zeta, double eta)
Computes the quantum noise (shot noise and radiation pressure noise) according to Buonanno and Chen,...
int XLALSimNoisePSDaLIGODesignSensitivityP1200087(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to the aLIGO 2019 design ...
int XLALSimNoisePSDaLIGO175MpcT1800545(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to aLIGO 175 Mpc range (d...
double XLALSimNoisePSDaLIGONoSRMLowPower(double f)
Provides the noise power spectrum for aLIGO under the low-power no-signal-recycling-mirror configurat...
double XLALSimNoisePSDShot(double f, double P_BS, double lambda, double L, double finesse, double eta)
Computes the shot noise in strain-equivalent units using a conventional model appropriate to initial ...
int XLALSimNoisePSDaLIGOEarlyHighSensitivityP1200087(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to the aLIGO 2015 high-se...
double XLALSimNoisePSDaLIGOHighFrequency(double f)
Provides the noise power spectrum for aLIGO under the configuration tuned to narrow-band high-frequen...
double XLALSimNoisePSDiLIGOSeismic(double f)
Provides the seismic noise power spectrum for iLIGO.
int XLALSimNoisePSDaLIGOZeroDetLowPowerGWINC(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to the "ZERO_DET_low_P....
int XLALSimNoisePSDaLIGOLateLowSensitivityP1200087(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to the aLIGO 2017-2018 lo...
int XLALSimNoisePSDCosmicExplorerP1600143(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to Cosmic Explorer in LIG...
double XLALSimNoisePSDaLIGOQuantumNoSRMLowPower(double f)
Provides the quantum noise power spectrum for aLIGO under the low-power no-signal-recycling-mirror co...
int XLALSimNoisePSDCosmicExplorerWidebandP1600143(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to Cosmic Explorer (wideb...
int XLALSimNoisePSDaLIGONSNSOptGWINC(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to the "NSNS_Opt....
int XLALSimNoisePSDKAGRADesignSensitivityT1600593(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to the KAGRA design scena...
int XLALSimNoisePSDEinsteinTelescopeP1600143(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to Einstein Telescope in ...
double XLALSimNoisePSDaLIGONSNSOpt(double f)
Provides the noise power spectrum for aLIGO under the configuration tuned to optimize sensitivity to ...
int XLALSimNoisePSDaLIGO140MpcT1800545(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to aLIGO 140 Mpc range in...
double XLALSimNoisePSDAdvVirgo(double f)
Provides the noise power spectrum for AdvVirgo based on that from Eqn 6 of .
double XLALSimNoisePSDiLIGOShot(double f)
Provides the shot noise power spectrum for iLIGO.
double XLALSimNoisePSDSuspTherm(double f, double L, double M, double T, double f0, double Q)
Provides a rather ad-hoc estimate of the suspension thermal noise power spectral density at a given f...
double XLALSimNoisePSDMirrorTherm(double f, double L, double M, double T, double f0, double Q)
Provides a rather ad-hoc estimate of the mirror thermal noise power spectral density at a given frequ...
double XLALSimNoisePSDaLIGOZeroDetLowPower(double f)
Provides the noise power spectrum for aLIGO under the low-power broad-band signal recycling (no detun...
int XLALSimNoisePSDKAGRA128MpcT1800545(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to advanced KAGRA 128 Mpc...
int XLALSimNoisePSDAdVMidLowSensitivityP1200087(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to the AdV 2017-2018 low-...
int XLALSimNoisePSDKAGRA80MpcT1800545(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to advanced KAGRA 80 Mpc ...
int XLALSimNoisePSDKAGRAEarlySensitivityT1600593(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to the KAGRA 2019 early s...
double XLALSimNoisePSDiLIGOThermal(double f)
Provides the thermal noise (suspension + coating) power spectrum for iLIGO.
int XLALSimNoisePSDAdVO4IntermediateT1800545(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to advanced Virgo 100 Mpc...
int XLALSimNoisePSDKAGRAOpeningSensitivityT1600593(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to the KAGRA 2018 opening...
double XLALSimNoisePSDiLIGOSRD(double f)
Provides the noise power spectrum based on a phenomenological fit to the SRD curve for iLIGO.
int XLALSimNoisePSDAdVBNSOptimizedSensitivityP1200087(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to the AdV BNS-optimized ...
int XLALSimNoisePSDAdVEarlyLowSensitivityP1200087(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to the AdV 2016-2017 low-...
double XLALSimNoisePSDKAGRA(double f)
Provides the noise power spectrum for KAGRA based on that from Eqn 5 of .
double XLALSimNoisePSDVirgo(double f)
Provides the design noise power spectrum for Virgo based on a phenomenological fit (from the Virgo we...
double XLALSimNoisePSDaLIGOQuantumNSNSOpt(double f)
Provides the quantum noise power spectrum for aLIGO under the configuration tuned to optimize sensiti...
int XLALSimNoisePSDaLIGOZeroDetHighPowerGWINC(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to the "ZERO_DET_high_P....
double XLALSimNoisePSDaLIGOBHBH20Deg(double f)
Provides the noise power spectrum for aLIGO under the configuration tuned to optimize sensitivity to ...
int XLALSimNoisePSDAdVLateHighSensitivityP1200087(REAL8FrequencySeries *psd, double flow)
Returns a frequency series psd with low frequency cutoff flow corresponding to the AdV 2018-2020 high...
void XLALAbortErrorHandler(const char *func, const char *file, int line, int errnum)
XLALErrorHandlerType * XLALSetErrorHandler(XLALErrorHandlerType *newHandler)