class AliDimIntNotifier;
+class TTimer;
+
class TGTextButton;
+class TGCheckButton;
class TGListBox;
//______________________________________________________________________________
{
public:
AliOnlineReco();
- virtual ~AliOnlineReco() {}
+ virtual ~AliOnlineReco();
+
+ AliDimIntNotifier* GetSOR(Int_t i) const { return fSOR[i]; }
+ AliDimIntNotifier* GetEOR(Int_t i) const { return fEOR[i]; }
- AliDimIntNotifier* GetSOR() const { return fSOR; }
- AliDimIntNotifier* GetEOR() const { return fEOR; }
+ Int_t GetLastRun() const;
+
+ Bool_t GetAutoRunMode() const;
+ void SetAutoRunMode(Bool_t ar);
void SetTestMode() { fTestMode = kTRUE; }
// Handlers of button signals.
//------------------------------------------------------------------------------
+ void DoAutoRun();
void DoStart();
void DoStop();
- void DoXyzz();
+ void DoExit();
virtual void CloseWindow();
// GUI components.
TGListBox *fRunList;
+ TGCheckButton *fAutoRun;
TGTextButton *fStartButt;
TGTextButton *fStopButt;
- TGTextButton *fXyzzButt;
+ TGTextButton *fExitButt;
+
+ // DIM interface. Could do without members and just leak them ...
+ AliDimIntNotifier *fSOR[5];
+ AliDimIntNotifier *fEOR[5];
- // DIM interface. Could do without ...
- AliDimIntNotifier *fSOR;
- AliDimIntNotifier *fEOR;
+ // AutoRun state and timer
+ TTimer *fAutoRunTimer;
+ Int_t fAutoRunScheduled;
+ Int_t fAutoRunRunning;
// Run-state, process mngmnt
typedef std::map<Int_t, Int_t> mIntInt_t; // value should be struct { pid, state, ... };
mIntInt_i FindMapEntryByPid(Int_t pid);
+ void StartAliEve(mIntInt_i& mi);
+ void KillPid(Int_t pid);
+
+ void StartAutoRunTimer(Int_t run);
+ void StopAutoRunTimer();
+
+ // Things that should be private but have to be public for CINT.
+public:
+ void AutoRunTimerTimeout();
+
ClassDef(AliOnlineReco, 0);
};