]>
Commit | Line | Data |
---|---|---|
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 | ||
13 | class AliOnlineRecoTrigger; | |
14 | class SORNotifier; | |
15 | ||
16 | class TerminateSignalHandler: public TSignalHandler { | |
17 | ||
18 | public: | |
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 | ||
26 | private: | |
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 | ||
35 | class AliOnlineRecoTrigger: public TObject { | |
36 | ||
37 | public: | |
38 | AliOnlineRecoTrigger(); | |
39 | virtual ~AliOnlineRecoTrigger(); | |
40 | ||
41 | virtual Bool_t Notify(); | |
42 | void Terminate(); | |
43 | ||
44 | Int_t Run(); | |
45 | ||
46 | private: | |
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 |