GSI Object Oriented Online Offline (Go4) GO4-6.4.0
Loading...
Searching...
No Matches
TGo4ComInitAnalysis.cxx
Go to the documentation of this file.
1// $Id$
2//-----------------------------------------------------------------------
3// The GSI Online Offline Object Oriented (Go4) Project
4// Experiment Data Processing at EE department, GSI
5//-----------------------------------------------------------------------
6// Copyright (C) 2000- GSI Helmholtzzentrum fuer Schwerionenforschung GmbH
7// Planckstr. 1, 64291 Darmstadt, Germany
8// Contact: http://go4.gsi.de
9//-----------------------------------------------------------------------
10// This software can be used under the license agreements as stated
11// in Go4License.txt file which is part of the distribution.
12//-----------------------------------------------------------------------
13
14#include "TGo4ComInitAnalysis.h"
15
16#include "TGo4Log.h"
17#include "TGo4Thread.h"
18#include "TGo4AnalysisImp.h"
20
22:TGo4AnalysisCommand("ANInit","executes InitEventClasses of Analysis")
23{
24 GO4TRACE((12,"TGo4ComInitAnalysis::TGo4ComInitAnalysis() ctor",__LINE__, __FILE__));
25 SetReceiverName("AnalysisClient"); // this command needs client as receiver
26 // override default receiver
28}
29
31{
32 GO4TRACE((12,"TGo4ComInitAnalysis::ExeCom()",__LINE__, __FILE__));
33
35 if (!cli) {
36 GO4TRACE((11,"TGo4ComInitAnalysis::ExeCom() - no receiver specified ERROR!",__LINE__, __FILE__));
37 TGo4Log::Debug(" !!! ComInitAnalysis ''%s'': NO RECEIVER ERROR!!!",GetName());
38 return 1;
39 }
40
41 GO4TRACE((11,"TGo4ComInitAnalysis::ExeCom() - found valid receiver",__LINE__, __FILE__));
43 if(ana) {
44 cli->SendStatusMessage(2, kTRUE,"INITIALISING submitted settings, PLEASE WAIT...");
46 if(ana->InitEventClasses())
47 {
48 cli->SendStatusMessage(1, kTRUE,TString::Format(
49 "Analysis %s event classes were initialized.", ana->GetName()));
50 if(cli->MainIsRunning())
51 ana->PreLoop(); // re-init userpointers when init was done on the fly
52 }
53 else
54 {
55 cli->SendStatusMessage(3, kTRUE, TString::Format(
56 "Analysis %s initialization failed !!! ", ana->GetName()));
57 }
58 }
59 else
60 {
61 cli->SendStatusMessage(3, kTRUE, TString::Format(" %s ERROR no analysis", GetName()));
62 }
63
64 return -1;
65}
@ kGo4ComModeController
Definition TGo4Command.h:30
#define GO4TRACE(X)
Definition TGo4Log.h:25
void SendStatusMessage(Int_t level, Bool_t printout, const TString &text) override
Send message to gui.
The mother of all go4 analysis.
static TGo4Analysis * Instance()
return analysis instance
virtual Bool_t InitEventClasses()
Initialization of the event class plugins which are delivered from the user defined event factory.
const char * GetName() const override
Return analysis name.
Int_t PreLoop()
Method executed once before the main analysis event loop.
Int_t ExeCom() override
Do the command action.
void SetProtection(Go4CommandMode_t m)
TGo4CommandReceiver * fxReceiverBase
void SetReceiverName(const char *)
static void Debug(const char *text,...) GO4_PRINTF_ARGS
User shortcut for message with prio 0.
Definition TGo4Log.cxx:281
Bool_t MainIsRunning() const
Definition TGo4Slave.h:98
static void Sleep(UInt_t millisecs)
wrapper for gSystem->Sleep with consecutive TThread::CancelPoint - necessary for proper pthread termi...