14#ifndef TGO4ANALYSISCLIENTIMP_H
15#define TGO4ANALYSISCLIENTIMP_H
39 const char *host =
"localhost",
41 Bool_t histoserver = kFALSE,
42 const char *basename =
"Go4",
43 const char *passwd =
"abcd",
44 Bool_t servermode = kFALSE,
45 Bool_t autorun = kFALSE,
46 Bool_t cintmode = kFALSE,
47 Bool_t loadprefs = kTRUE,
48 Bool_t showrate = kFALSE);
52 Bool_t histoserver = kFALSE,
53 const char *basename =
"Go4",
54 const char *passwd =
"abcd",
55 Bool_t servermode = kFALSE,
56 Bool_t autorun = kFALSE);
62 void Start()
override;
133 void Terminate (Bool_t termapp=kTRUE)
override;
143 void SendStatusMessage(Int_t level, Bool_t printout,
const TString &text)
override;
170 void Constructor(Bool_t starthistserv = kFALSE,
const char *basename =
"Go4",
const char *passwd =
"abcd");
void Terminate(Bool_t termapp=kTRUE) override
Overwrites the Threadmanager Terminate to shutdown the objectserver properly.
TGo4Analysis * fxAnalysis
The analysis the client is working on.
static const UInt_t fguCINTTIMERPERIOD
Timer period (in ms) for cint locking timer.
Bool_t fbCintMode
If true, this slave runs to control CINT macro.
void StartObjectServer(const char *basename, const char *passwd)
Start the object (histogram) server.
void Stop() override
General stop method of slave application to be called from remote command; should be re-implemented b...
void KillMain() override
Kill the main thread; method to be called from command, should be overridden in user implementation.
void ExecuteString(const char *command) override
Execute string command.
Bool_t fbShowRate
Then enabled, show current rate on the analysis terminal window.
void TerminateFast() override
Overwrites the Threadmanager TerminateFast to shutdown the objectserver properly.
TGo4TaskStatus * CreateStatus() override
create a status object with information on the current client state.
void SendAnalysisObject(const char *name)
Fetch object of name from analysis instance and put it into the data queue of the client.
TGo4Analysis * GetAnalysis() const
Int_t StopWorkThreads() override
stop the working threads of the slave implementation;
Bool_t TestRatemeter()
Test if ratemeter has been updated.
TGo4Ratemeter * fxRatemeter
aggregation 1
void SendAnalysisStatus()
Send a complete status object of the analysis via the status queue.
void SetCintMode(Bool_t on=kTRUE)
void StopObjectServer()
Stop the object (histogram) server.
void Start() override
General start method of slave application to be called from remote command; should be re-implemented ...
void UpdateRate(Int_t counts=1)
Update ratemeter.
Double_t fdBufferUpdateTime
absolute time of the last status buffer update.
static const UInt_t fguSTATUSUPDATE
Number of mainloop runs between two updates of the client status object.
UInt_t GetCurrentCount() const
Number of currently processed events since last start.
void UpdateStatus(TGo4TaskStatus *state) override
Method needed by method CreateStatus of any status subclasses to set the values of the clienttask spe...
TGo4AnalysisClient(const char *name, TGo4Analysis *analysis, const char *host="localhost", UInt_t negport=0, Bool_t histoserver=kFALSE, const char *basename="Go4", const char *passwd="abcd", Bool_t servermode=kFALSE, Bool_t autorun=kFALSE, Bool_t cintmode=kFALSE, Bool_t loadprefs=kTRUE, Bool_t showrate=kFALSE)
Int_t StartWorkThreads() override
start the working threads of the slave implementation;
static const char * fgcMAINTHREAD
suffix for main thread name
void SendAnalysisClientStatus()
Send a complete status object of the analysis client via the status queue.
void Constructor(Bool_t starthistserv=kFALSE, const char *basename="Go4", const char *passwd="abcd")
Bool_t IsCintMode() const
Bool_t fbLoadPrefs
If true, this slave load preferences for analysis from default file.
void SendNamesList()
Send the list of object names (folder structure) as status object to the gui.
Bool_t TestBufferUpdateConditions()
Test if status buffer shall be updated now.
void SendStatusMessage(Int_t level, Bool_t printout, const TString &text) override
Send message to gui.
virtual ~TGo4AnalysisClient()
Int_t Initialization() override
Override the ClientTask/ThreadManager Initialization used by AppControlTimer to init event classes be...
Bool_t fbAutoStart
If true, this slave will initialize and start analysis immediately without waiting for a submit/start...
TString fcMainName
remember name of main thread
static const char * fgcWATCHTHREAD
suffix for watch thread name
void Quit() override
Quit this instance and the owned task; method to be called from command object, may be overridden in ...
static const Double_t fgdSTATUSTIMEOUT
Maximum time (in s) between two updates of the client status object.
TGo4HistogramServer * fxHistoServer
aggregation 1 histogram server (optional)
TString fcWatchName
remember name of watch thread
void RestartMain() override
Restart the main thread; method to be called from command, should be overridden in user implementatio...
The mother of all go4 analysis.
Handles a histogram server (mbs histogram protocol) for the histograms registered in the analysis.
Class containing event counter and ratemeter services.