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, UInt_t timeout = 5000, Int_t retries = 5);
44 AliShuttle* GetShuttle() {return fShuttle;}
46 Bool_t Collect(Int_t run);
50 virtual Bool_t Notify();
57 class DATEEntry: public TObject {
62 DATEEntry(Int_t run, UInt_t startTime, UInt_t endTime):
63 fRun(run), fStartTime(startTime), fEndTime(endTime) {}
65 Int_t GetRun() {return fRun;}
66 UInt_t GetStartTime() {return fStartTime;}
67 UInt_t GetEndTime() {return fEndTime;}
69 ClassDef(DATEEntry, 0)
72 Bool_t RetrieveDATEEntries(const char* whereClause, TObjArray& entries,
74 Bool_t RetrieveConditionsData(const TObjArray& dateEntries);
76 const AliShuttleConfig* fConfig;
77 //AliCDBStorage* fLocalStorage;
85 TCondition fCondition;
87 TerminateSignalHandler fQuitSignalHandler;
88 TerminateSignalHandler fInterruptSignalHandler;
91 ClassDef(AliShuttleTrigger, 0)