GSI Object Oriented Online Offline (Go4)
GO4-5.3.2
|
#include <TGo4AnalysisImp.h>
Public Member Functions | |
virtual | ~TGo4Analysis () |
virtual const char * | GetName () const |
void | SetAnalysisName (const char *name) |
Int_t | MainCycle () |
Int_t | PreLoop () |
Int_t | PostLoop () |
Int_t | Process () |
virtual Int_t | UserEventFunc () |
virtual Int_t | UserPreLoop () |
virtual Int_t | UserPostLoop () |
Int_t | RunImplicitLoop (Int_t times, Bool_t showrate=kFALSE, Double_t process_event_interval=-1., Bool_t iswebserver=kFALSE) |
virtual void | CloseAnalysis () |
virtual Bool_t | InitEventClasses () |
TGo4AnalysisObjectManager * | ObjectManager () const |
Bool_t | AddDynamicHistogram (const char *name, const char *histo, const char *hevx, const char *hmemx, const char *hevy=0, const char *hmemy=0, const char *hevz=0, const char *hmemz=0, const char *condition=0, const char *cevx=0, const char *cmemx=0, const char *cevy=0, const char *cmemy=0) |
Bool_t | AddDynamicEntry (TGo4DynamicEntry *entry) |
Bool_t | RemoveDynamicEntry (const char *entryname, const char *listname=0) |
Bool_t | AddObject (TNamed *anything, const char *subfolder=0, Bool_t replace=kTRUE) |
TNamed * | GetObject (const char *name, const char *folder=0) |
Bool_t | RemoveObject (const char *name, Bool_t del=kTRUE) |
Bool_t | DeleteObjects (const char *name) |
Bool_t | ClearObjects (const char *name) |
Bool_t | ProtectObjects (const char *name, const Option_t *flags) |
Bool_t | ResetBackStores (Bool_t clearflag=kFALSE) |
TObject * | NextMatchingObject (const char *expr=0, const char *folder=0, Bool_t reset=kFALSE) |
TGo4TreeStructure * | CreateTreeStructure (const char *treename) |
Bool_t | AddHistogram (TH1 *his, const char *subfolder=0, Bool_t replace=kTRUE) |
Bool_t | AddTree (TTree *tree, const char *subfolder=0) |
Bool_t | RemoveTree (TTree *tree, const char *stepname=0) |
Bool_t | AddTreeHistogram (const char *hisname, const char *treename, const char *varexp, const char *cutexp) |
TH1 * | GetHistogram (const char *name) |
TTree * | GetTree (const char *name) |
Bool_t | RemoveHistogram (const char *name, Bool_t del=kTRUE) |
Bool_t | AddAnalysisCondition (TGo4Condition *con, const char *subfolder=0) |
Bool_t | SetAnalysisCondition (const char *name, TGo4Condition *con, Bool_t counter=kTRUE) |
TGo4Condition * | GetAnalysisCondition (const char *name, const char *cond_cl=0) |
Bool_t | RemoveAnalysisCondition (const char *name) |
Bool_t | AddParameter (TGo4Parameter *par, const char *subfolder=0) |
Bool_t | SetParameter (const char *name, TGo4Parameter *par) |
Bool_t | SetParameterStatus (const char *name, TGo4ParameterStatus *par) |
TGo4Parameter * | GetParameter (const char *name, const char *parameter_class=0) |
Bool_t | RemoveParameter (const char *name) |
Bool_t | AddPicture (TGo4Picture *pic, const char *subfolder=0) |
Bool_t | SetPicture (const char *name, TGo4Picture *pic) |
TGo4Picture * | GetPicture (const char *name) |
Bool_t | RemovePicture (const char *name) |
Bool_t | AddCanvas (TCanvas *can, const char *subfolder=0) |
TCanvas * | GetCanvas (const char *name) |
Bool_t | RemoveCanvas (const char *name) |
TGo4AnalysisStatus * | CreateStatus () |
TGo4AnalysisWebStatus * | CreateWebStatus () |
TGo4ObjectStatus * | CreateObjectStatus (const char *name, const char *folder=0) |
TGo4AnalysisObjectNames * | CreateNamesList () |
TFolder * | GetObjectFolder () |
void | UpdateStatus (TGo4AnalysisStatus *state) |
void | SetStatus (TGo4AnalysisStatus *state) |
Bool_t | LoadStatus (const char *filename=0) |
Bool_t | LoadObjects (const char *filename=0) |
Bool_t | SaveStatus (const char *filename=0) |
void | SetStepChecking (Bool_t on=kTRUE) |
Bool_t | SetFirstStep (const char *name) |
Bool_t | SetLastStep (const char *name) |
Bool_t | SetStepStorage (const char *name, Bool_t on) |
Bool_t | NewStepStore (const char *name, TGo4EventStoreParameter *par) |
Bool_t | NewStepSource (const char *name, TGo4EventSourceParameter *par) |
Bool_t | NewStepProcessor (const char *name, TGo4EventProcessorParameter *par) |
void | SetAutoSaveInterval (Int_t interval=0) |
void | SetAutoSaveFile (const char *filename=0, Bool_t overwrite=kFALSE, Int_t compression=5) |
Bool_t | IsAutoSaveFileName () const |
Int_t | LockAutoSave () |
Int_t | UnLockAutoSave () |
void | SetAutoSave (Bool_t on=kTRUE) |
Bool_t | IsAutoSaveOn () const |
void | SetAutoSaveFileChange (Bool_t on=kTRUE) |
Bool_t | IsAutoSaveFileChange () const |
Bool_t | IsInitDone () const |
Bool_t | IsRunning () |
void | SetRunning (Bool_t on=kTRUE) |
Int_t | WaitForStart () |
Int_t | IsErrorStopEnabled () |
void | SetNewInputFile (Bool_t on=kTRUE) |
Bool_t | IsNewInputFile () const |
void | SetInputFileName (const char *fname) |
const char * | GetInputFileName () const |
const char * | GetDefaultTestFileName () const |
void | SetDynListInterval (Int_t val) |
Int_t | GetDynListInterval () |
TGo4EventElement * | GetInputEvent (const char *stepname) |
TGo4EventElement * | GetInputEvent (Int_t stepindex) |
TGo4EventElement * | GetOutputEvent (const char *stepname) |
TGo4EventElement * | GetOutputEvent (Int_t stepindex) |
TGo4EventElement * | GetOutputEvent () |
TGo4EventElement * | GetEventStructure (const char *name) |
void | Message (Int_t prio, const char *text,...) |
void | SendObjectToGUI (TObject *ob) |
void | StartObjectServer (const char *basename, const char *passwd) |
void | StopObjectServer () |
void | SetAdministratorPassword (const char *passwd) |
void | SetControllerPassword (const char *passwd) |
void | SetObserverPassword (const char *passwd) |
virtual void | Print (Option_t *opt="") const |
void | PrintHistograms (const char *expression=0) |
void | PrintConditions (const char *expression=0) |
void | PrintParameters (const char *expression=0) |
void | PrintDynamicList () |
void | ShowEvent (const char *stepname, Bool_t isoutput=kTRUE) |
Int_t | StoreParameter (const char *name, TGo4Parameter *par) |
Int_t | StoreCondition (const char *name, TGo4Condition *con) |
Int_t | StoreFitter (const char *name, TGo4Fitter *fit) |
Int_t | StoreFolder (const char *stepname, TFolder *folder) |
Int_t | StoreFolder (const char *stepname, const char *foldername) |
void | AutoSave () |
Bool_t | AddAnalysisStep (TGo4AnalysisStep *next) |
TGo4AnalysisStep * | GetAnalysisStep (const char *name) |
TGo4AnalysisStep * | GetAnalysisStepNum (Int_t number) |
void | DefineServerPasswords (const char *admin, const char *controller, const char *observer) |
void | SetBatchLoopCount (Int_t cnt=-1) |
void | SetMakeWithAutosave (Bool_t on=kTRUE) |
Bool_t | IsObjMade () |
TH1 * | MakeTH1 (char type, const char *fullname, const char *title, Int_t nbinsx, Double_t xlow, Double_t xup, const char *xtitle=0, const char *ytitle=0) |
TH2 * | MakeTH2 (char type, const char *fullname, const char *title, Int_t nbinsx, Double_t xlow, Double_t xup, Int_t nbinsy, Double_t ylow, Double_t yup, const char *xtitle=0, const char *ytitle=0, const char *ztitle=0) |
TGo4WinCond * | MakeWinCond (const char *fullname, Double_t xmin, Double_t xmax, const char *HistoName=0) |
TGo4WinCond * | MakeWinCond (const char *fullname, Double_t xmin, Double_t xmax, Double_t ymin, Double_t ymax, const char *HistoName=0) |
TGo4PolyCond * | MakePolyCond (const char *fullname, Int_t npoints, Double_t(*points)[2], const char *HistoName=0, Bool_t shapedcond=kFALSE) |
TGo4ShapedCond * | MakeEllipseCond (const char *fullname, Int_t npoints, Double_t cx, Double_t cy, Double_t a1, Double_t a2, Double_t theta=0, const char *HistoName=0) |
TGo4ShapedCond * | MakeCircleCond (const char *fullname, Int_t npoints, Double_t cx, Double_t cy, Double_t r, const char *HistoName=0) |
TGo4ShapedCond * | MakeBoxCond (const char *fullname, Double_t cx, Double_t cy, Double_t a1, Double_t a2, Double_t theta, const char *HistoName=0) |
TGo4ShapedCond * | MakeFreeShapeCond (const char *fullname, Int_t npoints, Double_t(*points)[2], const char *HistoName=0) |
TGo4Parameter * | MakeParameter (const char *fullname, const char *classname, const char *cmd=0) |
Long_t | ExecuteScript (const char *script_name) |
Long_t | ExecutePython (const char *script_name, Int_t *errcode=0) |
Long_t | ExecuteLine (const char *command, Int_t *errcode=0) |
void | ProcessCrtlCSignal () |
void | SetSniffer (TGo4AnalysisSniffer *sniff) |
TGo4AnalysisSniffer * | GetSniffer () const |
TGo4AnalysisClient * | GetAnalysisClient () const |
void | StopAnalysis () |
void | StartAnalysis () |
void | ProcessEvents () |
Public Member Functions inherited from TGo4CommandReceiver | |
virtual | ~TGo4CommandReceiver () |
TGo4CommandReceiver () | |
Static Public Member Functions | |
static TGo4Analysis * | Instance () |
static Bool_t | Exists () |
static Bool_t | IsBatchMode () |
static Bool_t | IsClientMode () |
static Bool_t | IsServerMode () |
static void | SetRunningMode (int mode) |
Static Public Attributes | |
static const Int_t | fgiAUTOSAVECOUNTS = 500 |
static const Int_t | fgiDYNLISTINTERVAL = 1000 |
static const Int_t | fgiMACROSTARTPOLL = 1000 |
static const char * | fgcDEFAULTFILENAME ="Go4AutoSave.root" |
static const char * | fgcDEFAULTSTATUSFILENAME ="Go4AnalysisPrefs.root" |
static const char * | fgcDEFAULTFILESUF =".root" |
static const char * | fgcTOPDYNAMICLIST ="Go4DynamicList" |
static const char | fgcPYPROMPT = '$' |
static const char * | fgcPYINIT = "python/go4init.py" |
Protected Member Functions | |
TGo4Analysis (const char *name=0) | |
TGo4Analysis (int argc, char **argv) | |
void | Constructor () |
Int_t | ProcessAnalysisSteps () |
Protected Attributes | |
Bool_t | fbInitIsDone |
Bool_t | fbAutoSaveOn |
Private Types | |
enum | { flagInit, flagRunning, flagPause, flagClosed, flagStop } |
Private Member Functions | |
TTree * | CreateSingleEventTree (const char *name, Bool_t isoutput=kTRUE) |
TTree * | CreateSingleEventTree (TGo4EventElement *event) |
void | UpdateNamesList () |
TGo4AnalysisObjectNames * | GetNamesList () const |
void | SetOutputEvent (TGo4EventElement *event) |
Bool_t | AddEventStore (TGo4EventStore *store) |
Bool_t | RemoveEventStore (TGo4EventStore *store) |
Bool_t | AddEventSource (TGo4EventSource *source) |
Bool_t | RemoveEventSource (TGo4EventSource *source) |
Bool_t | AddEventProcessor (TGo4EventProcessor *pro) |
Bool_t | RemoveEventProcessor (TGo4EventProcessor *pro) |
Bool_t | AddEventStructure (TGo4EventElement *ev) |
Bool_t | RemoveEventStructure (TGo4EventElement *ev) |
void | SetAnalysisClient (TGo4AnalysisClient *cli) |
void | SendMessageToGUI (Int_t level, Bool_t printout, const char *text) |
void | OpenAutoSaveFile (bool for_writing=false) |
void | CloseAutoSaveFile () |
void | StopWorking () |
Bool_t | IsStopWorking () const |
void | ShutdownServer () |
Private Attributes | |
TGo4AnalysisClient * | fxAnalysisSlave |
TGo4AnalysisStepManager * | fxStepManager |
TGo4AnalysisObjectManager * | fxObjectManager |
Int_t | fiAutoSaveCount |
TStopwatch * | fxAutoSaveClock |
Int_t | fiAutoSaveInterval |
Int_t | fiAutoSaveCompression |
TMutex * | fxAutoSaveMutex |
TFile * | fxAutoFile |
TString | fxAutoFileName |
Bool_t | fbAutoSaveOverwrite |
TString | fxConfigFilename |
Bool_t | fbNewInputFile |
TString | fxCurrentInputFileName |
Bool_t | fbAutoSaveFileChange |
TGo4EventElement * | fxSampleEvent |
TGo4AnalysisObjectNames * | fxObjectNames |
enum TGo4Analysis:: { ... } | fxDoWorkingFlag |
TGo4InterruptHandler * | fxInterruptHandler |
TString | fAnalysisName |
Int_t | fBatchLoopCount |
TString | fServerAdminPass |
TString | fServerCtrlPass |
TString | fServerObserverPass |
Bool_t | fbMakeWithAutosave |
Bool_t | fbObjMade |
Bool_t | fbPythonBound |
Int_t | fNumCtrlC |
TGo4AnalysisSniffer * | fSniffer |
TGo4Ratemeter * | fxRate |
TString | fxDefaultTestFileName |
Static Private Attributes | |
static TGo4Analysis * | fxInstance = 0 |
static Bool_t | fbExists = kFALSE |
static Int_t | fiRunningMode = 0 |
Friends | |
class | TGo4AnalysisStep |
class | TGo4AnalysisClient |
class | TGo4ComGetCurrentEvent |
class | TGo4ComGetNamesList |
class | TGo4ComGetEnvelope |
class | TGo4ComSetObject |
class | TGo4HisConnectorRunnable |
class | TGo4HistogramServer |
class | TGo4AnalysisWebStatus |
class | TGo4Sniffer |
The mother of all go4 analysis. Provides services to organize events, histogram data, and everything. May run standalone in batch mode, or may be aggregated by analysis client for threaded online control. User has to derive his/her own analysis from this base class and override the virtual user event function and set event factory methods.
Definition at line 73 of file TGo4AnalysisImp.h.
|
private |
Indicates analysis runstate
Enumerator | |
---|---|
flagInit | |
flagRunning | |
flagPause | |
flagClosed | |
flagStop |
Definition at line 1051 of file TGo4AnalysisImp.h.
|
virtual |
Definition at line 304 of file TGo4AnalysisImp.cxx.
References CloseAnalysis(), CloseAutoSaveFile(), fxAutoSaveClock, fxInstance, fxInterruptHandler, fxObjectManager, fxObjectNames, fxSampleEvent, fxStepManager, GO4TRACE, TGo4Log::subGO4SYS(), and TGo4CommandInvoker::UnRegister().
|
protected |
Protected constructor for singleton instance.
Definition at line 170 of file TGo4AnalysisImp.cxx.
References Constructor(), GO4TRACE, and SetAnalysisName().
Referenced by Instance().
|
protected |
Another variant for analysis constructor.
Definition at line 209 of file TGo4AnalysisImp.cxx.
References Constructor(), GO4TRACE, and SetAnalysisName().
Bool_t TGo4Analysis::AddAnalysisCondition | ( | TGo4Condition * | con, |
const char * | subfolder = 0 |
||
) |
Puts a new analysis condition object in corresponding list. Object is owned by list afterwards. Returns false if object of that name already exists in list.
Definition at line 1412 of file TGo4AnalysisImp.cxx.
References TGo4AnalysisObjectManager::AddAnalysisCondition(), and fxObjectManager.
Referenced by TGo4EventProcessor::AddAnalysisCondition(), TGo4Sniffer::AddAnalysisObject(), MakeEllipseCond(), MakePolyCond(), and MakeWinCond().
Bool_t TGo4Analysis::AddAnalysisStep | ( | TGo4AnalysisStep * | next | ) |
Method for user analysis constructor to setup the list of analysis steps. Each call of this method will add a new analysis step at the end of the list. Caution: user has to take care that output and input event types of subsequent steps are matching! Analysis steps cannot be removed, since the steplist is not intended to be dynamic. This is a pure creation method. Analysis steps are owned by the steplist once they have been added.
Definition at line 1691 of file TGo4AnalysisImp.cxx.
References TGo4AnalysisStepManager::AddAnalysisStep(), and fxStepManager.
Referenced by TMeshAnalysis::TMeshAnalysis(), TXXXAnalysis::TXXXAnalysis(), and TYYYAnalysis::TYYYAnalysis().
Bool_t TGo4Analysis::AddCanvas | ( | TCanvas * | can, |
const char * | subfolder = 0 |
||
) |
Puts a new TCanvas in corresponding folder. Object is owned by folder afterwards. Returns false if object of that name already exist.
Definition at line 1401 of file TGo4AnalysisImp.cxx.
References TGo4AnalysisObjectManager::AddCanvas(), and fxObjectManager.
Referenced by TGo4EventProcessor::AddCanvas(), and TYYYAnalysis::TYYYAnalysis().
Bool_t TGo4Analysis::AddDynamicEntry | ( | TGo4DynamicEntry * | entry | ) |
Set dynamic entry of name "name" to the values specified by external dynamic entry status "state". If no dynamic entry of that name exists, a new entry is created with the properties of the state, and added to the current dynamic list.
Definition at line 1661 of file TGo4AnalysisImp.cxx.
References TGo4AnalysisObjectManager::AddDynamicEntry(), and fxObjectManager.
Referenced by TGo4Sniffer::AddAnalysisObject(), and TGo4ComSetObject::ExeSetDyn().
Bool_t TGo4Analysis::AddDynamicHistogram | ( | const char * | name, |
const char * | histo, | ||
const char * | hevx, | ||
const char * | hmemx, | ||
const char * | hevy = 0 , |
||
const char * | hmemy = 0 , |
||
const char * | hevz = 0 , |
||
const char * | hmemz = 0 , |
||
const char * | condition = 0 , |
||
const char * | cevx = 0 , |
||
const char * | cmemx = 0 , |
||
const char * | cevy = 0 , |
||
const char * | cmemy = 0 |
||
) |
Add (create) new dynamic histogram entry which connects an existing histogram with existing condition and data. Dynamic entry is specified by name. Histogram histo will be searched in registered histograms folder, condition in conditions folder. If condition is true or not existing (condition=0), histogram will be filled from the values that are found in registered eventstructure classes of names evx, evy, evz at the data members of names memx, memy, memz, for the three coordinate axes, respectively. Histogram dimension is checked against given values.
Definition at line 1340 of file TGo4AnalysisImp.cxx.
References TGo4AnalysisObjectManager::AddDynamicHistogram(), and fxObjectManager.
|
private |
Add reference to event processor object to Go4 Folder structure. To be used by framework only!
Definition at line 1361 of file TGo4AnalysisImp.cxx.
References TGo4AnalysisObjectManager::AddEventProcessor(), and fxObjectManager.
Referenced by TGo4AnalysisStep::NewEventProcessor().
|
private |
Add reference to event source object to Go4 Folder structure. To be used by framework only!
Definition at line 1366 of file TGo4AnalysisImp.cxx.
References TGo4AnalysisObjectManager::AddEventSource(), and fxObjectManager.
Referenced by TGo4AnalysisStep::NewEventSource().
|
private |
Add reference to event store object to Go4 Folder structure. To be used by framework only!
Definition at line 1371 of file TGo4AnalysisImp.cxx.
References TGo4AnalysisObjectManager::AddEventStore(), and fxObjectManager.
Referenced by TGo4AnalysisStep::NewEventStore().
|
private |
Add reference to event structure object to Go4 Folder structure. To be used by framework only!
Definition at line 1376 of file TGo4AnalysisImp.cxx.
References TGo4AnalysisObjectManager::AddEventStructure(), and fxObjectManager.
Referenced by TGo4AnalysisStep::NewInputEvent(), and TGo4AnalysisStep::NewOutputEvent().
Bool_t TGo4Analysis::AddHistogram | ( | TH1 * | his, |
const char * | subfolder = 0 , |
||
Bool_t | replace = kTRUE |
||
) |
Add external histogram to go4 histogram directory. Histogram will be owned and streamed by go4 histogram list afterwards.
Definition at line 1381 of file TGo4AnalysisImp.cxx.
References TGo4AnalysisObjectManager::AddHistogram(), and fxObjectManager.
Referenced by TGo4Sniffer::AddAnalysisObject(), TGo4EventProcessor::AddHistogram(), TGo4ComSetObject::ExeSetHis(), MakeTH1(), MakeTH2(), TGo4DynamicList::ProcessTEntry(), TMeshAnalysis::UserPreLoop(), and TYYYAnalysis::UserPreLoop().
Bool_t TGo4Analysis::AddObject | ( | TNamed * | anything, |
const char * | subfolder = 0 , |
||
Bool_t | replace = kTRUE |
||
) |
Add any external object to the user object folder. Object is owned by go4 afterwards and will be saved automatically. Object is accessible by name from the go4 display and from the analysis itself. Subfolder of UserObjects may be specified. If replace is true, old object of same name will be deleted and replaced by the added one.
Definition at line 1386 of file TGo4AnalysisImp.cxx.
References TGo4AnalysisObjectManager::AddObject(), and fxObjectManager.
Referenced by TGo4EventProcessor::AddObject(), and TGo4ComSetObject::ExeSetObj().
Bool_t TGo4Analysis::AddParameter | ( | TGo4Parameter * | par, |
const char * | subfolder = 0 |
||
) |
Puts a new parameter object in corresponding folder. Object is owned by folder afterwards. Returns false if object of that name already exists in list.
Definition at line 1391 of file TGo4AnalysisImp.cxx.
References TGo4AnalysisObjectManager::AddParameter(), and fxObjectManager.
Referenced by TGo4EventProcessor::AddParameter(), MakeParameter(), TMeshAnalysis::TMeshAnalysis(), TXXXAnalysis::TXXXAnalysis(), and TYYYAnalysis::TYYYAnalysis().
Bool_t TGo4Analysis::AddPicture | ( | TGo4Picture * | pic, |
const char * | subfolder = 0 |
||
) |
Puts a new picture object in corresponding folder. Object is owned by folder afterwards. Returns false if object of that name already exists in list.
Definition at line 1396 of file TGo4AnalysisImp.cxx.
References TGo4AnalysisObjectManager::AddPicture(), and fxObjectManager.
Referenced by TGo4EventProcessor::AddPicture().
Bool_t TGo4Analysis::AddTree | ( | TTree * | tree, |
const char * | subfolder = 0 |
||
) |
Add reference to a tree in the go4 folder structure. If name of subfolder is given, tree will be assigned to subfolder (e.g. subfolder with analysis step name). If subfolder name is zero, the tree will be put into general tree folder.
Definition at line 1406 of file TGo4AnalysisImp.cxx.
References TGo4AnalysisObjectManager::AddTree(), fxObjectManager, and TGo4Status::kGo4BackStoreReset.
Referenced by TGo4AnalysisStep::NewEventStore().
Bool_t TGo4Analysis::AddTreeHistogram | ( | const char * | hisname, |
const char * | treename, | ||
const char * | varexp, | ||
const char * | cutexp | ||
) |
Add Histogram into the dynamic list wich is linked to a tree. If Histogram of hisname already exists, this histogram will taken. if not, the histogram will be created on first TTree::Draw. Strings varexp and selection are used for applying cuts and variables to plot.
Definition at line 1354 of file TGo4AnalysisImp.cxx.
References TGo4AnalysisObjectManager::AddTreeHistogram(), fxObjectManager, and UpdateNamesList().
Referenced by TGo4ComAddTreeHistogram::ExeCom(), and TGo4Sniffer::RemoteTreeDraw().
void TGo4Analysis::AutoSave | ( | ) |
Perform autosave of all active stores, save existing calibration objects, write known objects into user file.
Definition at line 1088 of file TGo4AnalysisImp.cxx.
References TGo4AnalysisStepManager::AutoSave(), CloseAutoSaveFile(), fbAutoSaveOn, fxAutoFile, fxAutoSaveMutex, fxObjectManager, fxStepManager, GO4TRACE, Message(), OpenAutoSaveFile(), and TGo4AnalysisObjectManager::SaveObjects().
Referenced by CloseAnalysis(), TGo4ComAutosave::ExeCom(), MainCycle(), TGo4MbsFile::NewFileAction(), and TGo4AnalysisWebStatus::WriteAutoSave().
Bool_t TGo4Analysis::ClearObjects | ( | const char * | name | ) |
Clear (reset) the specified objects. Method will first clear all objects in any folder if it is matching the namestring. If no such folder exists, object of name is searched and cleared. Returns kFALSE in case of not found objects.
Definition at line 1552 of file TGo4AnalysisImp.cxx.
References TGo4AnalysisObjectManager::ClearObjects(), and fxObjectManager.
Referenced by TGo4Sniffer::CmdClear(), TGo4Sniffer::CmdClearObject(), TGo4ComClearObject::ExeCom(), TGo4MbsFile::NewFileAction(), and TYYYAnalysis::UserPreLoop().
|
virtual |
Finish the analysis run and close all event sources/storages. The analysis instance and the setup of the analysis steps is not deleted.
Definition at line 978 of file TGo4AnalysisImp.cxx.
References AutoSave(), TGo4AnalysisStepManager::CloseAnalysis(), TGo4AnalysisObjectManager::CloseAnalysis(), fbInitIsDone, flagClosed, flagStop, fxAnalysisSlave, fxDoWorkingFlag, fxObjectManager, fxStepManager, and GO4TRACE.
Referenced by TGo4Sniffer::CmdClose(), TGo4Sniffer::CmdExit(), TGo4Sniffer::CmdRestart(), TGo4ComCloseAnalysis::ExeCom(), ProcessCrtlCSignal(), TGo4AnalysisClient::Quit(), SetStatus(), TGo4AnalysisWebStatus::UpdateFromUrl(), and ~TGo4Analysis().
|
private |
Close the autosave file if existing.
Definition at line 1134 of file TGo4AnalysisImp.cxx.
References fxAutoFile, fxAutoFileName, fxAutoSaveMutex, and Message().
Referenced by AutoSave(), LoadObjects(), ProcessCrtlCSignal(), and ~TGo4Analysis().
|
protected |
Method to create all necessary object in the real constructor
Definition at line 247 of file TGo4AnalysisImp.cxx.
References __GO4BUILDVERSION__, __GO4RELEASE__, TGo4Version::CheckVersion(), fAnalysisName, fbExists, fgcDEFAULTFILENAME, fgcDEFAULTSTATUSFILENAME, fgiDYNLISTINTERVAL, fxAutoFileName, fxAutoSaveClock, fxAutoSaveMutex, fxConfigFilename, fxDefaultTestFileName, fxInstance, fxInterruptHandler, fxObjectManager, fxStepManager, TGo4Version::Instance(), TGo4CommandInvoker::Instance(), Message(), TGo4CommandInvoker::Register(), TGo4CommandInvoker::SetCommandList(), SetDynListInterval(), and TGo4Log::subGO4SYS().
Referenced by TGo4Analysis().
TGo4AnalysisObjectNames * TGo4Analysis::CreateNamesList | ( | ) |
Creates a list of names (keys) of all objects in analysis directories.
Definition at line 1472 of file TGo4AnalysisImp.cxx.
References TGo4AnalysisObjectManager::CreateNamesList(), and fxObjectManager.
Referenced by UpdateNamesList().
TGo4ObjectStatus * TGo4Analysis::CreateObjectStatus | ( | const char * | name, |
const char * | folder = 0 |
||
) |
Find Object of name in the folder structure and create a complete status object of it. Used by GUI command to get updated information on certain object.
Definition at line 1482 of file TGo4AnalysisImp.cxx.
References TGo4AnalysisObjectManager::CreateObjectStatus(), and fxObjectManager.
Referenced by TGo4ComGetObjectStatus::ExeCom().
|
private |
Create a tree that is filled with one single event sample. Event is taken from analysis step of name. If isoutput is kTRUE, the output event is used, otherwise the input event. If no analysis step of that name exists, the event is searched by object name in the eventstructure folder of the object manager.
Definition at line 966 of file TGo4AnalysisImp.cxx.
References GetEventStructure(), GetInputEvent(), GetOutputEvent(), and GO4TRACE.
Referenced by TGo4ComGetCurrentEvent::ExeCom(), and ShowEvent().
|
private |
Create a tree that is filled with one single event sample. To be sent to the gui.
Definition at line 959 of file TGo4AnalysisImp.cxx.
References fxSampleEvent, and GO4TRACE.
TGo4AnalysisStatus * TGo4Analysis::CreateStatus | ( | ) |
Create a copy of the analysis internal state. To be sent to the Display.
Definition at line 926 of file TGo4AnalysisImp.cxx.
References GetName(), GO4TRACE, and UpdateStatus().
Referenced by TGo4AnalysisWebStatus::CreateStatus(), TGo4ComGetAnalysisStatus::ExeCom(), Print(), SaveStatus(), and TGo4AnalysisClient::SendAnalysisStatus().
TGo4TreeStructure * TGo4Analysis::CreateTreeStructure | ( | const char * | treename | ) |
Create a tree structure for a certain tree by name
Definition at line 1487 of file TGo4AnalysisImp.cxx.
References TGo4AnalysisObjectManager::CreateTreeStructure(), and fxObjectManager.
TGo4AnalysisWebStatus * TGo4Analysis::CreateWebStatus | ( | ) |
Create a copy of the analysis internal state. To be sent to the Web interface.
Definition at line 937 of file TGo4AnalysisImp.cxx.
References GetName(), GO4TRACE, TGo4AnalysisWebStatus, and UpdateStatus().
Referenced by TGo4Sniffer::TGo4Sniffer().
void TGo4Analysis::DefineServerPasswords | ( | const char * | admin, |
const char * | controller, | ||
const char * | observer | ||
) |
Define passwords, which should be used for analysis access when analysis runs in server mode
Definition at line 1732 of file TGo4AnalysisImp.cxx.
References fServerAdminPass, fServerCtrlPass, and fServerObserverPass.
Bool_t TGo4Analysis::DeleteObjects | ( | const char * | name | ) |
Delete object of name, or all objects in folder name, respectively. Objects are only deleted if delete protection is false. Usually, Objects registered from user code are delete protected by default. Objects created dynamically from gui are not delete protected.
Definition at line 1547 of file TGo4AnalysisImp.cxx.
References TGo4AnalysisObjectManager::DeleteObjects(), and fxObjectManager.
Referenced by TGo4Sniffer::CmdDeleteObject(), and TGo4ComDeleteObject::ExeCom().
Long_t TGo4Analysis::ExecuteLine | ( | const char * | command, |
Int_t * | errcode = 0 |
||
) |
Process ROOT command line. Optionally provide pyroot binding: a leading '$' will try to load and execute python script. Errcode may be used to check ROOT interpreter error code. Return value is result of command execution
Definition at line 2243 of file TGo4AnalysisImp.cxx.
References TGo4Log::Debug(), fbPythonBound, fgcPYINIT, fgcPYPROMPT, and TGo4Log::GO4SYS().
Referenced by TGo4Sniffer::CmdExecute(), TGo4AnalysisWebStatus::ExecuteLine(), TGo4EventProcessor::ExecuteLine(), ExecutePython(), and TGo4AnalysisClient::ExecuteString().
Long_t TGo4Analysis::ExecutePython | ( | const char * | script_name, |
Int_t * | errcode = 0 |
||
) |
Executes Python script in ROOT interpreter. Will bind TGo4Analysis object to python go4 Symbol Errcode may be used to check ROOT interpreter error code.
Definition at line 2234 of file TGo4AnalysisImp.cxx.
References ExecuteLine(), and fgcPYPROMPT.
Referenced by TGo4EventProcessor::ExecutePython().
Long_t TGo4Analysis::ExecuteScript | ( | const char * | script_name | ) |
Executes ROOT script. Returns -1 when script was not found, or result of script execution
Definition at line 2210 of file TGo4AnalysisImp.cxx.
References TGo4Log::Error(), and TGo4Log::Info().
Referenced by TGo4EventProcessor::ExecuteScript(), and MakeParameter().
|
static |
Definition at line 143 of file TGo4AnalysisImp.cxx.
References fbExists.
Referenced by main(), and TGo4InterruptHandler::Notify().
|
inline |
Returns pointer on analysis client
Definition at line 862 of file TGo4AnalysisImp.h.
References fxAnalysisSlave.
Referenced by TGo4AnalysisWebStatus::ApplyStatus(), TGo4Sniffer::CmdClose(), TGo4Sniffer::CmdExit(), and TGo4Sniffer::CmdRestart().
TGo4Condition * TGo4Analysis::GetAnalysisCondition | ( | const char * | name, |
const char * | cond_cl = 0 |
||
) |
Retrieves an analysis condition from list by name. Optionally, condition could be checked if it inherits from specified class. Returns 0 if no such condition found.
Definition at line 1417 of file TGo4AnalysisImp.cxx.
References fxObjectManager, and TGo4AnalysisObjectManager::GetAnalysisCondition().
Referenced by TGo4EventProcessor::GetAnalysisCondition(), MakeEllipseCond(), MakePolyCond(), MakeWinCond(), and TGo4DynamicList::ProcessHEntry().
TGo4AnalysisStep * TGo4Analysis::GetAnalysisStep | ( | const char * | name | ) |
Access to certain analysis step by name. If name=0, this will return the first active step.
Definition at line 1422 of file TGo4AnalysisImp.cxx.
References fxStepManager, and TGo4AnalysisStepManager::GetAnalysisStep().
Referenced by main(), RunImplicitLoop(), TMeshParameter::UpdateFrom(), and TGo4AnalysisClient::UpdateStatus().
TGo4AnalysisStep * TGo4Analysis::GetAnalysisStepNum | ( | Int_t | number | ) |
Access to certain analysis step by number.
Definition at line 1427 of file TGo4AnalysisImp.cxx.
References fxStepManager, and TGo4AnalysisStepManager::GetAnalysisStepNum().
Referenced by main().
TCanvas * TGo4Analysis::GetCanvas | ( | const char * | name | ) |
Retrieves a TCanvas by name from the Canvases folder. Returns 0 if no such object.
Definition at line 1462 of file TGo4AnalysisImp.cxx.
References fxObjectManager, and TGo4AnalysisObjectManager::GetCanvas().
Referenced by TGo4EventProcessor::GetCanvas(), TYYYAnalysis::TYYYAnalysis(), and TYYYAnalysis::UserPostLoop().
|
inline |
Returns default lmd test file name (in GO4SYS installation directory)
Definition at line 540 of file TGo4AnalysisImp.h.
References fxDefaultTestFileName.
Referenced by TMeshAnalysis::TMeshAnalysis(), and TXXXAnalysis::TXXXAnalysis().
Int_t TGo4Analysis::GetDynListInterval | ( | ) |
Definition at line 1432 of file TGo4AnalysisImp.cxx.
References fxObjectManager, and TGo4AnalysisObjectManager::GetDynListInterval().
Referenced by TGo4DynamicList::ProcessTEntry().
TGo4EventElement * TGo4Analysis::GetEventStructure | ( | const char * | name | ) |
Search reference to event structure in folder.
Definition at line 1437 of file TGo4AnalysisImp.cxx.
References fxObjectManager, and TGo4AnalysisObjectManager::GetEventStructure().
Referenced by CreateSingleEventTree(), TGo4ComSetPrintEvent::ExeCom(), TGo4ComGetCurrentEvent::ExeCom(), TGo4DynamicList::ProcessHEntry(), and TMeshProviderProc::SetRealInput().
TH1 * TGo4Analysis::GetHistogram | ( | const char * | name | ) |
Search histogram in histogram list (directory).
Definition at line 1442 of file TGo4AnalysisImp.cxx.
References fxObjectManager, and TGo4AnalysisObjectManager::GetHistogram().
Referenced by TGo4EventProcessor::GetHistogram(), MakeTH1(), MakeTH2(), TGo4DynamicList::ProcessHEntry(), TGo4DynamicList::ProcessTEntry(), TGo4HisConnectorRunnable::Run(), TYYYAnalysis::UserPostLoop(), TMeshAnalysis::UserPreLoop(), and TYYYAnalysis::UserPreLoop().
TGo4EventElement * TGo4Analysis::GetInputEvent | ( | const char * | stepname | ) |
Returns the input event structure of analysis step. Argument indicates the step by name. For internal usage in the user defined event function UserEventFunc, and is used by analysis steps to get result of previous steps.
Definition at line 1626 of file TGo4AnalysisImp.cxx.
References fxStepManager, and TGo4AnalysisStepManager::GetInputEvent().
Referenced by CreateSingleEventTree(), TGo4ComGetCurrentEvent::ExeCom(), TGo4EventProcessor::GetInputEvent(), TXXXAnalysis::UserPreLoop(), TMeshAnalysis::UserPreLoop(), and TYYYAnalysis::UserPreLoop().
TGo4EventElement * TGo4Analysis::GetInputEvent | ( | Int_t | stepindex | ) |
Returns the input event structure of analysis step. Argument number indicates the step from 0 (first) to n (last) in subsequent order. For internal usage in the user defined event function UserEventFunc, and is used by analysis steps to access event sources of previous steps.
Definition at line 1621 of file TGo4AnalysisImp.cxx.
References fxStepManager, and TGo4AnalysisStepManager::GetInputEvent().
|
inline |
Returns current input file name
Definition at line 537 of file TGo4AnalysisImp.h.
References fxCurrentInputFileName.
|
inlinevirtual |
Definition at line 132 of file TGo4AnalysisImp.h.
References fAnalysisName.
Referenced by TGo4AnalysisObjectManager::CreateNamesList(), CreateStatus(), CreateWebStatus(), TGo4ComCloseAnalysis::ExeCom(), TGo4ComInitAnalysis::ExeCom(), TGo4ComPrintConditions::ExeCom(), TGo4ComPrintDynList::ExeCom(), TGo4ComPrintHistograms::ExeCom(), LoadStatus(), TGo4AnalysisStepStatus::PrintStatus(), Process(), TGo4AnalysisClient::Start(), StartAnalysis(), TMeshAnalysis::TMeshAnalysis(), and TYYYAnalysis::TYYYAnalysis().
|
inlineprivate |
Returns the nameslist of the go4 object directory structure. Is used by analysis client to send the current object names to the gui.
Definition at line 918 of file TGo4AnalysisImp.h.
References fxObjectNames.
Referenced by TGo4ComGetNamesList::ExeCom(), TGo4ComSetObject::ExeCom(), TGo4HistogramServer::HandleObjectRequest(), and TGo4AnalysisClient::SendNamesList().
TNamed * TGo4Analysis::GetObject | ( | const char * | name, |
const char * | folder = 0 |
||
) |
Searches for object by name in all directories. Returns pointer to object. If object of that name does not exist, null is returned. Optionally, folder may be specified to search in.
Definition at line 1447 of file TGo4AnalysisImp.cxx.
References fxObjectManager, and TGo4AnalysisObjectManager::GetObject().
Referenced by TGo4EventProcessor::GetObject(), TGo4HistogramServer::HandleObjectRequest(), TGo4HisConnectorRunnable::Run(), TGo4AnalysisClient::SendAnalysisObject(), and TXXXCalibPar::UpdateFrom().
TFolder * TGo4Analysis::GetObjectFolder | ( | ) |
Access to top level go4 folder. For histogram server.
Definition at line 1477 of file TGo4AnalysisImp.cxx.
References fxObjectManager, and TGo4AnalysisObjectManager::GetObjectFolder().
Referenced by TGo4ComSetObject::ExeCom(), TGo4HisConnectorRunnable::Run(), and StoreFolder().
TGo4EventElement * TGo4Analysis::GetOutputEvent | ( | const char * | stepname | ) |
Returns the output event (detector) structure of analysis step. Argument indicates the step by name. For internal usage in the user defined event function UserEventFunc, and is used by analysis steps to get result of previous steps.
Definition at line 1641 of file TGo4AnalysisImp.cxx.
References fxStepManager, and TGo4AnalysisStepManager::GetOutputEvent().
Referenced by TGo4ComGetCurrentEvent::ExeCom(), TGo4EventProcessor::GetOutputEvent(), and TGo4AnalysisStep::Process().
TGo4EventElement * TGo4Analysis::GetOutputEvent | ( | Int_t | stepindex | ) |
Returns the output event (detector) structure of analysis step. Argument number indicates the step from 0 (first) to n (last) in subsequent order. Default is the output event of the currently processed step, which is set by SetEvent method. For internal usage in the user defined event function UserEventFunc, and is used by analysis steps to get result of previous steps.
Definition at line 1636 of file TGo4AnalysisImp.cxx.
References fxStepManager, and TGo4AnalysisStepManager::GetOutputEvent().
TGo4EventElement * TGo4Analysis::GetOutputEvent | ( | ) |
Returns the output event (detector) structure of analysis step. Is set by SetOutputEvent method. For internal usage in the user defined event function UserEventFunc, and is used by analysis steps to get result of previous steps.
Definition at line 1631 of file TGo4AnalysisImp.cxx.
References fxStepManager, and TGo4AnalysisStepManager::GetOutputEvent().
Referenced by CreateSingleEventTree(), and TYYYAnalysis::UserPreLoop().
TGo4Parameter * TGo4Analysis::GetParameter | ( | const char * | name, |
const char * | parameter_class = 0 |
||
) |
Retrieves a parameter object by name from the object folder. Optionally expected class of parameter object could be specified. Returns 0 if no such parameter found (or class not match).
Definition at line 1452 of file TGo4AnalysisImp.cxx.
References fxObjectManager, and TGo4AnalysisObjectManager::GetParameter().
Referenced by TGo4EventProcessor::GetParameter(), and MakeParameter().
TGo4Picture * TGo4Analysis::GetPicture | ( | const char * | name | ) |
Retrieves a picture object by name from the object folder. Returns 0 if no such picture.
Definition at line 1457 of file TGo4AnalysisImp.cxx.
References fxObjectManager, and TGo4AnalysisObjectManager::GetPicture().
Referenced by TGo4EventProcessor::GetPicture().
|
inline |
Returns pointer on current sniffer
Definition at line 859 of file TGo4AnalysisImp.h.
References fSniffer.
Referenced by TGo4AnalysisClient::SendStatusMessage(), and TGo4AnalysisClient::UpdateRate().
TTree * TGo4Analysis::GetTree | ( | const char * | name | ) |
Search tree in tree folder.
Definition at line 1467 of file TGo4AnalysisImp.cxx.
References fxObjectManager, and TGo4AnalysisObjectManager::GetTree().
Referenced by TGo4DynamicList::ProcessTEntry().
|
virtual |
Initialization of the event class plugins which are delivered from the user defined event factory. The virtual standard base class method may be changed by overriding; normally, this is not necessary.
Definition at line 356 of file TGo4AnalysisImp.cxx.
References TGo4Log::Debug(), fbInitIsDone, flagClosed, flagInit, flagPause, fxAnalysisSlave, fxDoWorkingFlag, fxStepManager, TGo4EventSourceException::GetErrMess(), TGo4EventErrorException::GetPriority(), GO4TRACE, TGo4Log::Info(), TGo4AnalysisStepManager::InitEventClasses(), LoadObjects(), Message(), and UpdateNamesList().
Referenced by TGo4AnalysisWebStatus::ApplyStatus(), TGo4Sniffer::CmdRestart(), TGo4ComInitAnalysis::ExeCom(), TGo4AnalysisClient::Initialization(), main(), and TGo4AnalysisWebStatus::UpdateFromUrl().
|
static |
Definition at line 133 of file TGo4AnalysisImp.cxx.
References fbExists, fxInstance, GO4TRACE, and TGo4Analysis().
Referenced by TGo4EventProcessor::AddAnalysisCondition(), TGo4Sniffer::AddAnalysisObject(), TGo4AnalysisStepManager::AddAnalysisStep(), TGo4EventProcessor::AddCanvas(), TGo4EventProcessor::AddHistogram(), TGo4EventProcessor::AddObject(), TGo4EventProcessor::AddParameter(), TGo4EventProcessor::AddPicture(), TGo4AnalysisObjectManager::AddTreeHistogram(), TGo4AnalysisWebStatus::ApplyStatus(), TGo4AnalysisStepManager::AutoSave(), TGo4AnalysisObjectManager::CloseAnalysis(), TGo4Sniffer::CmdClear(), TGo4Sniffer::CmdClearObject(), TGo4Sniffer::CmdClose(), TGo4Sniffer::CmdCloseFiles(), TGo4Sniffer::CmdDeleteObject(), TGo4Sniffer::CmdExecute(), TGo4Sniffer::CmdExit(), TGo4Sniffer::CmdOpenFile(), TGo4Sniffer::CmdRestart(), TGo4Sniffer::CmdStart(), TGo4Sniffer::CmdStop(), TGo4HistogramServer::ConnectObjectClient(), CreateDefaultAnalysis(), TGo4AnalysisObjectManager::CreateNamesList(), TGo4AnalysisWebStatus::CreateStatus(), TGo4AnalysisObjectManager::CreateTreeStructure(), TGo4ComCloseAnalysis::ExeCom(), TGo4ComInitAnalysis::ExeCom(), TGo4ComAutosave::ExeCom(), TGo4ComPrintConditions::ExeCom(), TGo4ComPrintDynList::ExeCom(), TGo4ComPrintHistograms::ExeCom(), TGo4ComGetAnalysisStatus::ExeCom(), TGo4ComGetNamesList::ExeCom(), TGo4ComLoadAnalysisStatus::ExeCom(), TGo4ComSaveAnalysisStatus::ExeCom(), TGo4ComDeleteObject::ExeCom(), TGo4ComGetObjectStatus::ExeCom(), TGo4ComClearObject::ExeCom(), TGo4ComGetEnvelope::ExeCom(), TGo4ComSetAnalysisStatus::ExeCom(), TGo4ComSetProtections::ExeCom(), TGo4ComSetPrintEvent::ExeCom(), TGo4ComGetCurrentEvent::ExeCom(), TGo4ComAddTreeHistogram::ExeCom(), TGo4ComSetObject::ExeCom(), TGo4AnalysisWebStatus::ExecuteLine(), TGo4EventProcessor::ExecuteLine(), TGo4EventProcessor::ExecutePython(), TGo4EventProcessor::ExecuteScript(), TGo4Sniffer::FindInHierarchy(), TGo4EventProcessor::GetAnalysisCondition(), TGo4AnalysisObjectManager::GetAsTObject(), TGo4EventProcessor::GetCanvas(), TGo4EventProcessor::GetHistogram(), TGo4EventProcessor::GetInputEvent(), TGo4EventProcessor::GetObject(), TGo4EventProcessor::GetOutputEvent(), TGo4EventProcessor::GetParameter(), TGo4EventProcessor::GetPicture(), TGo4AnalysisStepManager::InitEventClasses(), TGo4EventProcessor::IsObjMade(), TGo4AnalysisObjectManager::LoadFolder(), TGo4AnalysisWebStatus::LoadStatus(), TGo4EventProcessor::MakeBoxCond(), TGo4EventProcessor::MakeCircleCond(), TGo4EventProcessor::MakeEllipseCond(), TGo4EventProcessor::MakeFreeShapeCond(), TGo4EventProcessor::MakeParameter(), TGo4EventProcessor::MakePolyCond(), TGo4EventProcessor::MakeTH1(), TGo4EventProcessor::MakeTH2(), TGo4EventProcessor::MakeWinCond(), TGo4EventProcessor::Message(), TGo4AnalysisStep::NewEventProcessor(), TGo4AnalysisStep::NewEventSource(), TGo4AnalysisStep::NewEventStore(), TGo4MbsFile::NewFileAction(), TGo4AnalysisStep::NewInputEvent(), TGo4AnalysisStep::NewOutputEvent(), TGo4MbsFile::NextFile(), TGo4InterruptHandler::Notify(), TGo4DynamicList::ProcessHEntry(), TGo4DynamicList::ProcessTEntry(), TGo4AnalysisObjectManager::PutToFolder(), TGo4Sniffer::RemoteTreeDraw(), TGo4EventProcessor::RemoveAnalysisCondition(), TGo4EventProcessor::RemoveCanvas(), TGo4EventProcessor::RemoveHistogram(), TGo4AnalysisObjectManager::RemoveObjectFromFolder(), TGo4EventProcessor::RemoveParameter(), TGo4EventProcessor::RemovePicture(), TGo4AnalysisObjectManager::SaveFolder(), TGo4AnalysisObjectManager::SaveObjects(), TGo4AnalysisWebStatus::SaveStatus(), TGo4Sniffer::ScanRoot(), TGo4EventProcessor::SendObjectToGUI(), TGo4AnalysisStepManager::SetFirstStep(), TGo4AnalysisStepManager::SetLastStep(), TGo4EventProcessor::SetMakeWithAutosave(), TMeshProviderProc::SetRealInput(), TGo4AnalysisClient::TGo4AnalysisClient(), TGo4AnalysisStep::TGo4AnalysisStep(), TGo4HistogramServer::TGo4HistogramServer(), TGo4Sniffer::TGo4Sniffer(), TMeshParameter::UpdateFrom(), TXXXCalibPar::UpdateFrom(), TGo4AnalysisWebStatus::UpdateFromUrl(), TGo4AnalysisClient::UpdateRate(), TGo4AnalysisWebStatus::WriteAutoSave(), and TGo4Sniffer::~TGo4Sniffer().
|
inline |
True if autosave file is changed according to the current input file of lmd file list.
Definition at line 503 of file TGo4AnalysisImp.h.
References fbAutoSaveFileChange.
Referenced by TGo4MbsFile::NewFileAction().
Bool_t TGo4Analysis::IsAutoSaveFileName | ( | ) | const |
Return kTRUE, if autosave file name set.
Definition at line 1064 of file TGo4AnalysisImp.cxx.
References fxAutoFileName.
|
inline |
True if autosaving is enabled
Definition at line 496 of file TGo4AnalysisImp.h.
References fbAutoSaveOn.
Referenced by TGo4ComAutosave::ExeCom(), and TGo4AnalysisClient::Initialization().
|
static |
Return kTRUE if analysis will run in batch (without connection to GUI)
Definition at line 148 of file TGo4AnalysisImp.cxx.
References fiRunningMode.
|
static |
Return kTRUE if analysis will run in gui mode, connected to gui as client
Definition at line 153 of file TGo4AnalysisImp.cxx.
References fiRunningMode.
Int_t TGo4Analysis::IsErrorStopEnabled | ( | ) |
True if current analysis step allows stop on error
Definition at line 1686 of file TGo4AnalysisImp.cxx.
References fxStepManager, and TGo4AnalysisStepManager::IsErrorStopEnabled().
Referenced by Process(), and TGo4AnalysisMainRunnable::Run().
|
inline |
True if the analysis steps are initialized
Definition at line 506 of file TGo4AnalysisImp.h.
References fbInitIsDone.
Referenced by TGo4AnalysisWatchRunnable::Run(), and TGo4AnalysisClient::Start().
|
inline |
True if input filelist has changed to a new lmd file.
Definition at line 531 of file TGo4AnalysisImp.h.
References fbNewInputFile.
Referenced by TXXXAnalysis::UserEventFunc(), and TMeshAnalysis::UserEventFunc().
|
inline |
Returns kTRUE if object in last Make... call was created, kFALSE when object was retrieved from autosavefile
Definition at line 693 of file TGo4AnalysisImp.h.
References fbObjMade.
Referenced by TGo4EventProcessor::IsObjMade().
Bool_t TGo4Analysis::IsRunning | ( | ) |
True if the analysis as controlled by slave process is running. if no slave task (analysis client) is available, always true (plain batch mode never stops) Test: read by reference than copy value, faster?
Definition at line 1234 of file TGo4AnalysisImp.cxx.
References fbExists, fxAnalysisSlave, and TGo4Slave::MainIsRunning().
Referenced by Process(), TGo4AnalysisClient::UpdateRate(), TGo4AnalysisClient::UpdateStatus(), and WaitForStart().
|
static |
Return kTRUE if analysis will run in server mode and gui can connect to the analysis
Definition at line 158 of file TGo4AnalysisImp.cxx.
References fiRunningMode.
|
inlineprivate |
Returns true when event loop execution was stopped, only in batch mode
Definition at line 972 of file TGo4AnalysisImp.h.
References flagStop, and fxDoWorkingFlag.
Referenced by TGo4AnalysisWebStatus::ApplyStatus().
Bool_t TGo4Analysis::LoadObjects | ( | const char * | filename = 0 | ) |
Load analysis objects from file. File is the autosave file by default, but may be specified by name.
Definition at line 1157 of file TGo4AnalysisImp.cxx.
References CloseAutoSaveFile(), fbAutoSaveOn, fbAutoSaveOverwrite, fxAutoFile, fxAutoFileName, fxAutoSaveMutex, fxObjectManager, TGo4Log::Info(), TGo4AnalysisObjectManager::LoadObjects(), and OpenAutoSaveFile().
Referenced by InitEventClasses(), and TGo4AnalysisClient::Initialization().
Bool_t TGo4Analysis::LoadStatus | ( | const char * | filename = 0 | ) |
Load Analysis Status from file and set analysis to these settings.
Definition at line 846 of file TGo4AnalysisImp.cxx.
References fgcDEFAULTFILESUF, fgcDEFAULTSTATUSFILENAME, fxConfigFilename, GetName(), GO4TRACE, Message(), and SetStatus().
Referenced by TGo4ComLoadAnalysisStatus::ExeCom(), TGo4AnalysisClient::Initialization(), TGo4AnalysisWebStatus::LoadStatus(), and main().
Int_t TGo4Analysis::LockAutoSave | ( | ) |
Lock the autosave mutex. For usage in analysis client
Definition at line 1069 of file TGo4AnalysisImp.cxx.
References fxAutoSaveMutex, and GO4TRACE.
Referenced by TGo4AnalysisClient::~TGo4AnalysisClient().
Int_t TGo4Analysis::MainCycle | ( | ) |
The main analysis event cycle. This method is called by the main runnable, or by RunImplicitLoop(). Processes the analysis steps first, then the user event function. Finally, the dynamic list is updated.
Definition at line 386 of file TGo4AnalysisImp.cxx.
References AutoSave(), fbAutoSaveOn, fbInitIsDone, fiAutoSaveCount, fiAutoSaveInterval, fxAnalysisSlave, fxAutoSaveClock, fxObjectManager, GO4TRACE, Message(), ProcessAnalysisSteps(), TGo4AnalysisObjectManager::ProcessDynamicList(), SetNewInputFile(), TGo4AnalysisClient::TestBufferUpdateConditions(), TGo4AnalysisClient::UpdateRate(), TGo4Slave::UpdateStatusBuffer(), and UserEventFunc().
Referenced by Process(), TGo4AnalysisMainRunnable::Run(), and RunImplicitLoop().
TGo4ShapedCond * TGo4Analysis::MakeBoxCond | ( | const char * | fullname, |
Double_t | cx, | ||
Double_t | cy, | ||
Double_t | a1, | ||
Double_t | a2, | ||
Double_t | theta, | ||
const char * | HistoName = 0 |
||
) |
Create tilted rectangular box shaped polygon condition. fullname specifies name of condition (optionally with subfolder name) cx,cy - center coordinates of box a1,a2 - width of box half axes theta - tilt angle HistoName - name of histogram, to which condition is assigned
Definition at line 2123 of file TGo4AnalysisImp.cxx.
References MakeEllipseCond(), and TGo4ShapedCond::SetBox().
Referenced by TGo4EventProcessor::MakeBoxCond().
TGo4ShapedCond * TGo4Analysis::MakeCircleCond | ( | const char * | fullname, |
Int_t | npoints, | ||
Double_t | cx, | ||
Double_t | cy, | ||
Double_t | r, | ||
const char * | HistoName = 0 |
||
) |
Create circular shaped polygon condition. fullname specifies name of condition (optionally with subfolder name) npoints - number of points in shaped condition, 0 for default resolution cx,cy - circle center coordinates r - circle radius HistoName - name of histogram, to which condition is assigned
Definition at line 2114 of file TGo4AnalysisImp.cxx.
References MakeEllipseCond(), and TGo4ShapedCond::SetCircle().
Referenced by TGo4EventProcessor::MakeCircleCond().
TGo4ShapedCond * TGo4Analysis::MakeEllipseCond | ( | const char * | fullname, |
Int_t | npoints, | ||
Double_t | cx, | ||
Double_t | cy, | ||
Double_t | a1, | ||
Double_t | a2, | ||
Double_t | theta = 0 , |
||
const char * | HistoName = 0 |
||
) |
Create ellipse shaped polygon condition. fullname specifies name of condition (optionally with subfolder name) npoints - number of points in ellipse condition, 0 for default resolution cx,cy - center coordinates of ellipse a1,a2 - width of ellipse half axes theta - ellipse tilt angle HistoName - name of histogram, to which condition is assigned
Definition at line 2070 of file TGo4AnalysisImp.cxx.
References AddAnalysisCondition(), TGo4Condition::Enable(), TGo4Log::Error(), fbMakeWithAutosave, fbObjMade, GetAnalysisCondition(), RemoveAnalysisCondition(), TGo4Condition::ResetCounts(), TGo4ShapedCond::SetEllipse(), and TGo4Condition::SetHistogram().
Referenced by MakeBoxCond(), MakeCircleCond(), and TGo4EventProcessor::MakeEllipseCond().
TGo4ShapedCond * TGo4Analysis::MakeFreeShapeCond | ( | const char * | fullname, |
Int_t | npoints, | ||
Double_t(*) | points[2], | ||
const char * | HistoName = 0 |
||
) |
Create free shaped (polygon) condition. in contrast to plain TGo4PolyCond, this one can be converted later to different dedicated shape types (ellipse, box, etc.) fullname specifies name of condition (optionally with subfolder name) npoints - number of points in polygon condition points - (X,Y) points HistoName - name of histogram, to which condition is assigned To use method, array should be declared as following: Double_t points[4][2] = { {10, 0}, {10, 10}, {5, 15}, {5, 5} }; cond = MakePolyCond("Folder/CondName", 4, points);
Definition at line 2133 of file TGo4AnalysisImp.cxx.
References MakePolyCond(), and TGo4ShapedCond::SetFreeShape().
Referenced by TGo4EventProcessor::MakeFreeShapeCond().
TGo4Parameter * TGo4Analysis::MakeParameter | ( | const char * | fullname, |
const char * | classname, | ||
const char * | cmd = 0 |
||
) |
Create parameter of specified class, fullname specifies name of condition (optionally with subfolder name) classname - name of required parameter class, it should be known to ROOT. cmd - optional argument, can be used for two purposes: 1) as new command to create parameter like "new UserParameter(%s, 1000, 2000)", where s is place for parameter name. Should be specified, if parameter constructor contains more parameters as only parameter name. Such argument should be always started with 'new ' command. 2) macro name to set parameter value. Macro executed immediately after parameter creation (or loading from auto-save file) and thus overwrites parameters value. Macro name should be always starting with "set_"
Definition at line 2146 of file TGo4AnalysisImp.cxx.
References AddParameter(), TGo4Log::Error(), ExecuteScript(), fbObjMade, GetParameter(), TGo4Log::Info(), and RemoveParameter().
Referenced by TGo4EventProcessor::MakeParameter().
TGo4PolyCond * TGo4Analysis::MakePolyCond | ( | const char * | fullname, |
Int_t | npoints, | ||
Double_t(*) | points[2], | ||
const char * | HistoName = 0 , |
||
Bool_t | shapedcond = kFALSE |
||
) |
Create polygon condition. fullname specifies name of condition (optionally with subfolder name) npoints - number of points in polygon condition points - (X,Y) points HistoName - name of histogram, to which condition is assigned shapedcond - create a freestyle TGo4ShapedCond To use method, array should be declared as following: Double_t points[4][2] = { {10, 0}, {10, 10}, {5, 15}, {5, 5} }; cond = MakePolyCond("Folder/CondName", 4, points);
Definition at line 2004 of file TGo4AnalysisImp.cxx.
References AddAnalysisCondition(), TGo4Log::Error(), fbMakeWithAutosave, fbObjMade, GetAnalysisCondition(), RemoveAnalysisCondition(), and TGo4Condition::ResetCounts().
Referenced by MakeFreeShapeCond(), and TGo4EventProcessor::MakePolyCond().
TH1 * TGo4Analysis::MakeTH1 | ( | char | type, |
const char * | fullname, | ||
const char * | title, | ||
Int_t | nbinsx, | ||
Double_t | xlow, | ||
Double_t | xup, | ||
const char * | xtitle = 0 , |
||
const char * | ytitle = 0 |
||
) |
Create one dimensional histogram of specified type. Type can be: 'I', 'i' for TH1I - Int_t as bin content (default) 'F', 'f' for TH1F - Float_t as bin content 'D', 'd' for TH1D - Double_t as bin content 'S', 's' for TH1S - Short_t as bin content 'C', 'c' for TH1C - Char_t as bin content fullname specifies name of histogram (optionally with subfolder name) title - histogram title nbinsx, xlow, xup - range arguments for X axis xtitle, ytitle - title for X and Y axis of histogram If histogram exactly with same name and type already exists in autosave file, it will be return. With SetMakeWithAutosave(kFALSE) one can exclude data from autosave.
Definition at line 1754 of file TGo4AnalysisImp.cxx.
References AddHistogram(), TGo4Log::Error(), fbMakeWithAutosave, fbObjMade, GetHistogram(), TGo4Log::Info(), and RemoveHistogram().
Referenced by TGo4EventProcessor::MakeTH1().
TH2 * TGo4Analysis::MakeTH2 | ( | char | type, |
const char * | fullname, | ||
const char * | title, | ||
Int_t | nbinsx, | ||
Double_t | xlow, | ||
Double_t | xup, | ||
Int_t | nbinsy, | ||
Double_t | ylow, | ||
Double_t | yup, | ||
const char * | xtitle = 0 , |
||
const char * | ytitle = 0 , |
||
const char * | ztitle = 0 |
||
) |
Create two dimensional histogram of specified type. Type can be: 'I', 'i' for TH2I - Int_t as bin content (default) 'F', 'f' for TH2F - Float_t as bin content 'D', 'd' for TH2D - Double_t as bin content 'S', 's' for TH2S - Short_t as bin content 'C', 'c' for TH1C - Char_t as bin content fullname specifies name of histogram (optionally with subfolder name) title - histogram title nbinsx, xlow, xup - range arguments for X axis nbinsy, ylow, yup - range arguments for Y axis xtitle, ytitle, ztitle - title for X, Y and Z axis of histogram If histogram exactly with same name and type already exists in autosave file, it will be return. With SetMakeWithAutosave(kFALSE) one can exclude data from autosave.
Definition at line 1834 of file TGo4AnalysisImp.cxx.
References AddHistogram(), TGo4Log::Error(), fbMakeWithAutosave, fbObjMade, GetHistogram(), TGo4Log::Info(), and RemoveHistogram().
Referenced by TGo4EventProcessor::MakeTH2().
TGo4WinCond * TGo4Analysis::MakeWinCond | ( | const char * | fullname, |
Double_t | xmin, | ||
Double_t | xmax, | ||
const char * | HistoName = 0 |
||
) |
Create 1D window condition. fullname specifies name of condition (optionally with subfolder name) xmin, xmax - condition range HistoName - name of histogram, to which condition is assigned
Definition at line 1917 of file TGo4AnalysisImp.cxx.
References AddAnalysisCondition(), TGo4Condition::Enable(), TGo4Log::Error(), fbMakeWithAutosave, fbObjMade, GetAnalysisCondition(), RemoveAnalysisCondition(), TGo4Condition::ResetCounts(), TGo4Condition::SetHistogram(), and TGo4WinCond::SetValues().
Referenced by TGo4EventProcessor::MakeWinCond().
TGo4WinCond * TGo4Analysis::MakeWinCond | ( | const char * | fullname, |
Double_t | xmin, | ||
Double_t | xmax, | ||
Double_t | ymin, | ||
Double_t | ymax, | ||
const char * | HistoName = 0 |
||
) |
Create 2D window condition. fullname specifies name of condition (optionally with subfolder name) xmin, xmax - X condition range ymin, ymax - Y condition range HistoName - name of histogram, to which condition is assigned
Definition at line 1960 of file TGo4AnalysisImp.cxx.
References AddAnalysisCondition(), TGo4Condition::Enable(), TGo4Log::Error(), fbMakeWithAutosave, fbObjMade, GetAnalysisCondition(), RemoveAnalysisCondition(), TGo4Condition::ResetCounts(), TGo4Condition::SetHistogram(), and TGo4WinCond::SetValues().
void TGo4Analysis::Message | ( | Int_t | prio, |
const char * | text, | ||
... | |||
) |
Display a user message. Argument pri defines message priority: <0: display text as info on local terminal and in logfile anyway, independent of ignorelevel 0: local terminal only; if debug level is enabled (TGo4Log::SetIgnorelevel(0)) 1: local terminal and info message in gui log panel (if gui mode) 2: local terminal and warning message in gui log panel (if gui mode) 3: local terminal and error message in gui log panel (if gui mode)
Definition at line 1186 of file TGo4AnalysisImp.cxx.
References TGo4Log::fguMESLEN, and SendMessageToGUI().
Referenced by TGo4AnalysisStepManager::AddAnalysisStep(), TGo4AnalysisObjectManager::AddTreeHistogram(), TGo4AnalysisStepManager::AutoSave(), AutoSave(), TGo4AnalysisObjectManager::CloseAnalysis(), CloseAutoSaveFile(), TGo4HistogramServer::ConnectObjectClient(), Constructor(), TGo4AnalysisObjectManager::CreateTreeStructure(), TGo4AnalysisObjectManager::GetAsTObject(), TGo4AnalysisStepManager::InitEventClasses(), InitEventClasses(), TGo4AnalysisObjectManager::LoadFolder(), LoadStatus(), MainCycle(), TGo4EventProcessor::Message(), TGo4AnalysisStep::NewEventProcessor(), TGo4AnalysisStep::NewEventSource(), TGo4AnalysisStep::NewEventStore(), TGo4MbsFile::NewFileAction(), TGo4AnalysisStep::NewInputEvent(), TGo4AnalysisStep::NewOutputEvent(), TGo4MbsFile::NextFile(), OpenAutoSaveFile(), Process(), TGo4AnalysisObjectManager::PutToFolder(), TGo4AnalysisObjectManager::RemoveObjectFromFolder(), TGo4HisConnectorRunnable::Run(), RunImplicitLoop(), TGo4AnalysisObjectManager::SaveFolder(), TGo4AnalysisObjectManager::SaveObjects(), SaveStatus(), SendObjectToGUI(), TGo4AnalysisStepManager::SetFirstStep(), TGo4AnalysisStepManager::SetLastStep(), ShowEvent(), StartAnalysis(), StartObjectServer(), StopObjectServer(), TGo4HistogramServer::TGo4HistogramServer(), UpdateNamesList(), UserPostLoop(), and UserPreLoop().
Bool_t TGo4Analysis::NewStepProcessor | ( | const char * | name, |
TGo4EventProcessorParameter * | par | ||
) |
Shuts down the old analysis step processor and creates a new one specified by parameter par. To be used in online mode to switch event processing.
Definition at line 1646 of file TGo4AnalysisImp.cxx.
References fxStepManager, and TGo4AnalysisStepManager::NewStepProcessor().
Bool_t TGo4Analysis::NewStepSource | ( | const char * | name, |
TGo4EventSourceParameter * | par | ||
) |
Shuts down the old analysis step event source and creates a new one specified by parameter par. To be used in online mode to switch input.
Definition at line 1651 of file TGo4AnalysisImp.cxx.
References fxStepManager, and TGo4AnalysisStepManager::NewStepSource().
Bool_t TGo4Analysis::NewStepStore | ( | const char * | name, |
TGo4EventStoreParameter * | par | ||
) |
Shuts down the old analysis step storage and creates a new one specified by parameter par. To be used in online mode to switch output files.
Definition at line 1656 of file TGo4AnalysisImp.cxx.
References fxStepManager, and TGo4AnalysisStepManager::NewStepStore().
TObject * TGo4Analysis::NextMatchingObject | ( | const char * | expr = 0 , |
const char * | folder = 0 , |
||
Bool_t | reset = kFALSE |
||
) |
Delivers pointer to next object of the Go4 folder structure with a name matching the expression expr. If reset is true, The list of matching objects will be created anew by comparing all names with expr. If reset is false, the next object of a previously created matching list is returned. Optionally the search can be limited to a given folder.
Definition at line 1612 of file TGo4AnalysisImp.cxx.
References fxObjectManager, and TGo4AnalysisObjectManager::NextMatchingObject().
|
inline |
Returns pointer on analysis object manager
Definition at line 188 of file TGo4AnalysisImp.h.
References fxObjectManager.
Referenced by TGo4Sniffer::CmdCloseFiles(), TGo4Sniffer::CmdOpenFile(), TGo4ComGetEnvelope::ExeCom(), TGo4Sniffer::ScanRoot(), and SendObjectToGUI().
|
private |
Open the autosave file with the current settings.
Definition at line 1103 of file TGo4AnalysisImp.cxx.
References fbAutoSaveOn, fiAutoSaveCompression, fxAutoFile, fxAutoFileName, fxAutoSaveMutex, and Message().
Referenced by AutoSave(), and LoadObjects().
Int_t TGo4Analysis::PostLoop | ( | ) |
Method executed once after the main analysis event loop. This method is called by the thread postrun, or at the end of RunImplicitLoop(). Calls virtual user postloop function.
Definition at line 1008 of file TGo4AnalysisImp.cxx.
References fbInitIsDone, fxAutoSaveMutex, fxStepManager, TGo4AnalysisStepManager::GetAnalysisStepNum(), TGo4AnalysisStep::GetEventProcessor(), TGo4AnalysisStepManager::GetNumberOfAnalysisSteps(), GO4TRACE, UserPostLoop(), and TGo4EventProcessor::UserPostLoop().
Referenced by TGo4AnalysisWebStatus::ApplyStatus(), TGo4Sniffer::CmdClose(), TGo4Sniffer::CmdRestart(), TGo4ComCloseAnalysis::ExeCom(), TGo4ComSetAnalysisStatus::ExeCom(), TGo4AnalysisMainRunnable::PostRun(), RunImplicitLoop(), TGo4AnalysisClient::Stop(), and StopAnalysis().
Int_t TGo4Analysis::PreLoop | ( | ) |
Method executed once before the main analysis event loop. This method is called by the thread prerun, or at the beginning of RunImplicitLoop(). Calls virtual user preloop function.
Definition at line 991 of file TGo4AnalysisImp.cxx.
References fiAutoSaveCount, fxAutoSaveClock, fxAutoSaveMutex, fxStepManager, TGo4AnalysisStepManager::GetAnalysisStepNum(), TGo4AnalysisStep::GetEventProcessor(), TGo4AnalysisStepManager::GetNumberOfAnalysisSteps(), GO4TRACE, UserPreLoop(), and TGo4EventProcessor::UserPreLoop().
Referenced by TGo4AnalysisWebStatus::ApplyStatus(), TGo4Sniffer::CmdRestart(), TGo4ComInitAnalysis::ExeCom(), TGo4AnalysisClient::Start(), and StartAnalysis().
|
virtual |
Printout the analysis (step-) setup.
Definition at line 951 of file TGo4AnalysisImp.cxx.
References CreateStatus(), and TGo4AnalysisStatus::PrintStatus().
void TGo4Analysis::PrintConditions | ( | const char * | expression = 0 | ) |
Print all condition counters to the terminal.
Definition at line 1592 of file TGo4AnalysisImp.cxx.
References fxObjectManager, and TGo4AnalysisObjectManager::PrintConditions().
Referenced by TGo4ComPrintConditions::ExeCom().
void TGo4Analysis::PrintDynamicList | ( | ) |
Print entries of current dynamic list.
Definition at line 1607 of file TGo4AnalysisImp.cxx.
References fxObjectManager, and TGo4AnalysisObjectManager::PrintDynamicList().
Referenced by TGo4ComPrintDynList::ExeCom().
void TGo4Analysis::PrintHistograms | ( | const char * | expression = 0 | ) |
Printout of all histogram statistic counters on the terminal.
Definition at line 1597 of file TGo4AnalysisImp.cxx.
References fxObjectManager, and TGo4AnalysisObjectManager::PrintHistograms().
Referenced by TGo4ComPrintHistograms::ExeCom().
void TGo4Analysis::PrintParameters | ( | const char * | expression = 0 | ) |
Printout of all parameters on the terminal.
Definition at line 1602 of file TGo4AnalysisImp.cxx.
References fxObjectManager, and TGo4AnalysisObjectManager::PrintParameters().
Int_t TGo4Analysis::Process | ( | ) |
This method is meant to be called from a go4 cintserver macro in an explicit event loop. It executes any queued commands and calls MainCycle() once, protected by main go4 lockguard. Returns 0 if analysis has IsRunning() state true; returns negative value if IsRunning() is false.
Definition at line 439 of file TGo4AnalysisImp.cxx.
References fxAnalysisSlave, TGo4DynamicListException::GetEntryClass(), TGo4DynamicListException::GetEntryName(), TGo4EventSourceException::GetErrMess(), TGo4Log::GetIgnoreLevel(), TGo4UserException::GetMessage(), GetName(), TGo4EventErrorException::GetPriority(), TGo4UserException::GetPriority(), TGo4EventSourceException::GetSourceClass(), TGo4EventSourceException::GetSourceName(), TGo4DynamicListException::GetStatusMessage(), TGo4AnalysisStepException::GetStatusMessage(), TGo4AnalysisStepException::GetStepName(), GO4TRACE, TGo4AnalysisStepException::Handle(), TGo4DynamicListException::Handle(), TGo4EventSourceException::Handle(), IsErrorStopEnabled(), IsRunning(), MainCycle(), Message(), ProcessEvents(), and TGo4AnalysisClient::Stop().
|
protected |
Uses the chain of analysis steps to process the first input event into an output event which then is accessible at the output event member. Returns number of steps run. For internal usage in the MainCycle and GetEvent methods; may also be called from UserEventFunc directly.
Definition at line 1696 of file TGo4AnalysisImp.cxx.
References fxStepManager, and TGo4AnalysisStepManager::ProcessAnalysisSteps().
Referenced by MainCycle().
void TGo4Analysis::ProcessCrtlCSignal | ( | ) |
Method called from Ctrl-C handler
Definition at line 331 of file TGo4AnalysisImp.cxx.
References CloseAnalysis(), CloseAutoSaveFile(), TGo4Log::CloseLogfile(), fNumCtrlC, ShutdownServer(), and StopWorking().
Referenced by TGo4InterruptHandler::Notify().
void TGo4Analysis::ProcessEvents | ( | ) |
Method should be called to process extra events in the analysis thread context
Definition at line 434 of file TGo4AnalysisImp.cxx.
References fSniffer, and TGo4AnalysisSniffer::ProcessSnifferEvents().
Referenced by Process(), TGo4AnalysisMainRunnable::Run(), and RunImplicitLoop().
Bool_t TGo4Analysis::ProtectObjects | ( | const char * | name, |
const Option_t * | flags | ||
) |
Change protection properties of object name as specified. If object is a folder, change properties of all objects in this folder recursively. Flags may contain key letters like: "+C"/"-C" to enable/disable protection against Clear()(histogram zeroing etc). "+D"/"-D" to enable/disable protection against object deletion For example flags="+C-D", "+C+D", "-D-C", "-C" Properties not appearing in flags are not changed.
Definition at line 1557 of file TGo4AnalysisImp.cxx.
References fxObjectManager, and TGo4AnalysisObjectManager::ProtectObjects().
Referenced by TGo4ComSetProtections::ExeCom().
Bool_t TGo4Analysis::RemoveAnalysisCondition | ( | const char * | name | ) |
Removes analysis condition from list by name. Returns 0 if no such condition. Condition object is deleted on heap.
Definition at line 1537 of file TGo4AnalysisImp.cxx.
References fxObjectManager, and TGo4AnalysisObjectManager::RemoveAnalysisCondition().
Referenced by MakeEllipseCond(), MakePolyCond(), MakeWinCond(), and TGo4EventProcessor::RemoveAnalysisCondition().
Bool_t TGo4Analysis::RemoveCanvas | ( | const char * | name | ) |
Removes TCanvas by name. Returns 0 if no such canvas. TCanvas object is deleted on heap.
Definition at line 1527 of file TGo4AnalysisImp.cxx.
References fxObjectManager, and TGo4AnalysisObjectManager::RemoveCanvas().
Referenced by TGo4EventProcessor::RemoveCanvas().
Bool_t TGo4Analysis::RemoveDynamicEntry | ( | const char * | entryname, |
const char * | listname = 0 |
||
) |
Remove entry of that name from dynamic list of listname. The referred objects (histograms, conditions..) are still on heap, since they are owned by their special folders.
Definition at line 804 of file TGo4AnalysisImp.cxx.
References fxObjectManager, GO4TRACE, TGo4AnalysisObjectManager::RemoveDynamicEntry(), and UpdateNamesList().
|
private |
Remove reference to event processor from go4 folder structure.
Definition at line 1542 of file TGo4AnalysisImp.cxx.
References fxObjectManager, and TGo4AnalysisObjectManager::RemoveEventProcessor().
Referenced by TGo4AnalysisStep::CloseEventProcessor().
|
private |
Remove reference to event source from go4 folder structure.
Definition at line 1492 of file TGo4AnalysisImp.cxx.
References fxObjectManager, and TGo4AnalysisObjectManager::RemoveEventSource().
Referenced by TGo4AnalysisStep::CloseEventSource().
|
private |
Remove reference to event store from go4 folder structure.
Definition at line 1497 of file TGo4AnalysisImp.cxx.
References fxObjectManager, and TGo4AnalysisObjectManager::RemoveEventStore().
Referenced by TGo4AnalysisStep::CloseEventStore().
|
private |
Remove reference to event structure from go4 folder structure.
Definition at line 1502 of file TGo4AnalysisImp.cxx.
References fxObjectManager, and TGo4AnalysisObjectManager::RemoveEventStructure().
Referenced by TGo4AnalysisStep::DeleteInputEvent(), and TGo4AnalysisStep::DeleteOutputEvent().
Bool_t TGo4Analysis::RemoveHistogram | ( | const char * | name, |
Bool_t | del = kTRUE |
||
) |
Removes histogram from histogram dir by name. Returns kFALSE if no such index. Histogram object is deleted on heap. Dynamic list entry for that histogram object is also removed.
Definition at line 1507 of file TGo4AnalysisImp.cxx.
References fxObjectManager, and TGo4AnalysisObjectManager::RemoveHistogram().
Referenced by MakeTH1(), MakeTH2(), and TGo4EventProcessor::RemoveHistogram().
Bool_t TGo4Analysis::RemoveObject | ( | const char * | name, |
Bool_t | del = kTRUE |
||
) |
Removes object from user object folder by name. Returns kFALSE if no such histogram. Object is deleted on heap only if del is true. Otherwise, user owns the object afterwards.
Definition at line 1512 of file TGo4AnalysisImp.cxx.
References fxObjectManager, and TGo4AnalysisObjectManager::RemoveObject().
Bool_t TGo4Analysis::RemoveParameter | ( | const char * | name | ) |
Removes parameter by name. Returns 0 if no such parameter. Parameter object is deleted on heap.
Definition at line 1517 of file TGo4AnalysisImp.cxx.
References fxObjectManager, and TGo4AnalysisObjectManager::RemoveParameter().
Referenced by MakeParameter(), and TGo4EventProcessor::RemoveParameter().
Bool_t TGo4Analysis::RemovePicture | ( | const char * | name | ) |
Removes picture by name. Returns 0 if no such picture. Picture object is deleted on heap.
Definition at line 1522 of file TGo4AnalysisImp.cxx.
References fxObjectManager, and TGo4AnalysisObjectManager::RemovePicture().
Referenced by TGo4EventProcessor::RemovePicture().
Bool_t TGo4Analysis::RemoveTree | ( | TTree * | tree, |
const char * | stepname = 0 |
||
) |
Remove reference to a tree in the go4 folder structure. If name of analysis step is given, tree will be assigned to folder dedicated to that step. In stepname is zero, the tree will be put into general tree folder.
Definition at line 1532 of file TGo4AnalysisImp.cxx.
References fxObjectManager, and TGo4AnalysisObjectManager::RemoveTree().
Referenced by TGo4AnalysisStep::CloseEventStore().
Bool_t TGo4Analysis::ResetBackStores | ( | Bool_t | clearflag = kFALSE | ) |
Clear previous events of backstore tree. For reset of dynamic tree histogram If called with clearflag=true, do not reset tree, but only clear the backstore reset bit (done after processing of complete dynamic list)
Definition at line 1562 of file TGo4AnalysisImp.cxx.
References fxObjectManager, and TGo4AnalysisObjectManager::ResetBackStores().
Int_t TGo4Analysis::RunImplicitLoop | ( | Int_t | times, |
Bool_t | showrate = kFALSE , |
||
Double_t | process_event_interval = -1. , |
||
Bool_t | iswebserver = kFALSE |
||
) |
Processes the UserEventFunc in an implicit loop for "times" times. For non-threaded usage of the analysis class.
times | specified how many events should be processed, 0 - all |
showrate | identifies if ratemeter should be shown |
process_event_interval | allows regularly process ROOT system events |
iswebserver | specifies if loop shall be suspended at end of event source, or returns from batch |
Definition at line 609 of file TGo4AnalysisImp.cxx.
References fBatchLoopCount, flagClosed, flagPause, flagRunning, flagStop, fSniffer, fxDoWorkingFlag, fxRate, GetAnalysisStep(), TGo4Ratemeter::GetCurrentCount(), TGo4EventSourceException::GetErrMess(), TGo4AnalysisStep::GetEventSourceName(), TGo4Log::GetPrintfArg(), TGo4EventErrorException::GetPriority(), TGo4UserException::GetPriority(), TGo4Ratemeter::GetRate(), TGo4EventSourceException::GetSourceClass(), TGo4EventSourceException::GetSourceName(), GO4TRACE, TGo4EventSourceException::Handle(), TGo4Exception::Handle(), TGo4UserException::Handle(), MainCycle(), Message(), PostLoop(), TGo4Log::Printf(), ProcessEvents(), TGo4AnalysisSniffer::RatemeterUpdate(), TGo4Ratemeter::Reset(), TGo4Ratemeter::SetCurrentSource(), TGo4Ratemeter::SetDateTime(), TGo4Ratemeter::SetRunning(), TGo4Ratemeter::SetUpdateInterval(), TGo4Ratemeter::Update(), and TGo4Exception::What().
Referenced by main().
Bool_t TGo4Analysis::SaveStatus | ( | const char * | filename = 0 | ) |
Save current analysis settings into file of given name.
Definition at line 892 of file TGo4AnalysisImp.cxx.
References CreateStatus(), fgcDEFAULTFILESUF, fgcDEFAULTSTATUSFILENAME, fxConfigFilename, GO4TRACE, and Message().
Referenced by TGo4ComSaveAnalysisStatus::ExeCom(), and TGo4AnalysisWebStatus::SaveStatus().
|
private |
Send message string in a status object to the gui. Will be displayed in status window. Level indicates info (1), warning (2) or error(3), if printout is true, message will also be printed on terminal. In non-GUI mode, this method is equivalent to TGo4Log::Message
Definition at line 1196 of file TGo4AnalysisImp.cxx.
References fSniffer, fxAnalysisSlave, TGo4Log::IsOutputEnabled(), TGo4Log::Message(), TGo4Log::OutputEnable(), TGo4AnalysisClient::SendStatusMessage(), and TGo4AnalysisSniffer::StatusMessage().
Referenced by TGo4Sniffer::CmdClear(), and Message().
void TGo4Analysis::SendObjectToGUI | ( | TObject * | ob | ) |
User May send any named object via data channel to the gui. In batch mode, this method is disabled.
Definition at line 1213 of file TGo4AnalysisImp.cxx.
References TGo4AnalysisObjectManager::FindObjectPathName(), fxAnalysisSlave, Message(), ObjectManager(), and TGo4Slave::SendObject().
void TGo4Analysis::SetAdministratorPassword | ( | const char * | passwd | ) |
Specify password for administrator account. For login from remote gui into analysis server
Definition at line 1749 of file TGo4AnalysisImp.cxx.
References fServerAdminPass.
|
inlineprivate |
Register analysis client if running in gui mode.
Definition at line 954 of file TGo4AnalysisImp.h.
References fxAnalysisSlave.
Referenced by TGo4AnalysisClient::TGo4AnalysisClient().
Bool_t TGo4Analysis::SetAnalysisCondition | ( | const char * | name, |
TGo4Condition * | con, | ||
Bool_t | counter = kTRUE |
||
) |
Set existing analysis condition of name to the values of external condition object con. Used to set condition by command from gui, or to update the precompiled condition from the values that were saved to the autosave file.
Definition at line 1567 of file TGo4AnalysisImp.cxx.
References fxObjectManager, and TGo4AnalysisObjectManager::SetAnalysisCondition().
Referenced by TGo4ComSetObject::ExeSetCon().
|
inline |
Definition at line 134 of file TGo4AnalysisImp.h.
References fAnalysisName.
Referenced by TGo4Analysis().
|
inline |
enable/disable functionality of AutoSave method
Definition at line 493 of file TGo4AnalysisImp.h.
References fbAutoSaveOn.
Referenced by TGo4ComAutosave::ExeCom(), main(), TGo4AnalysisClient::SetCintMode(), and SetStatus().
void TGo4Analysis::SetAutoSaveFile | ( | const char * | filename = 0 , |
Bool_t | overwrite = kFALSE , |
||
Int_t | compression = 5 |
||
) |
Set file for autosave action.
Definition at line 1049 of file TGo4AnalysisImp.cxx.
References fbAutoSaveOverwrite, fgcDEFAULTFILENAME, fgcDEFAULTFILESUF, fiAutoSaveCompression, and fxAutoFileName.
Referenced by TGo4ComAutosave::ExeCom(), main(), TGo4MbsFile::NewFileAction(), SetStatus(), and TGo4AnalysisWebStatus::WriteAutoSave().
|
inline |
Set analysis in mode where autosave file switches for each new input file
Definition at line 499 of file TGo4AnalysisImp.h.
References fbAutoSaveFileChange.
|
inline |
Set time interval (in s) for autosave action.
Definition at line 476 of file TGo4AnalysisImp.h.
References fiAutoSaveInterval.
Referenced by main(), and SetStatus().
|
inline |
Set number of event loop count, executed in batch mode
Definition at line 686 of file TGo4AnalysisImp.h.
References fBatchLoopCount.
void TGo4Analysis::SetControllerPassword | ( | const char * | passwd | ) |
Specify password for controller account. For login from remote gui into analysis server
Definition at line 1744 of file TGo4AnalysisImp.cxx.
References fServerCtrlPass.
void TGo4Analysis::SetDynListInterval | ( | Int_t | val | ) |
Definition at line 1587 of file TGo4AnalysisImp.cxx.
References fxObjectManager, and TGo4AnalysisObjectManager::SetDynListInterval().
Referenced by Constructor(), and TGo4ComSetObject::ExeSetDyn().
Bool_t TGo4Analysis::SetFirstStep | ( | const char * | name | ) |
Sets analysis step name as first one to be processed in the chain of steps. First step will read input event from its event source. If name is nullpointer, takes first step in steplist.
Definition at line 1671 of file TGo4AnalysisImp.cxx.
References fxStepManager, and TGo4AnalysisStepManager::SetFirstStep().
|
inline |
Set current input file name
Definition at line 534 of file TGo4AnalysisImp.h.
References fxCurrentInputFileName.
Referenced by TGo4MbsFile::NewFileAction().
Bool_t TGo4Analysis::SetLastStep | ( | const char * | name | ) |
Sets analysis step name as last one to be processed in the chain of steps. Last step will write output event into its event store by default, its output event is accessible in the user analysis. If name is nullpointer, takes last step in steplist.
Definition at line 1676 of file TGo4AnalysisImp.cxx.
References fxStepManager, and TGo4AnalysisStepManager::SetLastStep().
|
inline |
Set flag to use data from autosave file in Make... methods (default true)
Definition at line 689 of file TGo4AnalysisImp.h.
References fbMakeWithAutosave.
Referenced by TGo4EventProcessor::SetMakeWithAutosave().
|
inline |
Set flag that input file has changed
Definition at line 528 of file TGo4AnalysisImp.h.
References fbNewInputFile.
Referenced by MainCycle(), and TGo4MbsFile::NewFileAction().
void TGo4Analysis::SetObserverPassword | ( | const char * | passwd | ) |
Specify password for observer account. For login from remote gui into analysis server
Definition at line 1739 of file TGo4AnalysisImp.cxx.
References fServerObserverPass.
|
private |
Sets the current output event (detector) structure. For internal usage by the chain of analysis steps, since TGo4AnalysisStep is friend.
Definition at line 1701 of file TGo4AnalysisImp.cxx.
References fxStepManager, and TGo4AnalysisStepManager::SetOutputEvent().
Referenced by TGo4AnalysisStep::Process().
Bool_t TGo4Analysis::SetParameter | ( | const char * | name, |
TGo4Parameter * | par | ||
) |
Set existing parameter of name to the values of external parameter object par. Used to set parameter by command from gui, or to update the precompiled parameter from the values that were saved to the autosave file.
Definition at line 1572 of file TGo4AnalysisImp.cxx.
References fxObjectManager, and TGo4AnalysisObjectManager::SetParameter().
Referenced by TGo4ComSetObject::ExeSetPar().
Bool_t TGo4Analysis::SetParameterStatus | ( | const char * | name, |
TGo4ParameterStatus * | par | ||
) |
Set existing parameter of name to the values of external parameter status object. Used to set parameter by command from gui, or to update the precompiled parameter from the values that were saved to the autosave file.
Definition at line 1577 of file TGo4AnalysisImp.cxx.
References fxObjectManager, and TGo4AnalysisObjectManager::SetParameterStatus().
Referenced by TGo4ComSetObject::ExeSetParStatus().
Bool_t TGo4Analysis::SetPicture | ( | const char * | name, |
TGo4Picture * | pic | ||
) |
Set existing picture of name to the values of external picture object pic. Used to set picture by command from gui, or to update the precompiled picture from the values that were saved to the autosave file.
Definition at line 1582 of file TGo4AnalysisImp.cxx.
References fxObjectManager, and TGo4AnalysisObjectManager::SetPicture().
Referenced by TGo4ComSetObject::ExeSetPic().
void TGo4Analysis::SetRunning | ( | Bool_t | on = kTRUE | ) |
Switch slave process into running state. To be used from analysis macro to start/stop the go4 loop on certain conditions.
Definition at line 1242 of file TGo4AnalysisImp.cxx.
References fxAnalysisSlave, TGo4AnalysisClient::Start(), and TGo4AnalysisClient::Stop().
|
static |
|
inline |
Set pointer on sniffer object
Definition at line 856 of file TGo4AnalysisImp.h.
References fSniffer.
Referenced by TGo4Sniffer::TGo4Sniffer(), and TGo4Sniffer::~TGo4Sniffer().
void TGo4Analysis::SetStatus | ( | TGo4AnalysisStatus * | state | ) |
Set all analysis parameters to that of given status object. Analysis will be stopped, all steps are closed (deleted). Then analysis steps are created due to list of analysis step status objects encapsulated in the analysis status object. This method does not initialize the analysis due to the new parameters; this is left to InitEventClasses.
Definition at line 830 of file TGo4AnalysisImp.cxx.
References CloseAnalysis(), fxStepManager, TGo4AnalysisStatus::GetAutoFileName(), TGo4AnalysisStatus::GetAutoSaveCompression(), TGo4AnalysisStatus::GetAutoSaveInterval(), GO4TRACE, TGo4AnalysisStatus::IsAutoSaveOn(), TGo4AnalysisStatus::IsAutoSaveOverwrite(), SetAutoSave(), SetAutoSaveFile(), SetAutoSaveInterval(), and TGo4AnalysisStepManager::SetStatus().
Referenced by TGo4AnalysisWebStatus::ApplyStatus(), TGo4ComSetAnalysisStatus::ExeCom(), LoadStatus(), and TGo4AnalysisWebStatus::UpdateFromUrl().
void TGo4Analysis::SetStepChecking | ( | Bool_t | on = kTRUE | ) |
Enable or disable check of subsequent analysis step for io consistency. Default is on, disable for non serial type analyses.
Definition at line 1666 of file TGo4AnalysisImp.cxx.
References fxStepManager, and TGo4AnalysisStepManager::SetStepChecking().
Referenced by TMeshAnalysis::TMeshAnalysis().
Bool_t TGo4Analysis::SetStepStorage | ( | const char * | name, |
Bool_t | on | ||
) |
Enables analysis step of name to write its output event into its event store. By default only the last analysis step will keep the output event in the store, the intermediate steps will only pass the output to the subsequent step. This method lets also any intermediate step write the result to its store, which can later be used to process from this point of the analysis chain. However, you may also switch off the storage of the last analysis step output if you only want to use the histograms produced by the final user event function.
Definition at line 1681 of file TGo4AnalysisImp.cxx.
References fxStepManager, and TGo4AnalysisStepManager::SetStepStorage().
void TGo4Analysis::ShowEvent | ( | const char * | stepname, |
Bool_t | isoutput = kTRUE |
||
) |
Printout event content of single current event to analysis terminal (using ROOT TTree::Show method). Event is searched by name of analysis step. If isoutput true, then output event of that step is used, otherwise input event. If analysis step not found, event of stepname is searched in registered folders.
Definition at line 1323 of file TGo4AnalysisImp.cxx.
References CreateSingleEventTree(), and Message().
Referenced by TGo4ComGetCurrentEvent::ExeCom().
|
private |
Definition at line 1309 of file TGo4AnalysisImp.cxx.
References fxAnalysisSlave, TGo4Log::Message(), and TGo4AnalysisClient::SubmitShutdown().
Referenced by ProcessCrtlCSignal().
void TGo4Analysis::StartAnalysis | ( | ) |
(Re)Start analysis event loop, works in both batch and gui-controlled mode
Definition at line 2323 of file TGo4AnalysisImp.cxx.
References fbInitIsDone, flagRunning, fxAnalysisSlave, fxDoWorkingFlag, fxRate, GetName(), Message(), PreLoop(), TGo4Ratemeter::Reset(), and TGo4AnalysisClient::Start().
Referenced by TGo4Sniffer::CmdRestart(), TGo4Sniffer::CmdStart(), main(), and TGo4AnalysisWebStatus::UpdateFromUrl().
void TGo4Analysis::StartObjectServer | ( | const char * | basename, |
const char * | passwd | ||
) |
Start the object (histogram) server. Existing server will be stopped and replaced by new server with different basename and password.
Definition at line 1289 of file TGo4AnalysisImp.cxx.
References fxAnalysisSlave, and Message().
void TGo4Analysis::StopAnalysis | ( | ) |
Stop analysis event loop, works in both batch and gui-controlled mode
Definition at line 2312 of file TGo4AnalysisImp.cxx.
References fbInitIsDone, flagPause, fxAnalysisSlave, fxDoWorkingFlag, PostLoop(), and TGo4AnalysisClient::Stop().
Referenced by TGo4Sniffer::CmdClose(), TGo4Sniffer::CmdRestart(), TGo4Sniffer::CmdStop(), and TGo4AnalysisWebStatus::UpdateFromUrl().
void TGo4Analysis::StopObjectServer | ( | ) |
Stop the object (histogram) server.
Definition at line 1299 of file TGo4AnalysisImp.cxx.
References fxAnalysisSlave, and Message().
|
inlineprivate |
Called by interrupt routine for normal exit from program (in batch mode)
Definition at line 969 of file TGo4AnalysisImp.h.
References flagStop, and fxDoWorkingFlag.
Referenced by TGo4Sniffer::CmdExit(), and ProcessCrtlCSignal().
Int_t TGo4Analysis::StoreCondition | ( | const char * | name, |
TGo4Condition * | con | ||
) |
Write condition con into eventstore of the step specified by name. Current event number will be added to parameter name in the file. Returns -1 in case of not active eventstore. Returns +1 in case of unknown step.
Definition at line 1711 of file TGo4AnalysisImp.cxx.
References fxStepManager, and TGo4AnalysisStepManager::Store().
Int_t TGo4Analysis::StoreFitter | ( | const char * | name, |
TGo4Fitter * | fit | ||
) |
Write fitter fit into eventstore of the step specified by name. Current event number will be added to parameter name in the file. Returns -1 in case of not active eventstore. Returns +1 in case of unknown step.
Definition at line 1716 of file TGo4AnalysisImp.cxx.
References fxStepManager, and TGo4AnalysisStepManager::Store().
Int_t TGo4Analysis::StoreFolder | ( | const char * | stepname, |
TFolder * | folder | ||
) |
Write folder into eventstore of the step specified by name. Current event number will be added to parameter name in the file. Returns -1 in case of not active eventstore. Returns +1 in case of unknown step.
Definition at line 1721 of file TGo4AnalysisImp.cxx.
References fxStepManager, and TGo4AnalysisStepManager::Store().
Int_t TGo4Analysis::StoreFolder | ( | const char * | stepname, |
const char * | foldername | ||
) |
Write registered folder of foldername to the step store of stepname. Returns -1 in case of not active eventstore. Returns +1 in case of unknown step, +2 in case of unknown folder
Definition at line 1726 of file TGo4AnalysisImp.cxx.
References TGo4AnalysisObjectManager::FindSubFolder(), fxObjectManager, fxStepManager, GetObjectFolder(), and TGo4AnalysisStepManager::Store().
Int_t TGo4Analysis::StoreParameter | ( | const char * | name, |
TGo4Parameter * | par | ||
) |
Write object obj into eventstore of the step specified by name. Current event number will be added to object name in the file. Returns -1 in case of not active eventstore. Returns +1 in case of unknown step.
Definition at line 1706 of file TGo4AnalysisImp.cxx.
References fxStepManager, and TGo4AnalysisStepManager::Store().
Int_t TGo4Analysis::UnLockAutoSave | ( | ) |
UnLock the autosave mutex. For usage in analysis client
Definition at line 1078 of file TGo4AnalysisImp.cxx.
References fxAutoSaveMutex, and GO4TRACE.
Referenced by TGo4AnalysisClient::~TGo4AnalysisClient().
|
private |
Update the internal list of object names. To be used internally and by analysis client.
Definition at line 1145 of file TGo4AnalysisImp.cxx.
References CreateNamesList(), fxObjectNames, GO4TRACE, and Message().
Referenced by AddTreeHistogram(), TGo4ComGetNamesList::ExeCom(), TGo4ComSetObject::ExeCom(), TGo4HistogramServer::HandleObjectRequest(), InitEventClasses(), RemoveDynamicEntry(), and TGo4AnalysisClient::SendNamesList().
void TGo4Analysis::UpdateStatus | ( | TGo4AnalysisStatus * | state | ) |
Create a copy of the analysis internal state. To be sent to the Display.
Definition at line 816 of file TGo4AnalysisImp.cxx.
References fbAutoSaveOn, fbAutoSaveOverwrite, fiAutoSaveCompression, fiAutoSaveInterval, fxAutoFileName, fxConfigFilename, fxStepManager, GO4TRACE, TGo4AnalysisStatus::SetAutoFileName(), TGo4AnalysisStatus::SetAutoSaveCompression(), TGo4AnalysisStatus::SetAutoSaveInterval(), TGo4AnalysisStatus::SetAutoSaveOn(), TGo4AnalysisStatus::SetAutoSaveOverwrite(), TGo4AnalysisStatus::SetConfigFileName(), and TGo4AnalysisStepManager::UpdateStatus().
Referenced by TGo4AnalysisWebStatus::ApplyStatus(), CreateStatus(), CreateWebStatus(), TGo4Sniffer::FindInHierarchy(), and TGo4AnalysisWebStatus::UpdateFromUrl().
|
virtual |
User defined function which processes the actual analysis. May be called explicitly from analysis client thread, or may run in an implicit loop provided by method RunImplicit, if analysis works in a non threaded standalone mode. To be overridden in the user analysis class.
Reimplemented in TXXXAnalysis, TXXXAnalysis, TYYYAnalysis, TMeshAnalysis, and TXXXAnalysis.
Definition at line 428 of file TGo4AnalysisImp.cxx.
References GO4TRACE.
Referenced by MainCycle().
|
virtual |
User defined function called once after processing the main event loop. Optionally.
Reimplemented in TXXXAnalysis, TXXXAnalysis, TYYYAnalysis, TMeshAnalysis, and TXXXAnalysis.
Definition at line 1041 of file TGo4AnalysisImp.cxx.
References GO4TRACE, and Message().
Referenced by PostLoop().
|
virtual |
User defined function called once before processing the main event loop. Optionally.
Reimplemented in TXXXAnalysis, TXXXAnalysis, TYYYAnalysis, TMeshAnalysis, and TXXXAnalysis.
Definition at line 1033 of file TGo4AnalysisImp.cxx.
References GO4TRACE, and Message().
Referenced by PreLoop().
Int_t TGo4Analysis::WaitForStart | ( | ) |
Poll on the IsRunning state with sleep delay, returns number of wait cycles. For slave server controlled cint macros to start/stop execution of explicit user loop.
Definition at line 1251 of file TGo4AnalysisImp.cxx.
References fgiMACROSTARTPOLL, flagStop, fxDoWorkingFlag, and IsRunning().
|
friend |
Definition at line 76 of file TGo4AnalysisImp.h.
|
friend |
Definition at line 75 of file TGo4AnalysisImp.h.
Referenced by TMeshAnalysis::TMeshAnalysis(), TXXXAnalysis::TXXXAnalysis(), and TYYYAnalysis::TYYYAnalysis().
|
friend |
Definition at line 83 of file TGo4AnalysisImp.h.
Referenced by CreateWebStatus().
|
friend |
Definition at line 77 of file TGo4AnalysisImp.h.
|
friend |
Definition at line 79 of file TGo4AnalysisImp.h.
|
friend |
Definition at line 78 of file TGo4AnalysisImp.h.
|
friend |
Definition at line 80 of file TGo4AnalysisImp.h.
|
friend |
Definition at line 81 of file TGo4AnalysisImp.h.
|
friend |
Definition at line 82 of file TGo4AnalysisImp.h.
|
friend |
Definition at line 84 of file TGo4AnalysisImp.h.
|
private |
name of analysis object
Definition at line 1057 of file TGo4AnalysisImp.h.
Referenced by Constructor(), GetName(), and SetAnalysisName().
|
private |
exact number of loop counts in batch mode
Definition at line 1060 of file TGo4AnalysisImp.h.
Referenced by RunImplicitLoop(), and SetBatchLoopCount().
|
private |
True if autosave name shall be changed when input file of multiple file input has changed. To be set in user analysis; will be evaluated in TGo4MbsFile
Definition at line 1040 of file TGo4AnalysisImp.h.
Referenced by IsAutoSaveFileChange(), and SetAutoSaveFileChange().
|
protected |
True if Autosaving is enabled (default). If false, calling AutoSave() will have no effect.
Definition at line 881 of file TGo4AnalysisImp.h.
Referenced by AutoSave(), IsAutoSaveOn(), LoadObjects(), MainCycle(), OpenAutoSaveFile(), SetAutoSave(), and UpdateStatus().
|
private |
True if autosave file is in overwrite mode
Definition at line 1026 of file TGo4AnalysisImp.h.
Referenced by LoadObjects(), SetAutoSaveFile(), and UpdateStatus().
|
staticprivate |
This is used to check from outside if an analysis is already there. Useful if one wants to prevent creating a complete analysis instance in the gui task...
Definition at line 983 of file TGo4AnalysisImp.h.
Referenced by Constructor(), Exists(), Instance(), and IsRunning().
|
protected |
True if analysis framework has been initialized and the event classes are created.
Definition at line 877 of file TGo4AnalysisImp.h.
Referenced by CloseAnalysis(), InitEventClasses(), IsInitDone(), MainCycle(), PostLoop(), StartAnalysis(), and StopAnalysis().
|
private |
If false, do not use data from autosave file in Make... methods
Definition at line 1072 of file TGo4AnalysisImp.h.
Referenced by MakeEllipseCond(), MakePolyCond(), MakeTH1(), MakeTH2(), MakeWinCond(), and SetMakeWithAutosave().
|
private |
True if input file of multiple file input has changed. User analysis may check this and read mbs buffer infos then.
Definition at line 1033 of file TGo4AnalysisImp.h.
Referenced by IsNewInputFile(), and SetNewInputFile().
|
private |
indicate if object was created by last Make... operation
Definition at line 1075 of file TGo4AnalysisImp.h.
Referenced by IsObjMade(), MakeEllipseCond(), MakeParameter(), MakePolyCond(), MakeTH1(), MakeTH2(), and MakeWinCond().
|
private |
If true, pyroot has already bound TGo4Anylsis object. For lazy initialization at first call of .py macro
Definition at line 1078 of file TGo4AnalysisImp.h.
Referenced by ExecuteLine().
|
static |
standard file name
Definition at line 98 of file TGo4AnalysisImp.h.
Referenced by Constructor(), and SetAutoSaveFile().
|
static |
filename suffix for object file
Definition at line 104 of file TGo4AnalysisImp.h.
Referenced by LoadStatus(), SaveStatus(), and SetAutoSaveFile().
|
static |
standard file name for analysis settings
Definition at line 101 of file TGo4AnalysisImp.h.
Referenced by Constructor(), TGo4AnalysisClient::Initialization(), LoadStatus(), SaveStatus(), TGo4ComLoadAnalysisStatus::TGo4ComLoadAnalysisStatus(), and TGo4ComSaveAnalysisStatus::TGo4ComSaveAnalysisStatus().
|
static |
default name of go4 python init script
Definition at line 113 of file TGo4AnalysisImp.h.
Referenced by ExecuteLine().
|
static |
leading character indicating python script execution
Definition at line 110 of file TGo4AnalysisImp.h.
Referenced by ExecuteLine(), and ExecutePython().
|
static |
Default name of the default (toplevel) dynamic list
Definition at line 107 of file TGo4AnalysisImp.h.
|
static |
Definition of default autosave interval.
Definition at line 89 of file TGo4AnalysisImp.h.
|
static |
This value is the number of events in between subsequent dynamic list processing
Definition at line 92 of file TGo4AnalysisImp.h.
Referenced by Constructor().
|
static |
Time in ms to sleep in the polling loop of the WaitForStart
Definition at line 95 of file TGo4AnalysisImp.h.
Referenced by WaitForStart().
|
private |
compression level for autosave file
Definition at line 1012 of file TGo4AnalysisImp.h.
Referenced by OpenAutoSaveFile(), SetAutoSaveFile(), and UpdateStatus().
|
private |
Event counter for autosave mechanism.
Definition at line 1001 of file TGo4AnalysisImp.h.
Referenced by MainCycle(), and PreLoop().
|
private |
Implicit Loop cycles in between two autosave actions. Autosave will write calibration objects of steps into event file and will save all histograms into an default root file.
Definition at line 1009 of file TGo4AnalysisImp.h.
Referenced by MainCycle(), SetAutoSaveInterval(), and UpdateStatus().
|
staticprivate |
This is used to identify running mode of analysis: 0 - batch, 1 - client, 2 - server
Definition at line 987 of file TGo4AnalysisImp.h.
Referenced by IsBatchMode(), IsClientMode(), IsServerMode(), and SetRunningMode().
|
private |
number Ctrl-C handler called
Definition at line 1081 of file TGo4AnalysisImp.h.
Referenced by ProcessCrtlCSignal().
|
private |
preconfigured password for administrator access
Definition at line 1063 of file TGo4AnalysisImp.h.
Referenced by TGo4AnalysisClient::Constructor(), DefineServerPasswords(), and SetAdministratorPassword().
|
private |
preconfigured password for controller access
Definition at line 1066 of file TGo4AnalysisImp.h.
Referenced by TGo4AnalysisClient::Constructor(), DefineServerPasswords(), and SetControllerPassword().
|
private |
preconfigured password for observer access
Definition at line 1069 of file TGo4AnalysisImp.h.
Referenced by TGo4AnalysisClient::Constructor(), DefineServerPasswords(), and SetObserverPassword().
|
private |
Sniffer object
Definition at line 1084 of file TGo4AnalysisImp.h.
Referenced by GetSniffer(), ProcessEvents(), RunImplicitLoop(), SendMessageToGUI(), and SetSniffer().
|
private |
Optional backpointer to analysis client if running in gui mode.
Definition at line 990 of file TGo4AnalysisImp.h.
Referenced by CloseAnalysis(), GetAnalysisClient(), InitEventClasses(), IsRunning(), MainCycle(), Process(), SendMessageToGUI(), SendObjectToGUI(), SetAnalysisClient(), SetRunning(), ShutdownServer(), StartAnalysis(), StartObjectServer(), StopAnalysis(), and StopObjectServer().
|
private |
Optional file for autosave of the important objects.
Definition at line 1020 of file TGo4AnalysisImp.h.
Referenced by AutoSave(), CloseAutoSaveFile(), LoadObjects(), and OpenAutoSaveFile().
|
private |
Name of the autosave file.
Definition at line 1023 of file TGo4AnalysisImp.h.
Referenced by CloseAutoSaveFile(), Constructor(), IsAutoSaveFileName(), LoadObjects(), OpenAutoSaveFile(), SetAutoSaveFile(), and UpdateStatus().
|
private |
Clock for autosave by time mechanism.
Definition at line 1004 of file TGo4AnalysisImp.h.
Referenced by Constructor(), MainCycle(), PreLoop(), and ~TGo4Analysis().
|
private |
Mutex protecting the autosave file access. On Termination, both the main thread and the appcontrol timer might try to autosave or delete on the same file.
Definition at line 1017 of file TGo4AnalysisImp.h.
Referenced by AutoSave(), CloseAutoSaveFile(), Constructor(), LoadObjects(), LockAutoSave(), OpenAutoSaveFile(), PostLoop(), PreLoop(), and UnLockAutoSave().
|
private |
name of configuration file used for this setup
Definition at line 1029 of file TGo4AnalysisImp.h.
Referenced by Constructor(), LoadStatus(), SaveStatus(), and UpdateStatus().
|
private |
Contains current input file name
Definition at line 1036 of file TGo4AnalysisImp.h.
Referenced by GetInputFileName(), and SetInputFileName().
|
private |
default file name for distributed test lmd file
Definition at line 1090 of file TGo4AnalysisImp.h.
Referenced by Constructor(), and GetDefaultTestFileName().
enum { ... } TGo4Analysis::fxDoWorkingFlag |
Indicates analysis runstate
Referenced by CloseAnalysis(), InitEventClasses(), IsStopWorking(), RunImplicitLoop(), StartAnalysis(), StopAnalysis(), StopWorking(), and WaitForStart().
|
staticprivate |
Static Pointer to the analysis singleton instance.
Definition at line 978 of file TGo4AnalysisImp.h.
Referenced by Constructor(), Instance(), and ~TGo4Analysis().
|
private |
use to treat Ctrl-C interrupts
Definition at line 1054 of file TGo4AnalysisImp.h.
Referenced by Constructor(), and ~TGo4Analysis().
|
private |
Definition at line 998 of file TGo4AnalysisImp.h.
Referenced by AddAnalysisCondition(), AddCanvas(), AddDynamicEntry(), AddDynamicHistogram(), AddEventProcessor(), AddEventSource(), AddEventStore(), AddEventStructure(), AddHistogram(), AddObject(), AddParameter(), AddPicture(), AddTree(), AddTreeHistogram(), AutoSave(), ClearObjects(), CloseAnalysis(), Constructor(), CreateNamesList(), CreateObjectStatus(), CreateTreeStructure(), DeleteObjects(), GetAnalysisCondition(), GetCanvas(), GetDynListInterval(), GetEventStructure(), GetHistogram(), GetObject(), GetObjectFolder(), GetParameter(), GetPicture(), GetTree(), LoadObjects(), MainCycle(), NextMatchingObject(), ObjectManager(), PrintConditions(), PrintDynamicList(), PrintHistograms(), PrintParameters(), ProtectObjects(), RemoveAnalysisCondition(), RemoveCanvas(), RemoveDynamicEntry(), RemoveEventProcessor(), RemoveEventSource(), RemoveEventStore(), RemoveEventStructure(), RemoveHistogram(), RemoveObject(), RemoveParameter(), RemovePicture(), RemoveTree(), ResetBackStores(), SetAnalysisCondition(), SetDynListInterval(), SetParameter(), SetParameterStatus(), SetPicture(), StoreFolder(), and ~TGo4Analysis().
|
private |
Definition at line 1048 of file TGo4AnalysisImp.h.
Referenced by GetNamesList(), UpdateNamesList(), and ~TGo4Analysis().
|
private |
optional ratemeter object
Definition at line 1087 of file TGo4AnalysisImp.h.
Referenced by RunImplicitLoop(), and StartAnalysis().
|
private |
this holds event sample for the SingleEventTree. Must be clone of the event in use, since TTree::Show() will modify it!
Definition at line 1044 of file TGo4AnalysisImp.h.
Referenced by CreateSingleEventTree(), and ~TGo4Analysis().
|
private |
Definition at line 994 of file TGo4AnalysisImp.h.
Referenced by AddAnalysisStep(), AutoSave(), CloseAnalysis(), Constructor(), GetAnalysisStep(), GetAnalysisStepNum(), GetInputEvent(), GetOutputEvent(), InitEventClasses(), IsErrorStopEnabled(), NewStepProcessor(), NewStepSource(), NewStepStore(), PostLoop(), PreLoop(), ProcessAnalysisSteps(), SetFirstStep(), SetLastStep(), SetOutputEvent(), SetStatus(), SetStepChecking(), SetStepStorage(), StoreCondition(), StoreFitter(), StoreFolder(), StoreParameter(), UpdateStatus(), and ~TGo4Analysis().