Fix bug in building local list of valid files.
[u/mrichter/AliRoot.git] / MONITOR / AliOnlineRecoTrigger.h
CommitLineData
c989b443 1#ifndef ALIONLINERECOTRIGGER_H
2#define ALIONLINERECOTRIGGER_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7#include <TObject.h>
8#include <TSysEvtHandler.h>
9#include <TMutex.h>
10#include <TCondition.h>
11
12
13class AliOnlineRecoTrigger;
14class SORNotifier;
15
16class TerminateSignalHandler: public TSignalHandler {
17
18public:
19 TerminateSignalHandler(): TSignalHandler((ESignals) 0,0), fTrigger(0) { }
20 TerminateSignalHandler(AliOnlineRecoTrigger* trigger, ESignals signal):
21 TSignalHandler(signal, kFALSE), fTrigger(trigger) {}
22
23 virtual ~TerminateSignalHandler() { }
24 virtual Bool_t Notify();
25
26private:
27 TerminateSignalHandler(const TerminateSignalHandler& other);
28 TerminateSignalHandler& operator= (const TerminateSignalHandler& other);
29
30 AliOnlineRecoTrigger* fTrigger; // pointer to the current AliOnlineRecoTrigger
31
32 ClassDef(TerminateSignalHandler, 0)
33};
34
35class AliOnlineRecoTrigger: public TObject {
36
37public:
38 AliOnlineRecoTrigger();
39 virtual ~AliOnlineRecoTrigger();
40
41 virtual Bool_t Notify();
42 void Terminate();
43
44 Int_t Run();
45
46private:
47 AliOnlineRecoTrigger(const AliOnlineRecoTrigger& other);
48 AliOnlineRecoTrigger& operator= (const AliOnlineRecoTrigger& other);
49
50 Bool_t fNotified; // Notified flag
51 Bool_t fTerminate; // Terminate flag
52
53 TMutex fMutex; // Mutex
54 TCondition fCondition; // Condition
55
56 TerminateSignalHandler* fQuitSignalHandler; // Quit signal
57 TerminateSignalHandler* fInterruptSignalHandler; // Interrupt signal
58
59 ClassDef(AliOnlineRecoTrigger, 0)
60};
61
62#endif