Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
    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)
Ejemplo n.º 4
0
                               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)