Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

TGo4Analysis Class Reference

The mother of all go4 analyses. More...

#include <TGo4AnalysisImp.h>

Inheritance diagram for TGo4Analysis:

TGo4CommandReceiver TMeshAnalysis TXXXAnalysis TXXXAnalysis TYYYAnalysis List of all members.

Public Methods

virtual ~TGo4Analysis ()
Int_t MainCycle ()
 The main analysis event cycle. More...

Int_t PreLoop ()
 Method executed once before the main analysis event loop. More...

Int_t PostLoop ()
 Method executed once after the main analysis event loop. More...

Int_t Process ()
 This method is meant to be called from a go4 cintserver macro in an explicit event loop. More...

virtual Int_t UserEventFunc ()
 User defined function which processes the actual analysis. More...

virtual Int_t UserPreLoop ()
 User defined function called once before processing the main event loop. More...

virtual Int_t UserPostLoop ()
 User defined function called once after processing the main event loop. More...

Int_t RunImplicitLoop (Int_t times)
 Processes the UserEventFunc in an implicit loop for "times" times. More...

virtual void CloseAnalysis ()
 Finish the analysis run and close all event sources/storages. More...

virtual Bool_t InitEventClasses ()
 Initialization of the event class plugins which are delivered from the user defined event factory. More...

TGo4AnalysisObjectManagerObjectManager () const
 Add (create) new dynamic histogram entry which connects an existing histogram with existing condition and data. More...

Bool_t AddDynamicHistogram (const Text_t *name, const Text_t *histo, const Text_t *hevx, const Text_t *hmemx, const Text_t *hevy=0, const Text_t *hmemy=0, const Text_t *hevz=0, const Text_t *hmemz=0, const Text_t *condition=0, const Text_t *cevx=0, const Text_t *cmemx=0, const Text_t *cevy=0, const Text_t *cmemy=0)
Bool_t AddDynamicHistogram (TGo4HistogramEntryStatus *settings)
Bool_t SetDynamicEntryStatus (const Text_t *name, TGo4DynamicEntryStatus *state, const Text_t *listname)
 Set dynamic entry of name "name" to the values specified by external dynamic entry status "state". More...

Bool_t RemoveDynamicEntry (const Text_t *entryname, const Text_t *listname=0)
 Remove entry of that name from dynamic list of listname. More...

Bool_t AddObject (TNamed *anything, const Text_t *subfolder=0, Bool_t replace=kTRUE)
 Add any external object to the user object folder. More...

TNamed * GetObject (const Text_t *name, const Text_t *folder=0)
 Searches for object by name in all directories. More...

Bool_t RemoveObject (const Text_t *name, Bool_t del=kTRUE)
 Removes object from user object folder by name. More...

Bool_t DeleteObjects (const Text_t *name)
 Delete object of name, or all objects in folder name, respectively. More...

Bool_t ClearObjects (const Text_t *name)
 Clear (reset) the specified objects. More...

Bool_t ProtectObjects (const Text_t *name, const Option_t *flags)
 Change protection properties of object name as specified. More...

Bool_t ResetBackStores ()
 Clear previous events of backstore tree. More...

TObject * NextMatchingObject (const Text_t *expr=0, const Text_t *folder=0, Bool_t reset=kFALSE)
 Delivers pointer to next object of the Go4 folder structure with a name matching the expression expr. More...

TGo4TreeStructureCreateTreeStructure (const Text_t *treename)
 Create a tree structure for a certain tree by name. More...

Bool_t AddHistogram (TH1 *his, const Text_t *subfolder=0, Bool_t replace=kTRUE)
 Add external histogram to go4 histogram directory. More...

Bool_t AddTree (TTree *tree, const Text_t *subfolder=0)
 Add reference to a tree in the go4 folder structure. More...

Bool_t RemoveTree (TTree *tree, const Text_t *stepname=0)
 Remove reference to a tree in the go4 folder structure. More...

Bool_t AddTreeHistogram (const Text_t *hisname, const Text_t *treename, const Text_t *varexp, TCut selection)
 Add Histogram into the dynamic list wich is linked to a tree. More...

TH1 * GetHistogram (const Text_t *name)
 Search histogram in histogram list (directory). More...

TTree * GetTree (const Text_t *name)
 Search tree in tree folder. More...

Bool_t RemoveHistogram (const Text_t *name, Bool_t del=kTRUE)
 Removes histogram from histogram dir by name. More...

Bool_t AddAnalysisCondition (TGo4Condition *con, const Text_t *subfolder=0)
 Puts a new analysis condition object in corresponding list. More...

Bool_t SetAnalysisCondition (const Text_t *name, TGo4Condition *con, Bool_t counter=kTRUE)
 Set existing analysis condition of name to the values of external condition object con. More...

TGo4ConditionGetAnalysisCondition (const Text_t *name)
 Retrieves an analysis condition from list by name. More...

Bool_t RemoveAnalysisCondition (const Text_t *name)
 Removes analysis condition from list by name. More...

Bool_t AddParameter (TGo4Parameter *par, const Text_t *subfolder=0)
 Puts a new parameter object in corresponding folder. More...

Bool_t SetParameter (const Text_t *name, TGo4Parameter *par)
 Set existing parameter of name to the values of external parameter object par. More...

TGo4ParameterGetParameter (const Text_t *name)
 Retrieves a parameter object by name from the object folder. More...

Bool_t RemoveParameter (const Text_t *name)
 Removes parameter by name. More...

Bool_t AddPicture (TGo4Picture *pic, const Text_t *subfolder=0)
 Puts a new picture object in corresponding folder. More...

Bool_t SetPicture (const Text_t *name, TGo4Picture *pic)
 Set existing picture of name to the values of external picture object pic. More...

TGo4PictureGetPicture (const Text_t *name)
 Retrieves a picture object by name from the object folder. More...

Bool_t RemovePicture (const Text_t *name)
 Removes picture by name. More...

Bool_t AddCanvas (TCanvas *can, const Text_t *subfolder=0)
 Puts a new TCanvas in corresponding folder. More...

Bool_t SetCanvas (const Text_t *name, TGo4CanvasStatus *stat)
 Set existing picture of name to the values of external CanvasStatus object. More...

TCanvas * GetCanvas (const Text_t *name)
 Retrieves a TCanvas by name from the Canvases folder. More...

Bool_t RemoveCanvas (const Text_t *name)
 Removes TCanvas by name. More...

TGo4AnalysisStatusCreateStatus ()
 Create a copy of the analysis internal state. More...

TGo4ObjectStatusCreateObjectStatus (const Text_t *name, const Text_t *folder=0)
 Find Object of name in the folder structure and create a complete status object of it. More...

TGo4AnalysisObjectNamesCreateNamesList ()
 Creates a list of names (keys) of all objects in analysis directories. More...

TFolder * GetObjectFolder ()
 Access to top level go4 folder. More...

void UpdateStatus (TGo4AnalysisStatus *state)
 Create a copy of the analysis internal state. More...

void SetStatus (TGo4AnalysisStatus *state)
 Set all analysis parameters to that of given status object. More...

Bool_t LoadStatus (const Text_t *filename=0)
 Load Analysis Status from file and set analysis to these settings. More...

Bool_t LoadObjects (const Text_t *filename=0)
 Load analysis objects from file. More...

Bool_t SaveStatus (const Text_t *filename=0)
 Save current analysis settings into file of given name. More...

void SetStepChecking (Bool_t on=kTRUE)
 Enable or disable check of subsequent analysis step for io consistency. More...

Bool_t SetFirstStep (const Text_t *name)
 Sets analysis step name as first one to be processed in the chain of steps. More...

Bool_t SetLastStep (const Text_t *name)
 Sets analysis step name as last one to be processed in the chain of steps. More...

Bool_t SetStepStorage (const Text_t *name, Bool_t on)
 Enables analysis step of name to write its output event into its event store. More...

Bool_t NewStepStore (const Text_t *name, TGo4EventStoreParameter *par)
 Shuts down the old analysis step storage and creates a new one specified by parameter par. More...

Bool_t NewStepSource (const Text_t *name, TGo4EventSourceParameter *par)
 Shuts down the old analysis step event source and creates a new one specified by parameter par. More...

Bool_t NewStepProcessor (const Text_t *name, TGo4EventProcessorParameter *par)
 Shuts down the old analysis step processor and creates a new one specified by parameter par. More...

void SetAutoSaveInterval (Int_t interval=0)
 Set time interval (in s) for autosave action. More...

void SetAutoSaveFile (const Text_t *filename=0, Bool_t overwrite=kFALSE, Int_t compression=5)
 Set file for autosave action. More...

Int_t LockAutoSave ()
 Lock the autosave mutex. More...

Int_t UnLockAutoSave ()
 UnLock the autosave mutex. More...

void SetAutoSave (Bool_t on=kTRUE)
 enable/disable functionality of AutoSave method. More...

Bool_t IsAutoSaveOn () const
 True if autosaving is enabled. More...

void SetAutoSaveFileChange (Bool_t on=kTRUE)
 Set analysis in mode where autosave file switches for each new input file. More...

Bool_t IsAutoSaveFileChange () const
 True if autosave file is changed according to the current input file of lmd file list. More...

Bool_t IsInitDone () const
 True if the analysis steps are initialized. More...

Bool_t & IsRunning ()
 True if the analysis as controlled by slave process is running. More...

void SetRunning (Bool_t on=kTRUE)
 Switch slave process into running state. More...

Int_t WaitForStart ()
 Poll on the IsRunning state with sleep delay, returns number of wait cycles. More...

void StopWaiting ()
 Called by interrupt routine for normal exit from WaitForStart() function. More...

Int_t IsErrorStopEnabled ()
 True if current analysis step allows stop on error. More...

void SetNewInputFile (Bool_t on=kTRUE)
 Set flag that input file has changed. More...

Bool_t IsNewInputFile () const
 True if input filelist has changed to a new lmd file. More...

void SetDynListInterval (Int_t val)
Int_t GetDynListInterval ()
Bool_t CheckDynListInterval ()
TGo4EventElementGetInputEvent (const char *stepname)
 Returns the input event structure of analysis step. More...

TGo4EventElementGetInputEvent (Int_t stepindex)
 Returns the input event structure of analysis step. More...

TGo4EventElementGetOutputEvent (const char *stepname)
 Returns the output event (detector) structure of analysis step. More...

TGo4EventElementGetOutputEvent (Int_t stepindex)
 Returns the output event (detector) structure of analysis step. More...

TGo4EventElementGetOutputEvent ()
 Returns the output event (detector) structure of analysis step. More...

TGo4EventElementGetEventStructure (const Text_t *name)
 Search reference to event stucture in folder. More...

void Message (Int_t prio, const Text_t *text,...)
 Display a user message. More...

void SendObjectToGUI (TNamed *ob)
 User May send any named object via data channel to the gui. More...

void StartObjectServer (const Text_t *basename, const Text_t *passwd)
 Start the object (histogram) server. More...

void StopObjectServer ()
 Stop the object (histogram) server. More...

void SetAdministratorPassword (const char *passwd)
 Specify password for administrator account. More...

void SetControllerPassword (const char *passwd)
 Specify password for controller account. More...

void SetObserverPassword (const char *passwd)
 Specify password for observer account. More...

virtual void Print (Option_t *opt="") const
 Printout the analysis (step-) setup. More...

void PrintHistograms (const Text_t *expression=0)
 Printout of all histogram statistic counters on the terminal. More...

void PrintConditions (const Text_t *expression=0)
 Print all condition counters to the terminal. More...

void PrintDynamicList ()
 Print entries of current dynamic list. More...

void ShowEvent (const Text_t *stepname, Bool_t isoutput=kTRUE)
 Printout event content of single current event to analysis terminal (using ROOT TTree::Show method). More...

Int_t StoreParameter (const Text_t *name, TGo4Parameter *par)
 Write object obj into eventstore of the step specified by name. More...

Int_t StoreCondition (const Text_t *name, TGo4Condition *con)
 Write condition con into eventstore of the step specified by name. More...

Int_t StoreFitter (const Text_t *name, TGo4Fitter *fit)
 Write fitter fit into eventstore of the step specified by name. More...

Int_t StoreFolder (const Text_t *stepname, TFolder *folder)
 Write folder into eventstore of the step specified by name. More...

Int_t StoreFolder (const Text_t *stepname, const Text_t *foldername)
 Write registered folder of foldername to the step store of stepname. More...

void AutoSave ()
 Perform autosave of all active stores, save existing calibration objects, write known objects into user file. More...

Bool_t AddAnalysisStep (TGo4AnalysisStep *next)
 Method for user analysis constructor to setup the list of analyisis steps. More...

TGo4AnalysisStepGetAnalysisStep (const Text_t *name)
 Access to certain analysis step by name. More...


Static Public Methods

TGo4Analysis * Instance ()
Bool_t Exists ()

Static Public Attributes

const Int_t fgiAUTOSAVECOUNTS = 500
 Definition of default autosave interval. More...

const Int_t fgiGO4VERSION = __GO4BUILDVERSION__
 Version Number of the Go4 build. More...

const Int_t fgiDYNLISTINTERVAL = 1000
 This value is the number of events in between subsequent dynamic list processing. More...

const Int_t fgiMACROSTARTPOLL = 1000
 Time in ms to sleep in the polling loop of the WaitForStart. More...

const Text_t fgcDEFAULTFILENAME [] = "Go4AutoSave.root"
 standard file name. More...

const Text_t fgcDEFAULTSTATUSFILENAME [] = "Go4AnalysisPrefs.root"
 standard file name for analysis settings. More...

const Text_t fgcDEFAULTFILESUF [] = ".root"
 filename suffix for object file. More...

const Text_t fgcTOPDYNAMICLIST [] = "Go4DynamicList"
 Default name of the default (toplevel) dynamic list. More...


Protected Methods

 TGo4Analysis ()
 Protected constructor for singleton instance. More...

Int_t ProcessAnalysisSteps ()
 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. More...


Protected Attributes

Bool_t fbInitIsDone
 True if analysis framework has been initialized and the event classes are created. More...

Bool_t fbAutoSaveOn
 True if Autosaving is enabled (default). More...


Private Methods

TTree * CreateSingleEventTree (const Text_t *name, Bool_t isoutput=kTRUE)
 Create a tree that is filled with one single event sample. More...

TTree * CreateSingleEventTree (TGo4EventElement *event)
 Create a tree that is filled with one single event sample. More...

void UpdateNamesList ()
 Update the internal list of object names. More...

TGo4DynamicListGetDynamicList (const Text_t *listname)
TGo4AnalysisObjectNamesGetNamesList () const
 Returns the nameslist of the go4 object directory structure. More...

void SetOutputEvent (TGo4EventElement *event)
 Sets the current output event (detector) structure. More...

Bool_t AddEventStore (TGo4EventStore *store)
 Add reference to event store object to Go4 Folder structure. More...

Bool_t RemoveEventStore (TGo4EventStore *store)
 Remove reference to event store from go4 folder structure. More...

Bool_t AddEventSource (TGo4EventSource *source)
 Add reference to event source object to Go4 Folder structure. More...

Bool_t RemoveEventSource (TGo4EventSource *source)
 Remove reference to event source from go4 folder structure. More...

Bool_t AddEventProcessor (TGo4EventProcessor *pro)
 Add reference to event processor object to Go4 Folder structure. More...

Bool_t RemoveEventProcessor (TGo4EventProcessor *pro)
 Remove reference to event processor from go4 folder structure. More...

Bool_t AddEventStructure (TGo4EventElement *ev)
 Add reference to event structure object to Go4 Folder structure. More...

Bool_t RemoveEventStructure (TGo4EventElement *ev)
 Remove reference to event structure from go4 folder structure. More...

void SetAnalysisClient (TGo4AnalysisClient *cli)
 Register analysis client if running in gui mode. More...

void SendMessageToGUI (Int_t level, Bool_t printout, const char *text)
 Send message string in a status object to the gui. More...

void OpenAutoSaveFile ()
 Open the autosave file with the current settings. More...

void CloseAutoSaveFile ()
 Close the autosave file if existing. More...


Private Attributes

TGo4AnalysisClientfxAnalysisSlave
 Optional backpointer to analysis client if running in gui mode. More...

TGo4AnalysisStepManagerfxStepManager
  More...

TGo4AnalysisObjectManagerfxObjectManager
  More...

TGo4DynamicListStatusfxDynamicListStatus
 Status object representing the dynamic list (names of the entries). More...

Int_t fiAutoSaveCount
 Event counter for autosave mechanism. More...

TStopwatch * fxAutoSaveClock
 Clock for autosave by time mechanism. More...

Int_t fiAutoSaveInterval
 Implicit Loop cycles in between two autosave actions. More...

Int_t fiAutoSaveCompression
 compression level for autosave file. More...

TMutex * fxAutoSaveMutex
 Mutex protecting the autosave file access. More...

TFile * fxAutoFile
 Optional file for autosave of the important objects. More...

TString fxAutoFileName
 Name of the autosave file. More...

Bool_t fbAutoSaveOverwrite
 True if autosave file is in overwrite mode. More...

TString fxConfigFilename
 name of configuration file used for this setup. More...

Bool_t fbNewInputFile
 True if input file of multiple file input has changed. More...

Bool_t fbAutoSaveFileChange
 True if autosave name shall be changed when input file of multiple file input has changed. More...

TGo4EventElementfxSampleEvent
 this holds event sample for the SingleEventTree. More...

TGo4AnalysisObjectNamesfxObjectNames
  More...

Bool_t fbStopWatingFlag
 used for exit from WaitForStart() routine by interrupt. More...


Static Private Attributes

TGo4Analysis * fxInstance = 0
 Static Pointer to the analysis singleton instance. More...

Bool_t fbExists = kFALSE
 This is used to check from outsid if an analysis is already there. More...


Friends

class TGo4AnalysisStep
class TGo4AnalysisClient
class TGo4ComGetCurrentEvent
class TGo4ComHisGetDir
class TGo4ComGetNamesList
class TGo4ComGetDynamicEntryStatus
class TGo4HisConnectorRunnable
class TGo4HistogramServer

Detailed Description

The mother of all go4 analyses.

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.

Author:
J. Adamczewski
Since:
19-jan-2001

Definition at line 69 of file TGo4AnalysisImp.h.


Constructor & Destructor Documentation

TGo4Analysis::~TGo4Analysis   [virtual]
 

Definition at line 156 of file TGo4AnalysisImp.cxx.

References CloseAnalysis(), CloseAutoSaveFile(), fxAutoSaveClock, fxInstance, fxObjectManager, fxObjectNames, fxSampleEvent, fxStepManager, and TRACE.

TGo4Analysis::TGo4Analysis   [protected]
 

Protected constructor for singleton instance.

Definition at line 103 of file TGo4AnalysisImp.cxx.

References __GO4RELEASE__, TGo4AnalysisObjectManager::AddDynamicList(), TGo4Version::CheckVersion(), fbExists, fgcDEFAULTFILENAME, fgcDEFAULTSTATUSFILENAME, fgcTOPDYNAMICLIST, fgiDYNLISTINTERVAL, fgiGO4VERSION, fxAutoFileName, fxAutoSaveClock, fxAutoSaveMutex, fxConfigFilename, fxInstance, fxObjectManager, fxStepManager, TGo4CommandInvoker::Instance(), TGo4Version::Instance(), Message(), TGo4CommandInvoker::Register(), TGo4AnalysisObjectManager::SetCurrentDynList(), SetDynListInterval(), and TRACE.


Member Function Documentation

TGo4Analysis * TGo4Analysis::Instance   [static]
 

Definition at line 82 of file TGo4AnalysisImp.cxx.

References fbExists, fxInstance, and TRACE.

Referenced by TGo4EventProcessor::AddAnalysisCondition(), TGo4AnalysisStepManager::AddAnalysisStep(), TGo4EventProcessor::AddCanvas(), TGo4EventProcessor::AddHistogram(), TGo4EventProcessor::AddObject(), TGo4EventProcessor::AddParameter(), TGo4EventProcessor::AddPicture(), TGo4AnalysisObjectManager::AddTreeHistogram(), TGo4AnalysisStepManager::AutoSave(), TGo4AnalysisStepManager::CloseAnalysis(), TGo4AnalysisObjectManager::CloseAnalysis(), TGo4HistogramServer::ConnectObjectClient(), TGo4AnalysisObjectManager::CreateTreeStructure(), TGo4ComSetStore::ExeCom(), TGo4ComSetSource::ExeCom(), TGo4ComSetProtections::ExeCom(), TGo4ComSetProcessor::ExeCom(), TGo4ComSetPrintEvent::ExeCom(), TGo4ComSetPicture::ExeCom(), TGo4ComSetParameter::ExeCom(), TGo4ComSetLastStep::ExeCom(), TGo4ComSetFirstStep::ExeCom(), TGo4ComSetDynamicEntry::ExeCom(), TGo4ComSetCondition::ExeCom(), TGo4ComSetCanvas::ExeCom(), TGo4ComSetAnalysisStatus::ExeCom(), TGo4ComSaveAnalysisStatus::ExeCom(), TGo4ComRemoveDynamicEntry::ExeCom(), TGo4ComPrintHistograms::ExeCom(), TGo4ComPrintDynList::ExeCom(), TGo4ComPrintConditions::ExeCom(), TGo4ComLoadAnalysisStatus::ExeCom(), TGo4ComInitAnalysis::ExeCom(), TGo4ComGetTreeStructure::ExeCom(), TGo4ComGetPicture::ExeCom(), TGo4ComGetParameter::ExeCom(), TGo4ComGetObjectStatus::ExeCom(), TGo4ComGetObject::ExeCom(), TGo4ComGetNamesList::ExeCom(), TGo4ComGetEnvelope::ExeCom(), TGo4ComGetDynamicEntryStatus::ExeCom(), TGo4ComGetCurrentEvent::ExeCom(), TGo4ComGetCondition::ExeCom(), TGo4ComGetCanvas::ExeCom(), TGo4ComGetAnalysisStatus::ExeCom(), TGo4ComDeleteObject::ExeCom(), TGo4ComCreateObject::ExeCom(), TGo4ComCreateHistogram::ExeCom(), TGo4ComCloseAnalysis::ExeCom(), TGo4ComClearObject::ExeCom(), TGo4ComAutosave::ExeCom(), TGo4ComAddTreeHistogram::ExeCom(), TGo4EventProcessor::GetAnalysisCondition(), TGo4EventProcessor::GetCanvas(), TGo4EventProcessor::GetHistogram(), TGo4EventProcessor::GetInputEvent(), TGo4EventProcessor::GetObject(), TGo4AnalysisObjectManager::GetObject(), TGo4EventProcessor::GetOutputEvent(), TGo4EventProcessor::GetParameter(), TGo4EventProcessor::GetPicture(), TGo4AnalysisStepManager::InitEventClasses(), TGo4HistogramEntry::InitPointers(), TGo4DynamicEntry::InitPointers(), TGo4AnalysisObjectManager::LoadFolder(), main(), TGo4EventProcessor::Message(), TGo4AnalysisStep::NewEventProcessor(), TGo4AnalysisStep::NewEventSource(), TGo4AnalysisStep::NewEventStore(), TGo4MbsFile::NewFileAction(), TGo4AnalysisStep::NewInputEvent(), TGo4AnalysisStep::NewOutputEvent(), TGo4MbsFile::NextFile(), TGo4InterruptHandler::Notify(), TGo4MbsFile::Open(), TGo4InterruptHandler::Pop(), TGo4TreeHistogramEntry::Process(), TGo4TreeHistogramEntry::ProcessTree(), TGo4AnalysisObjectManager::PutToFolder(), TGo4EventProcessor::RemoveAnalysisCondition(), TGo4EventProcessor::RemoveCanvas(), TGo4EventProcessor::RemoveHistogram(), TGo4AnalysisObjectManager::RemoveObjectFromFolder(), TGo4EventProcessor::RemoveParameter(), TGo4EventProcessor::RemovePicture(), TGo4AnalysisObjectManager::SaveFolder(), TGo4AnalysisObjectManager::SaveObjects(), TGo4EventProcessor::SendObjectToGUI(), TGo4AnalysisStepManager::SetFirstStep(), TGo4AnalysisStepManager::SetLastStep(), TMeshProviderProc::SetRealInput(), TGo4AnalysisClient::TGo4AnalysisClient(), TGo4AnalysisStep::TGo4AnalysisStep(), TGo4HistogramServer::TGo4HistogramServer(), TMeshParameter::UpdateFrom(), TXXXCalibPar::UpdateFrom(), and TGo4TreeHistogramEntry::UpdateStatus().

Bool_t TGo4Analysis::Exists   [static]
 

Definition at line 97 of file TGo4AnalysisImp.cxx.

References fbExists.

Referenced by TGo4TreeHistogramEntry::UpdateStatus().

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 203 of file TGo4AnalysisImp.cxx.

References AutoSave(), fiAutoSaveCount, fiAutoSaveInterval, fxAnalysisSlave, fxAutoSaveClock, fxObjectManager, Message(), ProcessAnalysisSteps(), TGo4AnalysisObjectManager::ProcessDynamicList(), TGo4AnalysisClient::TestBufferUpdateConditions(), TRACE, TGo4AnalysisClient::UpdateRate(), TGo4Slave::UpdateStatusBuffer(), and UserEventFunc().

Referenced by Process(), TGo4AnalysisMainRunnable::Run(), and RunImplicitLoop().

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 705 of file TGo4AnalysisImp.cxx.

References fiAutoSaveCount, fxAutoSaveClock, fxAutoSaveMutex, TRACE, and UserPreLoop().

Referenced by TGo4ComInitAnalysis::ExeCom(), RunImplicitLoop(), and TGo4AnalysisClient::Start().

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 717 of file TGo4AnalysisImp.cxx.

References fxAutoSaveMutex, and TRACE.

Referenced by TGo4ComSetAnalysisStatus::ExeCom(), TGo4ComCloseAnalysis::ExeCom(), TGo4AnalysisMainRunnable::PostRun(), RunImplicitLoop(), and TGo4AnalysisClient::Stop().

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 250 of file TGo4AnalysisImp.cxx.

References fxAnalysisSlave, TGo4Log::GetIgnoreLevel(), TGo4CommandInvoker::Instance(), TGo4CommandInvoker::Invoke(), IsErrorStopEnabled(), IsRunning(), MainCycle(), Message(), TGo4Slave::NextCommand(), TGo4Thread::Sleep(), TGo4AnalysisClient::Stop(), and TRACE.

Int_t TGo4Analysis::UserEventFunc   [virtual]
 

User defined function which processes the actual analysis.

May be called explicitely from analysis client thread, or may run in an implicit loop provided by method RunImplicit, if analyis works in a non threaded standalone mode. To be overridden in the user analysis class.

Reimplemented in TXXXAnalysis, TXXXAnalysis, TMeshAnalysis, and TYYYAnalysis.

Definition at line 243 of file TGo4AnalysisImp.cxx.

References TRACE.

Referenced by MainCycle().

Int_t TGo4Analysis::UserPreLoop   [virtual]
 

User defined function called once before processing the main event loop.

Optionally.

Reimplemented in TXXXAnalysis, TXXXAnalysis, TMeshAnalysis, and TYYYAnalysis.

Definition at line 735 of file TGo4AnalysisImp.cxx.

References Message(), and TRACE.

Referenced by PreLoop().

Int_t TGo4Analysis::UserPostLoop   [virtual]
 

User defined function called once after processing the main event loop.

Optionally.

Reimplemented in TXXXAnalysis, TXXXAnalysis, TMeshAnalysis, and TYYYAnalysis.

Definition at line 743 of file TGo4AnalysisImp.cxx.

References Message(), and TRACE.

Int_t TGo4Analysis::RunImplicitLoop Int_t    times
 

Processes the UserEventFunc in an implicit loop for "times" times.

For non-threaded usage of the analysis class.

Definition at line 394 of file TGo4AnalysisImp.cxx.

References i, MainCycle(), Message(), PostLoop(), PreLoop(), and TRACE.

Referenced by main().

void TGo4Analysis::CloseAnalysis   [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 691 of file TGo4AnalysisImp.cxx.

References AutoSave(), TGo4AnalysisObjectManager::CloseAnalysis(), TGo4AnalysisStepManager::CloseAnalysis(), fbInitIsDone, fxObjectManager, fxStepManager, and TRACE.

Referenced by TGo4ComCloseAnalysis::ExeCom(), SetStatus(), and ~TGo4Analysis().

Bool_t TGo4Analysis::InitEventClasses   [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 178 of file TGo4AnalysisImp.cxx.

References fbInitIsDone, fxStepManager, TGo4AnalysisStepManager::InitEventClasses(), LoadObjects(), Message(), TRACE, and UpdateNamesList().

Referenced by TGo4ComInitAnalysis::ExeCom(), TGo4AnalysisClient::Initialization(), and main().

TGo4AnalysisObjectManager* TGo4Analysis::ObjectManager   const [inline]
 

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 170 of file TGo4AnalysisImp.h.

References fxObjectManager.

Bool_t TGo4Analysis::AddDynamicHistogram const Text_t *    name,
const Text_t *    histo,
const Text_t *    hevx,
const Text_t *    hmemx,
const Text_t *    hevy = 0,
const Text_t *    hmemy = 0,
const Text_t *    hevz = 0,
const Text_t *    hmemz = 0,
const Text_t *    condition = 0,
const Text_t *    cevx = 0,
const Text_t *    cmemx = 0,
const Text_t *    cevy = 0,
const Text_t *    cmemy = 0
 

Definition at line 1073 of file TGo4AnalysisImp.cxx.

References TGo4AnalysisObjectManager::AddDynamicHistogram(), and fxObjectManager.

Bool_t TGo4Analysis::AddDynamicHistogram TGo4HistogramEntryStatus   settings
 

Definition at line 1087 of file TGo4AnalysisImp.cxx.

References TGo4AnalysisObjectManager::AddDynamicHistogram(), and fxObjectManager.

Bool_t TGo4Analysis::SetDynamicEntryStatus const Text_t *    name,
TGo4DynamicEntryStatus   state,
const Text_t *    listname
 

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 1417 of file TGo4AnalysisImp.cxx.

References fxObjectManager, and TGo4AnalysisObjectManager::SetDynamicEntryStatus().

Referenced by TGo4ComSetDynamicEntry::ExeCom().

Bool_t TGo4Analysis::RemoveDynamicEntry const Text_t *    entryname,
const Text_t *    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 473 of file TGo4AnalysisImp.cxx.

References fxObjectManager, TGo4AnalysisObjectManager::RemoveDynamicEntry(), TRACE, and UpdateNamesList().

Referenced by TGo4ComRemoveDynamicEntry::ExeCom().

Bool_t TGo4Analysis::AddObject TNamed *    anything,
const Text_t *    subfolder = 0,
Bool_t    replace = kTRUE
 

Add any external object to the user object folder.

Object is owned by go4 aferwards 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 1124 of file TGo4AnalysisImp.cxx.

References TGo4AnalysisObjectManager::AddObject(), and fxObjectManager.

Referenced by TGo4EventProcessor::AddObject(), and TGo4ComCreateObject::ExeCom().

TNamed * TGo4Analysis::GetObject const Text_t *    name,
const Text_t *    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 1189 of file TGo4AnalysisImp.cxx.

References fxObjectManager, and TGo4AnalysisObjectManager::GetObject().

Referenced by TGo4ComGetObject::ExeCom(), TGo4ComGetEnvelope::ExeCom(), TGo4EventProcessor::GetObject(), TGo4HistogramServer::HandleObjectRequest(), TGo4HisConnectorRunnable::Run(), TGo4AnalysisClient::SendAnalysisObject(), and TXXXCalibPar::UpdateFrom().

Bool_t TGo4Analysis::RemoveObject const Text_t *    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 afterwords.

Definition at line 1256 of file TGo4AnalysisImp.cxx.

References fxObjectManager, and TGo4AnalysisObjectManager::RemoveObject().

Bool_t TGo4Analysis::DeleteObjects const Text_t *    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 1295 of file TGo4AnalysisImp.cxx.

References TGo4AnalysisObjectManager::DeleteObjects(), and fxObjectManager.

Referenced by TGo4ComDeleteObject::ExeCom().

Bool_t TGo4Analysis::ClearObjects const Text_t *    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 1300 of file TGo4AnalysisImp.cxx.

References TGo4AnalysisObjectManager::ClearObjects(), and fxObjectManager.

Referenced by TGo4ComClearObject::ExeCom(), TGo4MbsFile::NewFileAction(), and TYYYAnalysis::UserPreLoop().

Bool_t TGo4Analysis::ProtectObjects const Text_t *    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 1305 of file TGo4AnalysisImp.cxx.

References fxObjectManager, and TGo4AnalysisObjectManager::ProtectObjects().

Referenced by TGo4ComSetProtections::ExeCom().

Bool_t TGo4Analysis::ResetBackStores  
 

Clear previous events of backstore tree.

For reset of dynamic tree histogram

Definition at line 1310 of file TGo4AnalysisImp.cxx.

References fxObjectManager, and TGo4AnalysisObjectManager::ResetBackStores().

TObject * TGo4Analysis::NextMatchingObject const Text_t *    expr = 0,
const Text_t *    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 matchint 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 1364 of file TGo4AnalysisImp.cxx.

References fxObjectManager, and TGo4AnalysisObjectManager::NextMatchingObject().

TGo4TreeStructure * TGo4Analysis::CreateTreeStructure const Text_t *    treename
 

Create a tree structure for a certain tree by name.

Definition at line 1231 of file TGo4AnalysisImp.cxx.

References TGo4AnalysisObjectManager::CreateTreeStructure(), and fxObjectManager.

Referenced by TGo4ComGetTreeStructure::ExeCom().

Bool_t TGo4Analysis::AddHistogram TH1 *    his,
const Text_t *    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 1119 of file TGo4AnalysisImp.cxx.

References TGo4AnalysisObjectManager::AddHistogram(), and fxObjectManager.

Referenced by TGo4EventProcessor::AddHistogram(), TGo4ComCreateHistogram::ExeCom(), TGo4TreeHistogramEntry::ProcessTree(), TYYYAnalysis::UserPreLoop(), and TMeshAnalysis::UserPreLoop().

Bool_t TGo4Analysis::AddTree TTree *    tree,
const Text_t *    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 1146 of file TGo4AnalysisImp.cxx.

References TGo4AnalysisObjectManager::AddTree(), fxObjectManager, and TGo4Status::kGo4BackStoreReset.

Referenced by TGo4AnalysisStep::NewEventStore().

Bool_t TGo4Analysis::RemoveTree TTree *    tree,
const Text_t *    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 1278 of file TGo4AnalysisImp.cxx.

References TGo4AnalysisObjectManager::fgcTOPDYNAMICLIST, fxObjectManager, GetDynamicList(), TGo4AnalysisObjectManager::RemoveTree(), and TGo4DynamicList::Reset().

Referenced by TGo4AnalysisStep::CloseEventStore().

Bool_t TGo4Analysis::AddTreeHistogram const Text_t *    hisname,
const Text_t *    treename,
const Text_t *    varexp,
TCut    selection
 

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 1092 of file TGo4AnalysisImp.cxx.

References TGo4AnalysisObjectManager::AddTreeHistogram(), fxObjectManager, and UpdateNamesList().

Referenced by TGo4ComAddTreeHistogram::ExeCom().

TH1 * TGo4Analysis::GetHistogram const Text_t *    name
 

Search histogram in histogram list (directory).

Definition at line 1184 of file TGo4AnalysisImp.cxx.

References fxObjectManager, and TGo4AnalysisObjectManager::GetHistogram().

Referenced by TGo4EventProcessor::GetHistogram(), TGo4HistogramEntry::InitPointers(), TGo4TreeHistogramEntry::ProcessTree(), TGo4HisConnectorRunnable::Run(), TYYYAnalysis::UserPostLoop(), TYYYAnalysis::UserPreLoop(), and TMeshAnalysis::UserPreLoop().

TTree * TGo4Analysis::GetTree const Text_t *    name
 

Search tree in tree folder.

Definition at line 1210 of file TGo4AnalysisImp.cxx.

References fxObjectManager, and TGo4AnalysisObjectManager::GetTree().

Referenced by TGo4TreeHistogramEntry::ProcessTree().

Bool_t TGo4Analysis::RemoveHistogram const Text_t *    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 1251 of file TGo4AnalysisImp.cxx.

References fxObjectManager, and TGo4AnalysisObjectManager::RemoveHistogram().

Referenced by TGo4EventProcessor::RemoveHistogram().

Bool_t TGo4Analysis::AddAnalysisCondition TGo4Condition   con,
const Text_t *    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 1154 of file TGo4AnalysisImp.cxx.

References TGo4AnalysisObjectManager::AddAnalysisCondition(), and fxObjectManager.

Referenced by TGo4EventProcessor::AddAnalysisCondition().

Bool_t TGo4Analysis::SetAnalysisCondition const Text_t *    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 1315 of file TGo4AnalysisImp.cxx.

References fxObjectManager, and TGo4AnalysisObjectManager::SetAnalysisCondition().

Referenced by TGo4ComSetCondition::ExeCom().

TGo4Condition * TGo4Analysis::GetAnalysisCondition const Text_t *    name
 

Retrieves an analysis condition from list by name.

Returns 0 if no such condtion.

Definition at line 1159 of file TGo4AnalysisImp.cxx.

References fxObjectManager, and TGo4AnalysisObjectManager::GetAnalysisCondition().

Referenced by TGo4ComGetCondition::ExeCom(), TGo4EventProcessor::GetAnalysisCondition(), and TGo4DynamicEntry::InitPointers().

Bool_t TGo4Analysis::RemoveAnalysisCondition const Text_t *    name
 

Removes analysis condition from list by name.

Returns 0 if no such condition. Condition object is deleted on heap.

Definition at line 1285 of file TGo4AnalysisImp.cxx.

References fxObjectManager, and TGo4AnalysisObjectManager::RemoveAnalysisCondition().

Referenced by TGo4EventProcessor::RemoveAnalysisCondition().

Bool_t TGo4Analysis::AddParameter TGo4Parameter   par,
const Text_t *    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 1129 of file TGo4AnalysisImp.cxx.

References TGo4AnalysisObjectManager::AddParameter(), and fxObjectManager.

Referenced by TGo4EventProcessor::AddParameter(), TMeshAnalysis::TMeshAnalysis(), TXXXAnalysis::TXXXAnalysis(), and TYYYAnalysis::TYYYAnalysis().

Bool_t TGo4Analysis::SetParameter const Text_t *    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 1321 of file TGo4AnalysisImp.cxx.

References fxObjectManager, and TGo4AnalysisObjectManager::SetParameter().

Referenced by TGo4ComSetParameter::ExeCom().

TGo4Parameter * TGo4Analysis::GetParameter const Text_t *    name
 

Retrieves a parameter object by name from the object folder.

Returns 0 if no such paramter.

Definition at line 1194 of file TGo4AnalysisImp.cxx.

References fxObjectManager, and TGo4AnalysisObjectManager::GetParameter().

Referenced by TGo4ComGetParameter::ExeCom(), and TGo4EventProcessor::GetParameter().

Bool_t TGo4Analysis::RemoveParameter const Text_t *    name
 

Removes parameter by name.

Returns 0 if no such parameter. Parameter object is deleted on heap.

Definition at line 1263 of file TGo4AnalysisImp.cxx.

References fxObjectManager, and TGo4AnalysisObjectManager::RemoveParameter().

Referenced by TGo4EventProcessor::RemoveParameter().

Bool_t TGo4Analysis::AddPicture TGo4Picture   pic,
const Text_t *    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 1134 of file TGo4AnalysisImp.cxx.

References TGo4AnalysisObjectManager::AddPicture(), and fxObjectManager.

Referenced by TGo4EventProcessor::AddPicture().

Bool_t TGo4Analysis::SetPicture const Text_t *    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 1326 of file TGo4AnalysisImp.cxx.

References fxObjectManager, and TGo4AnalysisObjectManager::SetPicture().

Referenced by TGo4ComSetPicture::ExeCom().

TGo4Picture * TGo4Analysis::GetPicture const Text_t *    name
 

Retrieves a picture object by name from the object folder.

Returns 0 if no such picture.

Definition at line 1199 of file TGo4AnalysisImp.cxx.

References fxObjectManager, and TGo4AnalysisObjectManager::GetPicture().

Referenced by TGo4ComGetPicture::ExeCom(), and TGo4EventProcessor::GetPicture().

Bool_t TGo4Analysis::RemovePicture const Text_t *    name
 

Removes picture by name.

Returns 0 if no such picture. Picture object is deleted on heap.

Definition at line 1268 of file TGo4AnalysisImp.cxx.

References fxObjectManager, and TGo4AnalysisObjectManager::RemovePicture().

Referenced by TGo4EventProcessor::RemovePicture().

Bool_t TGo4Analysis::AddCanvas TCanvas *    can,
const Text_t *    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 1139 of file TGo4AnalysisImp.cxx.

References TGo4AnalysisObjectManager::AddCanvas(), and fxObjectManager.

Referenced by TGo4EventProcessor::AddCanvas(), and TYYYAnalysis::TYYYAnalysis().

Bool_t TGo4Analysis::SetCanvas const Text_t *    name,
TGo4CanvasStatus   stat
 

Set existing picture of name to the values of external CanvasStatus object.

Used to set TCanvas by command from gui. Optional parent folder can be specified. by default, TCanvas is searched relative to Canvases folder.

Definition at line 1331 of file TGo4AnalysisImp.cxx.

References fxObjectManager, and TGo4AnalysisObjectManager::SetCanvas().

Referenced by TGo4ComSetCanvas::ExeCom().

TCanvas * TGo4Analysis::GetCanvas const Text_t *    name
 

Retrieves a TCanvas by name from the Canvases folder.

Returns 0 if no such object.

Definition at line 1204 of file TGo4AnalysisImp.cxx.

References fxObjectManager, and TGo4AnalysisObjectManager::GetCanvas().

Referenced by TGo4ComGetCanvas::ExeCom(), TGo4EventProcessor::GetCanvas(), and TYYYAnalysis::UserPostLoop().

Bool_t TGo4Analysis::RemoveCanvas const Text_t *    name
 

Removes TCanvas by name.

Returns 0 if no such canvas. TCanvas object is deleted on heap.

Definition at line 1273 of file TGo4AnalysisImp.cxx.

References fxObjectManager, and TGo4AnalysisObjectManager::RemoveCanvas().

Referenced by TGo4EventProcessor::RemoveCanvas().

TGo4AnalysisStatus * TGo4Analysis::CreateStatus  
 

Create a copy of the analysis internal state.

To be sent to the Display.

Definition at line 632 of file TGo4AnalysisImp.cxx.

References TRACE, and UpdateStatus().

Referenced by TGo4ComGetAnalysisStatus::ExeCom(), Print(), SaveStatus(), and TGo4AnalysisClient::SendAnalysisStatus().

TGo4ObjectStatus * TGo4Analysis::CreateObjectStatus const Text_t *    name,
const Text_t *    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 1226 of file TGo4AnalysisImp.cxx.

References TGo4AnalysisObjectManager::CreateObjectStatus(), and fxObjectManager.

Referenced by TGo4ComGetObjectStatus::ExeCom().

TGo4AnalysisObjectNames * TGo4Analysis::CreateNamesList  
 

Creates a list of names (keys) of all objects in analysis directories.

Definition at line 1215 of file TGo4AnalysisImp.cxx.

References TGo4AnalysisObjectManager::CreateNamesList(), and fxObjectManager.

Referenced by UpdateNamesList().

TFolder * TGo4Analysis::GetObjectFolder  
 

Access to top level go4 folder.

For histogram server.

Definition at line 1220 of file TGo4AnalysisImp.cxx.

References fxObjectManager, and TGo4AnalysisObjectManager::GetObjectFolder().

Referenced by TGo4HisConnectorRunnable::Run(), and StoreFolder().

void TGo4Analysis::UpdateStatus TGo4AnalysisStatus   state
 

Create a copy of the analysis internal state.

To be sent to the Display.

Definition at line 486 of file TGo4AnalysisImp.cxx.

References fbAutoSaveOn, fbAutoSaveOverwrite, fiAutoSaveCompression, fiAutoSaveInterval, fxAutoFileName, fxConfigFilename, fxStepManager, TGo4AnalysisStatus::SetAutoFileName(), TGo4AnalysisStatus::SetAutoSaveCompression(), TGo4AnalysisStatus::SetAutoSaveInterval(), TGo4AnalysisStatus::SetAutoSaveOn(), TGo4AnalysisStatus::SetAutoSaveOverwrite(), TGo4AnalysisStatus::SetConfigFileName(), TRACE, and TGo4AnalysisStepManager::UpdateStatus().

Referenced by CreateStatus().

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 503 of file TGo4AnalysisImp.cxx.

References CloseAnalysis(), fxStepManager, TGo4AnalysisStatus::GetAutoFileName(), TGo4AnalysisStatus::GetAutoSaveCompression(), TGo4AnalysisStatus::GetAutoSaveInterval(), TGo4AnalysisStatus::IsAutoSaveOn(), TGo4AnalysisStatus::IsAutoSaveOverwrite(), SetAutoSave(), SetAutoSaveFile(), SetAutoSaveInterval(), TGo4AnalysisStepManager::SetStatus(), and TRACE.

Referenced by TGo4ComSetAnalysisStatus::ExeCom(), and LoadStatus().

Bool_t TGo4Analysis::LoadStatus const Text_t *    filename = 0
 

Load Analysis Status from file and set analysis to these settings.

Definition at line 525 of file TGo4AnalysisImp.cxx.

References fgcDEFAULTFILESUF, fgcDEFAULTSTATUSFILENAME, fxConfigFilename, Message(), SetStatus(), and TRACE.

Referenced by TGo4ComLoadAnalysisStatus::ExeCom(), and TGo4AnalysisClient::Initialization().

Bool_t TGo4Analysis::LoadObjects const Text_t *    filename = 0
 

Load analysis objects from file.

File is the autosave file by default, but may be specified by name.

Definition at line 887 of file TGo4AnalysisImp.cxx.

References CloseAutoSaveFile(), fxAutoFile, fxAutoFileName, fxAutoSaveMutex, fxObjectManager, TGo4AnalysisObjectManager::LoadObjects(), Message(), and OpenAutoSaveFile().

Referenced by InitEventClasses(), and TGo4AnalysisClient::Initialization().

Bool_t TGo4Analysis::SaveStatus const Text_t *    filename = 0
 

Save current analysis settings into file of given name.

Definition at line 583 of file TGo4AnalysisImp.cxx.

References CreateStatus(), fgcDEFAULTFILESUF, fgcDEFAULTSTATUSFILENAME, fxConfigFilename, Message(), and TRACE.

Referenced by TGo4ComSaveAnalysisStatus::ExeCom().

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 1422 of file TGo4AnalysisImp.cxx.

References fxStepManager, and TGo4AnalysisStepManager::SetStepChecking().

Referenced by TMeshAnalysis::TMeshAnalysis().

Bool_t TGo4Analysis::SetFirstStep const Text_t *    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 1428 of file TGo4AnalysisImp.cxx.

References fxStepManager, and TGo4AnalysisStepManager::SetFirstStep().

Referenced by TGo4ComSetFirstStep::ExeCom().

Bool_t TGo4Analysis::SetLastStep const Text_t *    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 1433 of file TGo4AnalysisImp.cxx.

References fxStepManager, and TGo4AnalysisStepManager::SetLastStep().

Referenced by TGo4ComSetLastStep::ExeCom().

Bool_t TGo4Analysis::SetStepStorage const Text_t *    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 1438 of file TGo4AnalysisImp.cxx.

References fxStepManager, and TGo4AnalysisStepManager::SetStepStorage().

Bool_t TGo4Analysis::NewStepStore const Text_t *    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 1412 of file TGo4AnalysisImp.cxx.

References fxStepManager, and TGo4AnalysisStepManager::NewStepStore().

Referenced by TGo4ComSetStore::ExeCom().

Bool_t TGo4Analysis::NewStepSource const Text_t *    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 1407 of file TGo4AnalysisImp.cxx.

References fxStepManager, and TGo4AnalysisStepManager::NewStepSource().

Referenced by TGo4ComSetSource::ExeCom().

Bool_t TGo4Analysis::NewStepProcessor const Text_t *    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 1402 of file TGo4AnalysisImp.cxx.

References fxStepManager, and TGo4AnalysisStepManager::NewStepProcessor().

Referenced by TGo4ComSetProcessor::ExeCom().

void TGo4Analysis::SetAutoSaveInterval Int_t    interval = 0 [inline]
 

Set time interval (in s) for autosave action.

Definition at line 444 of file TGo4AnalysisImp.h.

References fiAutoSaveInterval.

Referenced by main(), and SetStatus().

void TGo4Analysis::SetAutoSaveFile const Text_t *    filename = 0,
Bool_t    overwrite = kFALSE,
Int_t    compression = 5
 

Set file for autosave action.

Definition at line 751 of file TGo4AnalysisImp.cxx.

References fbAutoSaveOverwrite, fgcDEFAULTFILENAME, fgcDEFAULTFILESUF, fiAutoSaveCompression, and fxAutoFileName.

Referenced by TGo4ComAutosave::ExeCom(), main(), TGo4MbsFile::NewFileAction(), and SetStatus().

Int_t TGo4Analysis::LockAutoSave  
 

Lock the autosave mutex.

For usage in analysis client

Definition at line 777 of file TGo4AnalysisImp.cxx.

References fxAutoSaveMutex, and TRACE.

Referenced by TGo4AnalysisClient::~TGo4AnalysisClient().

Int_t TGo4Analysis::UnLockAutoSave  
 

UnLock the autosave mutex.

For usage in analysis client

Definition at line 793 of file TGo4AnalysisImp.cxx.

References fxAutoSaveMutex, and TRACE.

Referenced by TGo4AnalysisClient::~TGo4AnalysisClient().

void TGo4Analysis::SetAutoSave Bool_t    on = kTRUE [inline]
 

enable/disable functionality of AutoSave method.

Definition at line 458 of file TGo4AnalysisImp.h.

References fbAutoSaveOn.

Referenced by TGo4ComAutosave::ExeCom(), main(), TGo4AnalysisClient::SetCintMode(), and SetStatus().

Bool_t TGo4Analysis::IsAutoSaveOn   const [inline]
 

True if autosaving is enabled.

Definition at line 461 of file TGo4AnalysisImp.h.

References fbAutoSaveOn.

Referenced by TGo4ComAutosave::ExeCom().

void TGo4Analysis::SetAutoSaveFileChange Bool_t    on = kTRUE [inline]
 

Set analysis in mode where autosave file switches for each new input file.

Definition at line 464 of file TGo4AnalysisImp.h.

References fbAutoSaveFileChange.

Bool_t TGo4Analysis::IsAutoSaveFileChange   const [inline]
 

True if autosave file is changed according to the current input file of lmd file list.

Definition at line 468 of file TGo4AnalysisImp.h.

References fbAutoSaveFileChange.

Referenced by TGo4MbsFile::NewFileAction().

Bool_t TGo4Analysis::IsInitDone   const [inline]
 

True if the analysis steps are initialized.

Definition at line 471 of file TGo4AnalysisImp.h.

References fbInitIsDone.

Referenced by TGo4AnalysisWatchRunnable::Run(), and TGo4AnalysisClient::Start().

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 949 of file TGo4AnalysisImp.cxx.

References fbExists, fxAnalysisSlave, and TGo4Slave::MainIsRunning().

Referenced by Process(), and WaitForStart().

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 958 of file TGo4AnalysisImp.cxx.

References fxAnalysisSlave, TGo4AnalysisClient::Start(), and TGo4AnalysisClient::Stop().

Referenced by TGo4InterruptHandler::Pop().

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 969 of file TGo4AnalysisImp.cxx.

References fbStopWatingFlag, fgiMACROSTARTPOLL, and IsRunning().

void TGo4Analysis::StopWaiting  
 

Called by interrupt routine for normal exit from WaitForStart() function.

Definition at line 991 of file TGo4AnalysisImp.cxx.

References fbStopWatingFlag.

Referenced by TGo4InterruptHandler::Notify().

Int_t TGo4Analysis::IsErrorStopEnabled  
 

True if current analysis step allows stop on error.

Definition at line 1443 of file TGo4AnalysisImp.cxx.

References fxStepManager, and TGo4AnalysisStepManager::IsErrorStopEnabled().

Referenced by Process(), and TGo4AnalysisMainRunnable::Run().

void TGo4Analysis::SetNewInputFile Bool_t    on = kTRUE [inline]
 

Set flag that input file has changed.

Definition at line 509 of file TGo4AnalysisImp.h.

References fbNewInputFile.

Referenced by TGo4MbsFile::NewFileAction(), TMeshAnalysis::UserEventFunc(), and TXXXAnalysis::UserEventFunc().

Bool_t TGo4Analysis::IsNewInputFile   const [inline]
 

True if input filelist has changed to a new lmd file.

Definition at line 512 of file TGo4AnalysisImp.h.

References fbNewInputFile.

Referenced by TMeshAnalysis::UserEventFunc(), and TXXXAnalysis::UserEventFunc().

void TGo4Analysis::SetDynListInterval Int_t    val
 

Definition at line 1339 of file TGo4AnalysisImp.cxx.

References fxObjectManager, and TGo4AnalysisObjectManager::SetDynListInterval().

Referenced by TGo4Analysis().

Int_t TGo4Analysis::GetDynListInterval  
 

Definition at line 1174 of file TGo4AnalysisImp.cxx.

References fxObjectManager, and TGo4AnalysisObjectManager::GetDynListInterval().

Bool_t TGo4Analysis::CheckDynListInterval  
 

Definition at line 1344 of file TGo4AnalysisImp.cxx.

References TGo4AnalysisObjectManager::CheckDynListInterval(), and fxObjectManager.

Referenced by TGo4TreeHistogramEntry::Process().

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 1382 of file TGo4AnalysisImp.cxx.

References fxStepManager, and TGo4AnalysisStepManager::GetInputEvent().

Referenced by CreateSingleEventTree(), TGo4ComGetCurrentEvent::ExeCom(), TGo4EventProcessor::GetInputEvent(), TYYYAnalysis::UserPreLoop(), TMeshAnalysis::UserPreLoop(), and TXXXAnalysis::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 1377 of file TGo4AnalysisImp.cxx.

References fxStepManager, and TGo4AnalysisStepManager::GetInputEvent().

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 1397 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 1392 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 1387 of file TGo4AnalysisImp.cxx.

References fxStepManager, and TGo4AnalysisStepManager::GetOutputEvent().

Referenced by CreateSingleEventTree(), and TYYYAnalysis::UserPreLoop().

TGo4EventElement * TGo4Analysis::GetEventStructure const Text_t *    name
 

Search reference to event stucture in folder.

Definition at line 1179 of file TGo4AnalysisImp.cxx.

References fxObjectManager, and TGo4AnalysisObjectManager::GetEventStructure().

Referenced by CreateSingleEventTree(), TGo4ComSetPrintEvent::ExeCom(), TGo4ComGetCurrentEvent::ExeCom(), TGo4HistogramEntry::InitPointers(), TGo4DynamicEntry::InitPointers(), and TMeshProviderProc::SetRealInput().

void TGo4Analysis::Message Int_t    prio,
const Text_t *    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 910 of file TGo4AnalysisImp.cxx.

References TGo4Log::fguMESLEN, and SendMessageToGUI().

Referenced by TGo4AnalysisStepManager::AddAnalysisStep(), TGo4AnalysisObjectManager::AddTreeHistogram(), TGo4AnalysisStepManager::AutoSave(), AutoSave(), TGo4AnalysisStepManager::CloseAnalysis(), TGo4AnalysisObjectManager::CloseAnalysis(), CloseAutoSaveFile(), TGo4HistogramServer::ConnectObjectClient(), TGo4AnalysisObjectManager::CreateTreeStructure(), TGo4AnalysisObjectManager::GetObject(), TGo4AnalysisStepManager::InitEventClasses(), InitEventClasses(), TGo4AnalysisObjectManager::LoadFolder(), LoadObjects(), LoadStatus(), MainCycle(), TGo4EventProcessor::Message(), TGo4AnalysisStep::NewEventProcessor(), TGo4AnalysisStep::NewEventSource(), TGo4AnalysisStep::NewEventStore(), TGo4AnalysisStep::NewInputEvent(), TGo4AnalysisStep::NewOutputEvent(), TGo4MbsFile::NextFile(), TGo4MbsFile::Open(), OpenAutoSaveFile(), Process(), TGo4AnalysisObjectManager::PutToFolder(), TGo4AnalysisObjectManager::RemoveObjectFromFolder(), TGo4HisConnectorRunnable::Run(), RunImplicitLoop(), TGo4AnalysisObjectManager::SaveFolder(), TGo4AnalysisObjectManager::SaveObjects(), SaveStatus(), SendObjectToGUI(), TGo4AnalysisStepManager::SetFirstStep(), TGo4AnalysisStepManager::SetLastStep(), ShowEvent(), StartObjectServer(), StopObjectServer(), TGo4Analysis(), TGo4HistogramServer::TGo4HistogramServer(), UpdateNamesList(), UserPostLoop(), and UserPreLoop().

void TGo4Analysis::SendObjectToGUI TNamed *    ob
 

User May send any named object via data channel to the gui.

In batch mode, this method is disabled.

Definition at line 937 of file TGo4AnalysisImp.cxx.

References fxAnalysisSlave, Message(), and TGo4Slave::SendObject().

Referenced by TGo4EventProcessor::SendObjectToGUI().

void TGo4Analysis::StartObjectServer const Text_t *    basename,
const Text_t *    passwd
 

Start the object (histogram) server.

Existing server will be stopped and replaced by new server with different basename and password.

Definition at line 1023 of file TGo4AnalysisImp.cxx.

References Message().

void TGo4Analysis::StopObjectServer  
 

Stop the object (histogram) server.

Definition at line 1036 of file TGo4AnalysisImp.cxx.

References Message().

void TGo4Analysis::SetAdministratorPassword const char *    passwd
 

Specify password for administrator account.

For login from remote gui into analysis server

Definition at line 1503 of file TGo4AnalysisImp.cxx.

References TGo4TaskHandler::SetAdminAccount().

Referenced by main().

void TGo4Analysis::SetControllerPassword const char *    passwd
 

Specify password for controller account.

For login from remote gui into analysis server

Definition at line 1498 of file TGo4AnalysisImp.cxx.

References TGo4TaskHandler::SetCtrlAccount().

Referenced by main().

void TGo4Analysis::SetObserverPassword const char *    passwd
 

Specify password for observer account.

For login from remote gui into analysis server

Definition at line 1493 of file TGo4AnalysisImp.cxx.

References TGo4TaskHandler::SetObservAccount().

Referenced by main().

void TGo4Analysis::Print Option_t *    opt = "" const [virtual]
 

Printout the analysis (step-) setup.

Definition at line 643 of file TGo4AnalysisImp.cxx.

References CreateStatus(), and TGo4AnalysisStatus::PrintStatus().

void TGo4Analysis::PrintHistograms const Text_t *    expression = 0
 

Printout of all histogram statistic counters on the terminal.

Definition at line 1354 of file TGo4AnalysisImp.cxx.

References fxObjectManager, and TGo4AnalysisObjectManager::PrintHistograms().

Referenced by TGo4ComPrintHistograms::ExeCom().

void TGo4Analysis::PrintConditions const Text_t *    expression = 0
 

Print all condition counters to the terminal.

Definition at line 1349 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 1359 of file TGo4AnalysisImp.cxx.

References fxObjectManager, and TGo4AnalysisObjectManager::PrintDynamicList().

Referenced by TGo4ComPrintDynList::ExeCom().

void TGo4Analysis::ShowEvent const Text_t *    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 analyis 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 1051 of file TGo4AnalysisImp.cxx.

References CreateSingleEventTree(), and Message().

Referenced by TGo4ComGetCurrentEvent::ExeCom().

Int_t TGo4Analysis::StoreParameter const Text_t *    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 1463 of file TGo4AnalysisImp.cxx.

References fxStepManager, and TGo4AnalysisStepManager::Store().

Int_t TGo4Analysis::StoreCondition const Text_t *    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 1468 of file TGo4AnalysisImp.cxx.

References fxStepManager, and TGo4AnalysisStepManager::Store().

Int_t TGo4Analysis::StoreFitter const Text_t *    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 1473 of file TGo4AnalysisImp.cxx.

References fxStepManager, and TGo4AnalysisStepManager::Store().

Int_t TGo4Analysis::StoreFolder const Text_t *    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 1478 of file TGo4AnalysisImp.cxx.

References fxStepManager, and TGo4AnalysisStepManager::Store().

Int_t TGo4Analysis::StoreFolder const Text_t *    stepname,
const Text_t *    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 1483 of file TGo4AnalysisImp.cxx.

References TGo4AnalysisObjectManager::FindSubFolder(), fxObjectManager, fxStepManager, GetObjectFolder(), and TGo4AnalysisStepManager::Store().

void TGo4Analysis::AutoSave  
 

Perform autosave of all active stores, save existing calibration objects, write known objects into user file.

Definition at line 811 of file TGo4AnalysisImp.cxx.

References TGo4AnalysisStepManager::AutoSave(), CloseAutoSaveFile(), fbAutoSaveOn, fbAutoSaveOverwrite, fxAutoFile, fxAutoSaveMutex, fxObjectManager, fxStepManager, Message(), OpenAutoSaveFile(), TGo4AnalysisObjectManager::SaveObjects(), and TRACE.

Referenced by CloseAnalysis(), TGo4ComAutosave::ExeCom(), MainCycle(), and TGo4MbsFile::NewFileAction().

Bool_t TGo4Analysis::AddAnalysisStep TGo4AnalysisStep   next
 

Method for user analysis constructor to setup the list of analyisis 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 creational method. Analysis steps are owned by the steplist once they have been added.

Definition at line 1448 of file TGo4AnalysisImp.cxx.

References TGo4AnalysisStepManager::AddAnalysisStep(), and fxStepManager.

Referenced by main(), TMeshAnalysis::TMeshAnalysis(), TXXXAnalysis::TXXXAnalysis(), and TYYYAnalysis::TYYYAnalysis().

TGo4AnalysisStep * TGo4Analysis::GetAnalysisStep const Text_t *    name
 

Access to certain analysis step by name.

For analysis internal usage.

Definition at line 1164 of file TGo4AnalysisImp.cxx.

References fxStepManager, and TGo4AnalysisStepManager::GetAnalysisStep().

Referenced by TMeshParameter::UpdateFrom().

Int_t TGo4Analysis::ProcessAnalysisSteps   [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 1453 of file TGo4AnalysisImp.cxx.

References fxStepManager, and TGo4AnalysisStepManager::ProcessAnalysisSteps().

Referenced by MainCycle().

TTree * TGo4Analysis::CreateSingleEventTree const Text_t *    name,
Bool_t    isoutput = kTRUE
[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 672 of file TGo4AnalysisImp.cxx.

References GetEventStructure(), GetInputEvent(), GetOutputEvent(), and TRACE.

Referenced by TGo4ComGetCurrentEvent::ExeCom(), and ShowEvent().

TTree * TGo4Analysis::CreateSingleEventTree TGo4EventElement   event [private]
 

Create a tree that is filled with one single event sample.

To be sent to the gui.

Definition at line 651 of file TGo4AnalysisImp.cxx.

References fxSampleEvent, and TRACE.

void TGo4Analysis::UpdateNamesList   [private]
 

Update the internal list of object names.

To be used internally and by analysis client.

Definition at line 872 of file TGo4AnalysisImp.cxx.

References CreateNamesList(), fxObjectNames, Message(), and TRACE.

Referenced by AddTreeHistogram(), TGo4ComGetNamesList::ExeCom(), TGo4HistogramServer::HandleObjectRequest(), InitEventClasses(), RemoveDynamicEntry(), and TGo4AnalysisClient::SendNamesList().

TGo4DynamicList * TGo4Analysis::GetDynamicList const Text_t *    listname [private]
 

Definition at line 1169 of file TGo4AnalysisImp.cxx.

References fxObjectManager, and TGo4AnalysisObjectManager::GetDynamicList().

Referenced by TGo4ComGetDynamicEntryStatus::ExeCom(), and RemoveTree().

TGo4AnalysisObjectNames* TGo4Analysis::GetNamesList   const [inline, private]
 

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 691 of file TGo4AnalysisImp.h.

References fxObjectNames.

Referenced by TGo4ComGetNamesList::ExeCom(), TGo4HistogramServer::HandleObjectRequest(), and TGo4AnalysisClient::SendNamesList().

void TGo4Analysis::SetOutputEvent TGo4EventElement   event [private]
 

Sets the current output event (detector) structure.

For internal usage by the chain of analysis steps, since TGo4AnalysisStep is friend.

Definition at line 1458 of file TGo4AnalysisImp.cxx.

References fxStepManager, and TGo4AnalysisStepManager::SetOutputEvent().

Referenced by TGo4AnalysisStep::Process().

Bool_t TGo4Analysis::AddEventStore TGo4EventStore   store [private]
 

Add reference to event store object to Go4 Folder structure.

To be used by framework only!

Definition at line 1109 of file TGo4AnalysisImp.cxx.

References TGo4AnalysisObjectManager::AddEventStore(), and fxObjectManager.

Referenced by TGo4AnalysisStep::NewEventStore().

Bool_t TGo4Analysis::RemoveEventStore TGo4EventStore   store [private]
 

Remove reference to event store from go4 folder structure.

Definition at line 1241 of file TGo4AnalysisImp.cxx.

References fxObjectManager, and TGo4AnalysisObjectManager::RemoveEventStore().

Referenced by TGo4AnalysisStep::CloseEventStore().

Bool_t TGo4Analysis::AddEventSource TGo4EventSource   source [private]
 

Add reference to event source object to Go4 Folder structure.

To be used by framework only!

Definition at line 1104 of file TGo4AnalysisImp.cxx.

References TGo4AnalysisObjectManager::AddEventSource(), and fxObjectManager.

Referenced by TGo4AnalysisStep::NewEventSource().

Bool_t TGo4Analysis::RemoveEventSource TGo4EventSource   source [private]
 

Remove reference to event source from go4 folder structure.

Definition at line 1236 of file TGo4AnalysisImp.cxx.

References fxObjectManager, and TGo4AnalysisObjectManager::RemoveEventSource().

Referenced by TGo4AnalysisStep::CloseEventSource().

Bool_t TGo4Analysis::AddEventProcessor TGo4EventProcessor   pro [private]
 

Add reference to event processor object to Go4 Folder structure.

To be used by framework only!

Definition at line 1099 of file TGo4AnalysisImp.cxx.

References TGo4AnalysisObjectManager::AddEventProcessor(), and fxObjectManager.

Referenced by TGo4AnalysisStep::NewEventProcessor().

Bool_t TGo4Analysis::RemoveEventProcessor TGo4EventProcessor   pro [private]
 

Remove reference to event processor from go4 folder structure.

Definition at line 1290 of file TGo4AnalysisImp.cxx.

References fxObjectManager, and TGo4AnalysisObjectManager::RemoveEventProcessor().

Referenced by TGo4AnalysisStep::CloseEventProcessor().

Bool_t TGo4Analysis::AddEventStructure TGo4EventElement   ev [private]
 

Add reference to event structure object to Go4 Folder structure.

To be used by framework only!

Definition at line 1114 of file TGo4AnalysisImp.cxx.

References TGo4AnalysisObjectManager::AddEventStructure(), and fxObjectManager.

Referenced by TGo4AnalysisStep::NewInputEvent(), and TGo4AnalysisStep::NewOutputEvent().

Bool_t TGo4Analysis::RemoveEventStructure TGo4EventElement   ev [private]
 

Remove reference to event structure from go4 folder structure.

Definition at line 1246 of file TGo4AnalysisImp.cxx.

References fxObjectManager, and TGo4AnalysisObjectManager::RemoveEventStructure().

Referenced by TGo4AnalysisStep::DeleteInputEvent(), and TGo4AnalysisStep::DeleteOutputEvent().

void TGo4Analysis::SetAnalysisClient TGo4AnalysisClient   cli [inline, private]
 

Register analysis client if running in gui mode.

Definition at line 727 of file TGo4AnalysisImp.h.

References fxAnalysisSlave.

Referenced by TGo4AnalysisClient::TGo4AnalysisClient().

void TGo4Analysis::SendMessageToGUI Int_t    level,
Bool_t    printout,
const char *    text
[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 920 of file TGo4AnalysisImp.cxx.

References fxAnalysisSlave, TGo4Log::IsOutputEnabled(), TGo4Log::Message(), TGo4Log::OutputEnable(), and TGo4Slave::SendStatusMessage().

Referenced by Message().

void TGo4Analysis::OpenAutoSaveFile   [private]
 

Open the autosave file with the current settings.

Definition at line 829 of file TGo4AnalysisImp.cxx.

References fbAutoSaveOn, fiAutoSaveCompression, fxAutoFile, fxAutoFileName, fxAutoSaveMutex, and Message().

Referenced by AutoSave(), and LoadObjects().

void TGo4Analysis::CloseAutoSaveFile   [private]
 

Close the autosave file if existing.

Definition at line 857 of file TGo4AnalysisImp.cxx.

References fxAutoFile, fxAutoFileName, fxAutoSaveMutex, and Message().

Referenced by AutoSave(), LoadObjects(), and ~TGo4Analysis().


Friends And Related Function Documentation

friend class TGo4AnalysisStep [friend]
 

Definition at line 71 of file TGo4AnalysisImp.h.

Referenced by TMeshAnalysis::TMeshAnalysis(), TXXXAnalysis::TXXXAnalysis(), and TYYYAnalysis::TYYYAnalysis().

friend class TGo4AnalysisClient [friend]
 

Definition at line 72 of file TGo4AnalysisImp.h.

friend class TGo4ComGetCurrentEvent [friend]
 

Definition at line 73 of file TGo4AnalysisImp.h.

friend class TGo4ComHisGetDir [friend]
 

Definition at line 74 of file TGo4AnalysisImp.h.

friend class TGo4ComGetNamesList [friend]
 

Definition at line 75 of file TGo4AnalysisImp.h.

friend class TGo4ComGetDynamicEntryStatus [friend]
 

Definition at line 76 of file TGo4AnalysisImp.h.

friend class TGo4HisConnectorRunnable [friend]
 

Definition at line 77 of file TGo4AnalysisImp.h.

friend class TGo4HistogramServer [friend]
 

Definition at line 78 of file TGo4AnalysisImp.h.


Member Data Documentation

const Int_t TGo4Analysis::fgiAUTOSAVECOUNTS = 500 [static]
 

Definition of default autosave interval.

Definition at line 74 of file TGo4AnalysisImp.cxx.

const Int_t TGo4Analysis::fgiGO4VERSION = __GO4BUILDVERSION__ [static]
 

Version Number of the Go4 build.

Number 10000 means Version1.00.00. Will be compared to the Version number in static Version singleton on runtime.

Definition at line 70 of file TGo4AnalysisImp.cxx.

Referenced by TGo4Analysis().

const Int_t TGo4Analysis::fgiDYNLISTINTERVAL = 1000 [static]
 

This value is the number of events in between subsequent dynamic list processing.

Definition at line 75 of file TGo4AnalysisImp.cxx.

Referenced by TGo4Analysis().

const Int_t TGo4Analysis::fgiMACROSTARTPOLL = 1000 [static]
 

Time in ms to sleep in the polling loop of the WaitForStart.

Definition at line 76 of file TGo4AnalysisImp.cxx.

Referenced by WaitForStart().

const Text_t TGo4Analysis::fgcDEFAULTFILENAME = "Go4AutoSave.root" [static]
 

standard file name.

Definition at line 77 of file TGo4AnalysisImp.cxx.

Referenced by SetAutoSaveFile(), and TGo4Analysis().

const Text_t TGo4Analysis::fgcDEFAULTSTATUSFILENAME = "Go4AnalysisPrefs.root" [static]
 

standard file name for analysis settings.

Definition at line 78 of file TGo4AnalysisImp.cxx.

Referenced by TGo4AnalysisClient::Initialization(), LoadStatus(), SaveStatus(), TGo4Analysis(), TGo4ComLoadAnalysisStatus::TGo4ComLoadAnalysisStatus(), and TGo4ComSaveAnalysisStatus::TGo4ComSaveAnalysisStatus().

const Text_t TGo4Analysis::fgcDEFAULTFILESUF = ".root" [static]
 

filename suffix for object file.

Definition at line 79 of file TGo4AnalysisImp.cxx.

Referenced by LoadStatus(), SaveStatus(), and SetAutoSaveFile().

const Text_t TGo4Analysis::fgcTOPDYNAMICLIST = "Go4DynamicList" [static]
 

Default name of the default (toplevel) dynamic list.

Definition at line 80 of file TGo4AnalysisImp.cxx.

Referenced by TGo4AnalysisObjectManager::PutToFolder(), TGo4Analysis(), and TGo4DynamicListCommand::TGo4DynamicListCommand().

Bool_t TGo4Analysis::fbInitIsDone [protected]
 

True if analysis framework has been initialized and the event classes are created.

Definition at line 655 of file TGo4AnalysisImp.h.

Referenced by CloseAnalysis(), InitEventClasses(), and IsInitDone().

Bool_t TGo4Analysis::fbAutoSaveOn [protected]
 

True if Autosaving is enabled (default).

If false, calling AutoSave() will have no effect.

Definition at line 659 of file TGo4AnalysisImp.h.

Referenced by AutoSave(), IsAutoSaveOn(), OpenAutoSaveFile(), SetAutoSave(), and UpdateStatus().

TGo4Analysis * TGo4Analysis::fxInstance = 0 [static, private]
 

Static Pointer to the analysis singleton instance.

Definition at line 72 of file TGo4AnalysisImp.cxx.

Referenced by Instance(), TGo4Analysis(), and ~TGo4Analysis().

Bool_t TGo4Analysis::fbExists = kFALSE [static, private]
 

This is used to check from outsid if an analysis is already there.

Useful if one wants to prevent creating a complete analysis instance in the gui task...

Definition at line 73 of file TGo4AnalysisImp.cxx.

Referenced by Exists(), Instance(), IsRunning(), and TGo4Analysis().

TGo4AnalysisClient* TGo4Analysis::fxAnalysisSlave [private]
 

Optional backpointer to analysis client if running in gui mode.

Definition at line 750 of file TGo4AnalysisImp.h.

Referenced by IsRunning(), MainCycle(), Process(), SendMessageToGUI(), SendObjectToGUI(), SetAnalysisClient(), and SetRunning().

TGo4AnalysisStepManager* TGo4Analysis::fxStepManager [private]
 

Definition at line 754 of file TGo4AnalysisImp.h.

Referenced by AddAnalysisStep(), AutoSave(), CloseAnalysis(), GetAnalysisStep(), GetInputEvent(), GetOutputEvent(), InitEventClasses(), IsErrorStopEnabled(), NewStepProcessor(), NewStepSource(), NewStepStore(), ProcessAnalysisSteps(), SetFirstStep(), SetLastStep(), SetOutputEvent(), SetStatus(), SetStepChecking(), SetStepStorage(), StoreCondition(), StoreFitter(), StoreFolder(), StoreParameter(), TGo4Analysis(), UpdateStatus(), and ~TGo4Analysis().

TGo4AnalysisObjectManager* TGo4Analysis::fxObjectManager [private]
 

Definition at line 758 of file TGo4AnalysisImp.h.

Referenced by AddAnalysisCondition(), AddCanvas(), AddDynamicHistogram(), AddEventProcessor(), AddEventSource(), AddEventStore(), AddEventStructure(), AddHistogram(), AddObject(), AddParameter(), AddPicture(), AddTree(), AddTreeHistogram(), AutoSave(), CheckDynListInterval(), ClearObjects(), CloseAnalysis(), CreateNamesList(), CreateObjectStatus(), CreateTreeStructure(), DeleteObjects(), GetAnalysisCondition(), GetCanvas(), GetDynamicList(), GetDynListInterval(), GetEventStructure(), GetHistogram(), GetObject(), GetObjectFolder(), GetParameter(), GetPicture(), GetTree(), LoadObjects(), MainCycle(), NextMatchingObject(), ObjectManager(), PrintConditions(), PrintDynamicList(), PrintHistograms(), ProtectObjects(), RemoveAnalysisCondition(), RemoveCanvas(), RemoveDynamicEntry(), RemoveEventProcessor(), RemoveEventSource(), RemoveEventStore(), RemoveEventStructure(), RemoveHistogram(), RemoveObject(), RemoveParameter(), RemovePicture(), RemoveTree(), ResetBackStores(), SetAnalysisCondition(), SetCanvas(), SetDynamicEntryStatus(), SetDynListInterval(), SetParameter(), SetPicture(), StoreFolder(), TGo4Analysis(), and ~TGo4Analysis().

TGo4DynamicListStatus* TGo4Analysis::fxDynamicListStatus [private]
 

Status object representing the dynamic list (names of the entries).

May be sent to the display.

Definition at line 764 of file TGo4AnalysisImp.h.

Int_t TGo4Analysis::fiAutoSaveCount [private]
 

Event counter for autosave mechanism.

Definition at line 767 of file TGo4AnalysisImp.h.

Referenced by MainCycle(), and PreLoop().

TStopwatch* TGo4Analysis::fxAutoSaveClock [private]
 

Clock for autosave by time mechanism.

Definition at line 770 of file TGo4AnalysisImp.h.

Referenced by MainCycle(), PreLoop(), TGo4Analysis(), and ~TGo4Analysis().

Int_t TGo4Analysis::fiAutoSaveInterval [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 775 of file TGo4AnalysisImp.h.

Referenced by MainCycle(), SetAutoSaveInterval(), and UpdateStatus().

Int_t TGo4Analysis::fiAutoSaveCompression [private]
 

compression level for autosave file.

Definition at line 778 of file TGo4AnalysisImp.h.

Referenced by OpenAutoSaveFile(), SetAutoSaveFile(), and UpdateStatus().

TMutex* TGo4Analysis::fxAutoSaveMutex [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 783 of file TGo4AnalysisImp.h.

Referenced by AutoSave(), CloseAutoSaveFile(), LoadObjects(), LockAutoSave(), OpenAutoSaveFile(), PostLoop(), PreLoop(), TGo4Analysis(), and UnLockAutoSave().

TFile* TGo4Analysis::fxAutoFile [private]
 

Optional file for autosave of the important objects.

Definition at line 786 of file TGo4AnalysisImp.h.

Referenced by AutoSave(), CloseAutoSaveFile(), LoadObjects(), and OpenAutoSaveFile().

TString TGo4Analysis::fxAutoFileName [private]
 

Name of the autosave file.

Definition at line 789 of file TGo4AnalysisImp.h.

Referenced by CloseAutoSaveFile(), LoadObjects(), OpenAutoSaveFile(), SetAutoSaveFile(), TGo4Analysis(), and UpdateStatus().

Bool_t TGo4Analysis::fbAutoSaveOverwrite [private]
 

True if autosave file is in overwrite mode.

Definition at line 792 of file TGo4AnalysisImp.h.

Referenced by AutoSave(), SetAutoSaveFile(), and UpdateStatus().

TString TGo4Analysis::fxConfigFilename [private]
 

name of configuration file used for this setup.

Definition at line 795 of file TGo4AnalysisImp.h.

Referenced by LoadStatus(), SaveStatus(), TGo4Analysis(), and UpdateStatus().

Bool_t TGo4Analysis::fbNewInputFile [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 799 of file TGo4AnalysisImp.h.

Referenced by IsNewInputFile(), and SetNewInputFile().

Bool_t TGo4Analysis::fbAutoSaveFileChange [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 803 of file TGo4AnalysisImp.h.

Referenced by IsAutoSaveFileChange(), and SetAutoSaveFileChange().

TGo4EventElement* TGo4Analysis::fxSampleEvent [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 807 of file TGo4AnalysisImp.h.

Referenced by CreateSingleEventTree(), and ~TGo4Analysis().

TGo4AnalysisObjectNames* TGo4Analysis::fxObjectNames [private]
 

Definition at line 811 of file TGo4AnalysisImp.h.

Referenced by GetNamesList(), UpdateNamesList(), and ~TGo4Analysis().

Bool_t TGo4Analysis::fbStopWatingFlag [private]
 

used for exit from WaitForStart() routine by interrupt.

Definition at line 814 of file TGo4AnalysisImp.h.

Referenced by StopWaiting(), and WaitForStart().


The documentation for this class was generated from the following files:
Generated on Tue Nov 8 10:56:26 2005 for Go4-v2.10-5 by doxygen1.2.15