def generate_ifoData( ifos, psdstart, psdlength, seglen, trigtime, srate=4096., ): args_raw = ['bagwacl_init'] for name, cache, flow, fhigh, channel in ifos: args_raw.append('--ifo') args_raw.append(str(name)) args_raw.append('--{}-cache'.format(name)) args_raw.append(str(cache)) args_raw.append('--{}-flow'.format(name)) args_raw.append(str(flow)) args_raw.append('--{}-channel'.format(name)) args_raw.append(str(channel)) args_raw.append('--psdstart') args_raw.append(str(psdstart)) args_raw.append('--psdlength') args_raw.append(str(psdlength)) args_raw.append('--seglen') args_raw.append(str(seglen)) args_raw.append('--trigtime') args_raw.append(str(trigtime)) #Add a data seed (use current system time) args_raw.append('--dataseed') args_raw.append(str(int(time.time()))) args = lal.StringVector() for arg in args_raw: args = lal.AppendString2Vector(args, arg) #Generate procParams data structure (shallow wrapper around command #line args) procParams = li.ParseCommandLineStringVector(args) #Call LALInferenceReadData to generate ifoData data structure #containing IFO/injection data etc. ifoData = li.ReadData(procParams) return ifoData
def inject_signal(ifoData, injfile, eventnum): args_raw = ['bagwacl_inject'] args_raw.append('--inj') args_raw.append(str(injfile)) args_raw.append('--event') args_raw.append(str(eventnum)) args = lal.StringVector() for arg in args_raw: args = lal.AppendString2Vector(args, arg) procParams = li.ParseCommandLineStringVector(args) li.InjectInspiralSignal(ifoData, procParams)
def __init__(self, argv): """ Parameters ---------- argv : list List of command line arguments that will be used to set up the lalinference state. (similar to argv) """ strvec = lal.CreateStringVector(argv[0]) for a in argv[1:]: strvec=lal.AppendString2Vector(strvec, a) procParams=li.ParseStringVector(strvec) self.state = li.InitRunState(procParams) self.state.commandLine=procParams li.InitCBCThreads(self.state,1) # This is what Nest does li.InjectInspiralSignal(self.state.data, self.state.commandLine) li.ApplyCalibrationErrors(self.state.data, procParams) if li.GetProcParamVal(procParams,'--roqtime_steps'): li.SetupROQdata(self.state.data, procParams) li.InitCBCPrior(self.state) li.InitLikelihood(self.state) li.InitCBCThreads(self.state,1)
lal.DimensionlessUnit, 10) ts.data.data = list(range(0, 10)) for i in range(0, 7): v = ts.data assert ((v.data == list(range(0, 10))).all()) del ts assert ((v.data == list(range(0, 10))).all()) del v lal.CheckMemoryLeaks() print("PASSED object parent tracking") # check equal return/first argument type handling print("checking equal return/first argument type handling") sv = lal.CreateStringVector("1") assert (sv.length == 1) lal.AppendString2Vector(sv, "2") assert (sv.length == 2) sv = lal.AppendString2Vector(sv, "3") assert (sv.length == 3) sv2 = lal.AppendString2Vector(sv, "4") assert (sv.length == 4) assert (sv2.length == 4) assert (sv == sv2) del sv del sv2 lal.CheckMemoryLeaks() ts = lal.CreateREAL8TimeSeries("ts", 800000000, 100, 0.1, lal.HertzUnit, 10) assert (ts.data.length == 10) lal.ResizeREAL8TimeSeries(ts, 0, 20) assert (ts.data.length == 20) ts = lal.ResizeREAL8TimeSeries(ts, 0, 30)