1 #ifndef ALIONLINERECOTRIGGER_H
2 #define ALIONLINERECOTRIGGER_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
8 #include <TSysEvtHandler.h>
10 #include <TCondition.h>
13 class AliOnlineRecoTrigger;
16 class TerminateSignalHandler: public TSignalHandler {
19 TerminateSignalHandler(): TSignalHandler((ESignals) 0,0), fTrigger(0) { }
20 TerminateSignalHandler(AliOnlineRecoTrigger* trigger, ESignals signal):
21 TSignalHandler(signal, kFALSE), fTrigger(trigger) {}
23 virtual ~TerminateSignalHandler() { }
24 virtual Bool_t Notify();
27 TerminateSignalHandler(const TerminateSignalHandler& other);
28 TerminateSignalHandler& operator= (const TerminateSignalHandler& other);
30 AliOnlineRecoTrigger* fTrigger; // pointer to the current AliOnlineRecoTrigger
32 ClassDef(TerminateSignalHandler, 0)
35 class AliOnlineRecoTrigger: public TObject {
38 AliOnlineRecoTrigger();
39 virtual ~AliOnlineRecoTrigger();
41 virtual Bool_t Notify();
47 AliOnlineRecoTrigger(const AliOnlineRecoTrigger& other);
48 AliOnlineRecoTrigger& operator= (const AliOnlineRecoTrigger& other);
50 Bool_t fNotified; // Notified flag
51 Bool_t fTerminate; // Terminate flag
53 TMutex fMutex; // Mutex
54 TCondition fCondition; // Condition
56 TerminateSignalHandler* fQuitSignalHandler; // Quit signal
57 TerminateSignalHandler* fInterruptSignalHandler; // Interrupt signal
59 ClassDef(AliOnlineRecoTrigger, 0)