1 #ifndef ALI_SHUTTLE_TRIGGER_H
2 #define ALI_SHUTTLE_TRIGGER_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
10 // This class is to deal with DAQ LogBook and DAQ end run notification.
11 // It executes AliShuttle for retrieval of conditions data.
15 #include <TSysEvtHandler.h>
17 #include <TCondition.h>
22 class AliShuttleConfig;
24 class AliShuttleTrigger;
27 class TerminateSignalHandler: public TSignalHandler {
29 AliShuttleTrigger* fTrigger;
31 TerminateSignalHandler(AliShuttleTrigger* trigger, ESignals signal):
32 TSignalHandler(signal, kFALSE), fTrigger(trigger) {}
34 virtual Bool_t Notify();
36 ClassDef(TerminateSignalHandler, 0)
39 class AliShuttleTrigger: public TObject {
41 AliShuttleTrigger(const AliShuttleConfig* config,
42 AliCDBStorage* storage, UInt_t timeout = 5000,
46 AliShuttle* GetShuttle() {return fShuttle;}
48 Bool_t Collect(Int_t run);
52 virtual Bool_t Notify();
59 class DATEEntry: public TObject {
64 DATEEntry(Int_t run, UInt_t startTime, UInt_t endTime):
65 fRun(run), fStartTime(startTime), fEndTime(endTime) {}
67 Int_t GetRun() {return fRun;}
68 UInt_t GetStartTime() {return fStartTime;}
69 UInt_t GetEndTime() {return fEndTime;}
71 ClassDef(DATEEntry, 0)
74 Bool_t RetrieveDATEEntries(const char* whereClause, TObjArray& entries,
76 Bool_t RetrieveConditionsData(const TObjArray& dateEntries);
78 const AliShuttleConfig* fConfig;
79 AliCDBStorage* fStorage;
87 TCondition fCondition;
89 TerminateSignalHandler fQuitSignalHandler;
90 TerminateSignalHandler fInterruptSignalHandler;
93 ClassDef(AliShuttleTrigger, 0)