Live Event Dumper

Recieves triggered events from the detector and dumps them to a file.

from km3pipe import Pipeline, Module
from km3pipe.io.ch import CHPump
from km3pipe.io.daq import DAQProcessor

__author__ = "Tamas Gal <tgal@km3net.de>"


class Dumper(Module):
    def configure(self):
        self.counter = 0

    def process(self, blob):
        tag = str(blob["CHPrefix"].tag)
        data = blob["CHData"]
        self.dump(data, tag)
        print(blob["Hits"])
        return blob

    def dump(self, data, tag):
        with open("{0}-{1:06}.dat".format(tag, self.counter), "bw") as f:
            self.counter += 1
            f.write(data)


pipe = Pipeline()
pipe.attach(
    CHPump,
    host="xxx.xxx.xxx.xxx",
    port=5553,
    tags="IO_EVT",
    timeout=60 * 60 * 24,
    max_queue=42,
)
pipe.attach(DAQProcessor)
pipe.attach(Dumper)
pipe.drain()

Gallery generated by Sphinx-Gallery