| A: |
With ldas-0.7.0, only output targetted for the WRAPPER uses the
name value of the output() action. In 0.8.0, all targets will use
the value specified in the name value of the output() action. A work around
is to send the data to the libio dso in the wrapperAPI. An
example of how to do this is:
dataPipeline
-subject {obtaining calibration and FFT data}
-returnprotocol file:H2H1-CAL+FS+DEBUG_1-733543750-1024.gwf
-dynlib /ldas/lib/wrapperAPI/libio.so
-filterparams (0)
-outputformat frame
-datacondtarget wrapper
-multidimdatatarget frame
-setsingleem 1
-framequery {
{ RDS_R_L1 H {} 733543750-733544774 adc(H2:LSC-AS_Q,H1:LSC-AS_Q) }
{ SenseMonitor_H2_M H {} 733543750-733544774 adc(H2:CAL-CAV_FAC.mean,H2:CAL-OLOOP_FAC.mean) }
{ SenseMonitor_H1_M H {} 733543750-733544774 adc(H1:CAL-CAV_FAC.mean,H1:CAL-OLOOP_FAC.mean) }
{ CAL_REF H {} 729320845-729320908 proc(H2:CAL-CAV_GAIN!0!7000.0000!,H2:CAL-RESPONSE!0!7000.0000!) }
{ CAL_REF H {} 729326128-729326191 proc(H1:CAL-CAV_GAIN!0!7000.0000!,H1:CAL-RESPONSE!0!7000.0000!) }
}
-aliases {
ifo1_asq_chan = H2\:LSC-AS_Q;
ifo1_alpha_ts = H2\:CAL-CAV_FAC.mean;
ifo1_gamma_ts = H2\:CAL-OLOOP_FAC.mean;
ifo1_sensing = H2\:CAL-CAV_GAIN;
ifo1_reference = H2\:CAL-RESPONSE;
ifo2_asq_chan = H1\:LSC-AS_Q;
ifo2_alpha_ts = H1\:CAL-CAV_FAC.mean;
ifo2_gamma_ts = H1\:CAL-OLOOP_FAC.mean;
ifo2_sensing = H1\:CAL-CAV_GAIN;
ifo2_reference = H1\:CAL-RESPONSE;
}
-algorithms {
alphas = double(ifo1_alpha_ts);
gammas = double(ifo1_gamma_ts);
alphas = complex(alphas);
gammas = complex(gammas);
alpha_t = getElement(alphas,0);
gamma_t = getElement(gammas,0);
ifo1_open_gain = mul(ifo1_sensing, ifo1_reference);
ifo1_open_gain = sub(ifo1_open_gain, 1);
ifo1_response = mul(gamma_t, ifo1_open_gain);
ifo1_response = add(1, ifo1_response);
ifo1_response = div(ifo1_response, ifo1_sensing);
ifo1_response = div(ifo1_response, alpha_t);
ifo1_response = fseries(ifo1_response, 0.0, 0.015625, 733543750, 0, 733544774, 0);
alphas = double(ifo2_alpha_ts);
gammas = double(ifo2_gamma_ts);
alphas = complex(alphas);
gammas = complex(gammas);
alpha_t = getElement(alphas,0);
gamma_t = getElement(gammas,0);
ifo2_open_gain = mul(ifo2_sensing, ifo2_reference);
ifo2_open_gain = sub(ifo2_open_gain, 1);
ifo2_response = mul(gamma_t, ifo2_open_gain);
ifo2_response = add(1, ifo2_response);
ifo2_response = div(ifo2_response, ifo2_sensing);
ifo2_response = div(ifo2_response, alpha_t);
ifo2_response = mul(ifo2_response, 0.783783783784);
ifo2_response = fseries(ifo2_response, 0.0, 0.015625, 733543750, 0, 733544774, 0);
output(ifo1_response, _, _, H2:CAL-RESPONSE, H2:CAL-RESPONSE_FSERIES_0-7000);
output(ifo2_response, _, _, H1:CAL-RESPONSE, H1:CAL-RESPONSE_FSERIES_0-7000);
ifo1_fseries = slice(ifo1_asq_chan,0,1048576,1);
ifo1_fseries = fft(ifo1_fseries);
ifo1_fseries = slice(ifo1_fseries,0,448000,1);
ifo1_fseries = fseries(ifo1_fseries, 0., 0.015625, 733543750, 0, 733543814, 0);
ifo2_fseries = slice(ifo2_asq_chan,0,1048576,1);
ifo2_fseries = fft(ifo2_fseries);
ifo2_fseries = slice(ifo2_fseries,0,448000,1);
ifo2_fseries = fseries(ifo2_fseries, 0., 0.015625, 733543750, 0, 733543814, 0);
output(ifo1_fseries, _, _, H2:LSC-AS_Q_FFT, H2:LSC-AS_Q_FSERIES_0-7000);
output(ifo2_fseries, _, _, H1:LSC-AS_Q_FFT, H1:LSC-AS_Q_FSERIES_0-7000);
}
|