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);
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.
static const Double_t fgdSTATUSTIMEOUT
Maximum time (in s) between two updates of the client status object.
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.
virtual ~TGo4AnalysisClient()
static const UInt_t fguCINTTIMERPERIOD
Timer period (in ms) for cint locking timer.
TGo4Ratemeter * fxRatemeter
aggregation 1
void ExecuteString(const char *command) override
Execute string command.
TGo4AnalysisClient(int argc, char **argv, TGo4Analysis *analysis, Bool_t histoserver=kFALSE, const char *basename="Go4", const char *passwd="abcd", Bool_t servermode=kFALSE, Bool_t autorun=kFALSE)
static const UInt_t fguSTATUSUPDATE
Number of mainloop runs between two updates of the client status object.
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.
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.
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)
TGo4Analysis * fxAnalysis
The analysis the client is working on.
Int_t StartWorkThreads() override
start the working threads of the slave implementation;
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
static const char * fgcWATCHTHREAD
suffix for watch thread name
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.
static const char * fgcMAINTHREAD
suffix for main thread name
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.
TGo4HistogramServer * fxHistoServer
aggregation 1 histogram server (optional)
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
void Quit() override
Quit this instance and the owned task; method to be called from command object, may be overridden in ...
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.
Baseclass for all slave process entities.