X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=SHUTTLE%2FAliShuttleTrigger.h;h=db0b8e068a453d8103aa8767d7c353ef5b03ef43;hb=ff2dbca1fef62ee6dd4f5d3d846b74b285c64bf8;hp=143cf4c5937dcb183a7752349562dc1ba6a7a08a;hpb=d477ad88accfd8f0cf4ad11e43eb9aa39c1ea2f4;p=u%2Fmrichter%2FAliRoot.git diff --git a/SHUTTLE/AliShuttleTrigger.h b/SHUTTLE/AliShuttleTrigger.h index 143cf4c5937..db0b8e068a4 100644 --- a/SHUTTLE/AliShuttleTrigger.h +++ b/SHUTTLE/AliShuttleTrigger.h @@ -9,6 +9,7 @@ // // This class is to deal with DAQ LogBook and DAQ end run notification. // It executes AliShuttle for retrieval of conditions data. +// For more info see AliShuttleTrigger.cxx // #include @@ -17,7 +18,6 @@ #include -class AliCDBStorage; class AliShuttle; class AliShuttleConfig; @@ -26,21 +26,28 @@ class DATENotifier; class TerminateSignalHandler: public TSignalHandler { - AliShuttleTrigger* fTrigger; public: + TerminateSignalHandler(): TSignalHandler((ESignals) 0,0), fTrigger(0) { } TerminateSignalHandler(AliShuttleTrigger* trigger, ESignals signal): TSignalHandler(signal, kFALSE), fTrigger(trigger) {} + virtual ~TerminateSignalHandler() { } virtual Bool_t Notify(); +private: + + TerminateSignalHandler(const TerminateSignalHandler& other); + TerminateSignalHandler& operator= (const TerminateSignalHandler& other); + + AliShuttleTrigger* fTrigger; // pointer to the current AliShuttleTrigger + ClassDef(TerminateSignalHandler, 0) }; class AliShuttleTrigger: public TObject { + public: - AliShuttleTrigger(const AliShuttleConfig* config, - AliCDBStorage* storage, UInt_t timeout = 5000, - Int_t retries = 5); + AliShuttleTrigger(const AliShuttleConfig* config, UInt_t timeout = 5000, Int_t retries = 5); ~AliShuttleTrigger(); AliShuttle* GetShuttle() {return fShuttle;} @@ -48,46 +55,28 @@ public: Bool_t Collect(Int_t run); Bool_t CollectNew(); Bool_t CollectAll(); - + virtual Bool_t Notify(); void Terminate(); void Run(); private: - - class DATEEntry: public TObject { - Int_t fRun; - UInt_t fStartTime; - UInt_t fEndTime; - public: - DATEEntry(Int_t run, UInt_t startTime, UInt_t endTime): - fRun(run), fStartTime(startTime), fEndTime(endTime) {} - - Int_t GetRun() {return fRun;} - UInt_t GetStartTime() {return fStartTime;} - UInt_t GetEndTime() {return fEndTime;} - - ClassDef(DATEEntry, 0) - }; - - Bool_t RetrieveDATEEntries(const char* whereClause, TObjArray& entries, - Int_t& lastRun); - Bool_t RetrieveConditionsData(const TObjArray& dateEntries); + AliShuttleTrigger(const AliShuttleTrigger& other); + AliShuttleTrigger& operator= (const AliShuttleTrigger& other); const AliShuttleConfig* fConfig; - AliCDBStorage* fStorage; - AliShuttle* fShuttle; + AliShuttle* fShuttle; // Pointer to the actual Shuttle instance - Bool_t fNotified; - Bool_t fTerminate; + Bool_t fNotified; // Notified flag + Bool_t fTerminate; // Terminate flag - TMutex fMutex; - TCondition fCondition; + TMutex fMutex; // Mutex + TCondition fCondition; // Condition - TerminateSignalHandler fQuitSignalHandler; - TerminateSignalHandler fInterruptSignalHandler; + TerminateSignalHandler fQuitSignalHandler; // Quit signal + TerminateSignalHandler fInterruptSignalHandler; // Interrupt signal ClassDef(AliShuttleTrigger, 0)