Template for an I3Tray module in python.

class I3TrayModuleTemplate(icetray.I3ConditionalModule):
    def __init__(self,context):
        icetray.I3ConditionalModule.__init__(self, context)
        #self.AddParameter("opt1","Help message for parameter, parameter is required")
        #self.AddParameter("opt2","Help message for parameter, parameter is optional due to defaultValue","defaultValue")

    def Configure(self):
        #called once the module is added to the tray
        #self._opt1 = self.GetParameter("opt1")
        #self._opt2 = self.GetParameter("opt2")
        pass

    def Physics(self,frame):
        #function executed for P-frames
        #If frame is not pushed, other module will not see the frame
        #you can aso push multiple frames
        #self.PushFrame(frame) # to push frame
        pass

    def DAQ(self,frame):
        #same as the Physics function but for Q-frames
        pass

    def Finish(self):
        #called once the last frame is propagated to this module
        pass