GSI Object Oriented Online Offline (Go4) GO4-6.4.0
Loading...
Searching...
No Matches
TGo4Analysis Class Reference

The mother of all go4 analysis. More...

#include <TGo4AnalysisImp.h>

+ Inheritance diagram for TGo4Analysis:

Public Member Functions

virtual ~TGo4Analysis ()
 destructor
 
Bool_t AddAnalysisCondition (TGo4Condition *con, const char *subfolder=nullptr)
 Puts a new analysis condition object in corresponding list.
 
Bool_t AddAnalysisStep (TGo4AnalysisStep *next)
 Method for user analysis constructor to setup the list of analysis steps.
 
Bool_t AddCanvas (TCanvas *can, const char *subfolder=nullptr)
 Puts a new TCanvas in corresponding folder.
 
Bool_t AddDynamicEntry (TGo4DynamicEntry *entry)
 Set dynamic entry of name "name" to the values specified by external dynamic entry status "state".
 
Bool_t AddDynamicHistogram (const char *name, const char *histo, const char *hevx, const char *hmemx, const char *hevy=nullptr, const char *hmemy=nullptr, const char *hevz=nullptr, const char *hmemz=nullptr, const char *condition=nullptr, const char *cevx=nullptr, const char *cmemx=nullptr, const char *cevy=nullptr, const char *cmemy=nullptr)
 Add (create) new dynamic histogram entry which connects an existing histogram with existing condition and data.
 
Bool_t AddHistogram (TH1 *his, const char *subfolder=nullptr, Bool_t replace=kTRUE)
 Add external histogram to go4 histogram directory.
 
Bool_t AddObject (TNamed *anything, const char *subfolder=nullptr, Bool_t replace=kTRUE)
 Add any external object to the user object folder.
 
Bool_t AddParameter (TGo4Parameter *par, const char *subfolder=nullptr)
 Puts a new parameter object in corresponding folder.
 
Bool_t AddPicture (TGo4Picture *pic, const char *subfolder=nullptr)
 Puts a new picture object in corresponding folder.
 
Bool_t AddTree (TTree *tree, const char *subfolder=nullptr)
 Add reference to a tree in the go4 folder structure.
 
Bool_t AddTreeHistogram (const char *hisname, const char *treename, const char *varexp, const char *cutexp)
 Add Histogram into the dynamic list which is linked to a tree.
 
void AutoSave ()
 Perform autosave of all active stores, save existing calibration objects, write known objects into user file.
 
Bool_t ClearObjects (const char *name)
 Clear (reset) the specified objects.
 
virtual void CloseAnalysis ()
 Finish the analysis run and close all event sources/storages.
 
TGo4AnalysisObjectNamesCreateNamesList ()
 Creates a list of names (keys) of all objects in analysis directories.
 
TGo4ObjectStatusCreateObjectStatus (const char *name, const char *folder=nullptr)
 Find Object of name in the folder structure and create a complete status object of it.
 
TGo4AnalysisStatusCreateStatus ()
 Create a copy of the analysis internal state.
 
TGo4TreeStructureCreateTreeStructure (const char *treename)
 Create a tree structure for a certain tree by name.
 
TGo4AnalysisWebStatusCreateWebStatus ()
 Create a copy of the analysis internal state.
 
void 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.
 
Bool_t DeleteObjects (const char *name)
 Delete object of name, or all objects in folder name, respectively.
 
Long64_t ExecuteLine (const char *command, Int_t *errcode=nullptr)
 Process ROOT command line.
 
Long64_t ExecutePython (const char *script_name, Int_t *errcode=nullptr)
 Executes Python script in ROOT interpreter.
 
Long64_t ExecuteScript (const char *script_name)
 Executes ROOT script.
 
TGo4AnalysisClientGetAnalysisClient () const
 Returns pointer on analysis client.
 
TGo4ConditionGetAnalysisCondition (const char *name, const char *cond_cl=nullptr)
 Retrieves an analysis condition from list by name.
 
TGo4AnalysisStepGetAnalysisStep (const char *name)
 Access to certain analysis step by name.
 
TGo4AnalysisStepGetAnalysisStepNum (Int_t number)
 Access to certain analysis step by number.
 
TCanvas * GetCanvas (const char *name)
 Retrieves a TCanvas by name from the Canvases folder.
 
const char * GetDefaultTestFileName () const
 Returns default lmd test file name (in GO4SYS installation directory)
 
Int_t GetDynListInterval () const
 Returns current dynamic list interval.
 
TGo4EventElementGetEventStructure (const char *name) const
 Search reference to event structure in folder.
 
TH1 * GetHistogram (const char *name)
 Search histogram in histogram list (directory).
 
TGo4EventElementGetInputEvent (const char *stepname) const
 Returns the input event structure of analysis step.
 
TGo4EventElementGetInputEvent (Int_t stepindex) const
 Returns the input event structure of analysis step.
 
const char * GetInputFileName () const
 Returns current input file name.
 
const char * GetName () const override
 Return analysis name.
 
TNamed * GetObject (const char *name, const char *folder=nullptr)
 Searches for object by name in all directories.
 
TFolder * GetObjectFolder ()
 Access to top level go4 folder.
 
TGo4EventElementGetOutputEvent () const
 Returns the output event (detector) structure of analysis step.
 
TGo4EventElementGetOutputEvent (const char *stepname) const
 Returns the output event (detector) structure of analysis step.
 
TGo4EventElementGetOutputEvent (Int_t stepindex) const
 Returns the output event (detector) structure of analysis step.
 
TGo4ParameterGetParameter (const char *name, const char *parameter_class=nullptr)
 Retrieves a parameter object by name from the object folder.
 
TGo4PictureGetPicture (const char *name)
 Retrieves a picture object by name from the object folder.
 
TGo4AnalysisSnifferGetSniffer () const
 Returns pointer on current sniffer.
 
TTree * GetTree (const char *name)
 Search tree in tree folder.
 
virtual Bool_t InitEventClasses ()
 Initialization of the event class plugins which are delivered from the user defined event factory.
 
Bool_t IsAutoSaveFileChange () const
 True if autosave file is changed according to the current input file of lmd file list.
 
Bool_t IsAutoSaveFileName () const
 Return kTRUE, if autosave file name set.
 
Bool_t IsAutoSaveOn () const
 True if autosaving is enabled.
 
Int_t IsErrorStopEnabled () const
 True if current analysis step allows stop on error.
 
Bool_t IsInitDone () const
 True if the analysis steps are initialized.
 
Bool_t IsNewInputFile () const
 True if input filelist has changed to a new lmd file.
 
Bool_t IsObjMade () const
 Returns kTRUE if object in last Make... call was created, kFALSE when object was retrieved from autosavefile.
 
Bool_t IsRunning () const
 True if the analysis as controlled by slave process is running.
 
Bool_t IsSortedOrder () const
 Returns true if sub-folders will be created in sorted order.
 
Bool_t LoadObjects (const char *filename=nullptr)
 Load analysis objects from file.
 
Bool_t LoadStatus (const char *filename=nullptr)
 Load Analysis Status from file and set analysis to these settings.
 
Int_t LockAutoSave ()
 Lock the autosave mutex.
 
Int_t MainCycle ()
 The main analysis event cycle.
 
TGo4ShapedCondMakeBoxCond (const char *fullname, Double_t cx, Double_t cy, Double_t a1, Double_t a2, Double_t theta, const char *HistoName=nullptr)
 Create tilted rectangular box shaped polygon condition.
 
TGo4ShapedCondMakeCircleCond (const char *fullname, Int_t npoints, Double_t cx, Double_t cy, Double_t r, const char *HistoName=nullptr)
 Create circular shaped polygon condition.
 
TGo4ShapedCondMakeEllipseCond (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=nullptr)
 Create ellipse shaped polygon condition.
 
TGo4ShapedCondMakeFreeShapeCond (const char *fullname, Int_t npoints, Double_t(*points)[2], const char *HistoName=nullptr)
 Create free shaped (polygon) condition.
 
TGraph * MakeGraph (const char *fullname, const char *title, Int_t points=0, Double_t *xvalues=nullptr, Double_t *yvalues=nullptr)
 Create a TGraph with initial values as specified by points, xvalues and yvalues.
 
TGraph * MakeGraph (const char *fullname, const char *title, TF1 *function)
 Create a TGraph with values initialized by a function object TF1l.
 
TGo4ListCondMakeListCond (const char *fullname, const char *title, const char *HistoName=nullptr)
 Create "whitlelist" condition with separate values to tes against condition is true if any of the values matches.
 
TGo4ListCondMakeListCond (const char *fullname, const Int_t num, const Int_t *values, const char *HistoName=nullptr)
 Create "whitlelist" condition with separate values to test against condition is true if any of the values matches.
 
TGo4ListCondMakeListCond (const char *fullname, const Int_t start, const Int_t stop, const Int_t step=1, const char *HistoName=nullptr)
 Create "whitlelist" condition with separate values to test against condition is true if any of the values matches.
 
TGo4ParameterMakeParameter (const char *fullname, const char *classname, const char *cmd=nullptr)
 Create parameter of specified class,.
 
TGo4PolyCondMakePolyCond (const char *fullname, Int_t npoints, Double_t(*points)[2], const char *HistoName=nullptr, Bool_t shapedcond=kFALSE)
 Create polygon condition.
 
TGo4RollingGraphMakeRollingGraph (const char *fullname, const char *title, Int_t points=0, Int_t average=1)
 Create a go4 rolling graph (generic trending plot) with properties points and average.
 
TH1 * MakeTH1 (char type, const char *fullname, const char *title, Int_t nbinsx, Double_t xlow, Double_t xup, const char *xtitle=nullptr, const char *ytitle=nullptr)
 Create one dimensional histogram of specified type.
 
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=nullptr, const char *ytitle=nullptr, const char *ztitle=nullptr)
 Create two dimensional histogram of specified type.
 
TGo4WinCondMakeWinCond (const char *fullname, Double_t xmin, Double_t xmax, const char *HistoName=nullptr)
 Create 1D window condition.
 
TGo4WinCondMakeWinCond (const char *fullname, Double_t xmin, Double_t xmax, Double_t ymin, Double_t ymax, const char *HistoName=nullptr)
 Create 2D window condition.
 
void Message (Int_t prio, const char *text,...)
 Display a user message.
 
Bool_t NewStepProcessor (const char *name, TGo4EventProcessorParameter *par)
 Shuts down the old analysis step processor and creates a new one specified by parameter par.
 
Bool_t NewStepSource (const char *name, TGo4EventSourceParameter *par)
 Shuts down the old analysis step event source and creates a new one specified by parameter par.
 
Bool_t NewStepStore (const char *name, TGo4EventStoreParameter *par)
 Shuts down the old analysis step storage and creates a new one specified by parameter par.
 
TObject * NextMatchingObject (const char *expr=nullptr, const char *folder=nullptr, Bool_t reset=kFALSE)
 Delivers pointer to next object of the Go4 folder structure with a name matching the expression expr.
 
TGo4AnalysisObjectManagerObjectManager () const
 Returns pointer on analysis object manager.
 
Int_t PostLoop ()
 Method executed once after the main analysis event loop.
 
Int_t PreLoop ()
 Method executed once before the main analysis event loop.
 
void Print (Option_t *opt="") const override
 Printout the analysis (step-) setup.
 
void PrintConditions (const char *expression=nullptr)
 Print all condition counters to the terminal.
 
void PrintDynamicList ()
 Print entries of current dynamic list.
 
void PrintHistograms (const char *expression=nullptr)
 Printout of all histogram statistic counters on the terminal.
 
void PrintParameters (const char *expression=nullptr)
 Printout of all parameters on the terminal.
 
Int_t Process ()
 This method is meant to be called from a go4 cintserver macro in an explicit event loop.
 
void ProcessCrtlCSignal ()
 Method called from Ctrl-C handler.
 
void ProcessEvents ()
 Method should be called to process extra events in the analysis thread context.
 
Bool_t ProtectObjects (const char *name, const Option_t *flags)
 Change protection properties of object name as specified.
 
Bool_t RemoveAnalysisCondition (const char *name)
 Removes analysis condition from list by name.
 
Bool_t RemoveCanvas (const char *name)
 Removes TCanvas by name.
 
Bool_t RemoveDynamicEntry (const char *entryname, const char *listname=nullptr)
 Remove entry of that name from dynamic list of listname.
 
Bool_t RemoveHistogram (const char *name, Bool_t del=kTRUE)
 Removes histogram from histogram dir by name.
 
Bool_t RemoveObject (const char *name, Bool_t del=kTRUE)
 Removes object from user object folder by name.
 
Bool_t RemoveParameter (const char *name)
 Removes parameter by name.
 
Bool_t RemovePicture (const char *name)
 Removes picture by name.
 
Bool_t RemoveTree (TTree *tree, const char *stepname=nullptr)
 Remove reference to a tree in the go4 folder structure.
 
Bool_t ResetBackStores (Bool_t clearflag=kFALSE)
 Clear previous events of backstore tree.
 
Int_t 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.
 
Bool_t SaveStatus (const char *filename=nullptr)
 Save current analysis settings into file of given name.
 
void SendObjectToGUI (TObject *ob)
 User May send any named object via data channel to the gui.
 
void SetAdministratorPassword (const char *passwd)
 Specify password for administrator account.
 
Bool_t SetAnalysisCondition (const char *name, TGo4Condition *con, Bool_t counter=kTRUE)
 Set existing analysis condition of name to the values of external condition object con.
 
void SetAnalysisName (const char *name)
 Set analysis name.
 
void SetAutoSave (Bool_t on=kTRUE)
 Enable/disable functionality of AutoSave method.
 
void SetAutoSaveFile (const char *filename=nullptr, Bool_t overwrite=kFALSE, Int_t compression=5)
 Set file for autosave action.
 
void SetAutoSaveFileChange (Bool_t on=kTRUE)
 Set analysis in mode where autosave file switches for each new input file.
 
void SetAutoSaveInterval (Int_t interval=0)
 Set time interval (in s) for autosave action.
 
void SetBatchLoopCount (Int_t cnt=-1)
 Set number of event loop count, executed in batch mode.
 
void SetControllerPassword (const char *passwd)
 Specify password for controller account.
 
void SetDynListInterval (Int_t val)
 Set current dynamic list interval.
 
Bool_t SetFirstStep (const char *name)
 Sets analysis step name as first one to be processed in the chain of steps.
 
void SetInputFileName (const char *fname)
 Set current input file name.
 
Bool_t SetLastStep (const char *name)
 Sets analysis step name as last one to be processed in the chain of steps.
 
void SetMakeWithAutosave (Bool_t on=kTRUE)
 Set flag to use data from autosave file in Make... methods (default true)
 
void SetNewInputFile (Bool_t on=kTRUE)
 Set flag that input file has changed.
 
void SetObserverPassword (const char *passwd)
 Specify password for observer account.
 
Bool_t SetParameter (const char *name, TGo4Parameter *par)
 Set existing parameter of name to the values of external parameter object par.
 
Bool_t SetParameterStatus (const char *name, TGo4ParameterStatus *par)
 Set existing parameter of name to the values of external parameter status object.
 
Bool_t SetPicture (const char *name, TGo4Picture *pic)
 Set existing picture of name to the values of external picture object pic.
 
void SetRunning (Bool_t on=kTRUE)
 Switch slave process into running state.
 
void SetSniffer (TGo4AnalysisSniffer *sniff)
 Set pointer on sniffer object.
 
void SetSortedOrder (Bool_t on=kTRUE)
 Configure sorting order for newly created sub-folders.
 
void SetStatus (TGo4AnalysisStatus *state)
 Set all analysis parameters to that of given status object.
 
void SetStepChecking (Bool_t on=kTRUE)
 Enable or disable check of subsequent analysis step for io consistency.
 
Bool_t SetStepStorage (const char *name, Bool_t on)
 Enables analysis step of name to write its output event into its event store.
 
void ShowEvent (const char *stepname, Bool_t isoutput=kTRUE)
 Printout event content of single current event to analysis terminal (using ROOT TTree::Show method).
 
void StartAnalysis ()
 (Re)Start analysis event loop, works in both batch and gui-controlled mode
 
void StartObjectServer (const char *basename, const char *passwd)
 Start the object (histogram) server.
 
void StopAnalysis ()
 Stop analysis event loop, works in both batch and gui-controlled mode.
 
void StopObjectServer ()
 Stop the object (histogram) server.
 
Int_t StoreCondition (const char *name, TGo4Condition *con)
 Write condition con into eventstore of the step specified by name.
 
Int_t StoreFitter (const char *name, TGo4Fitter *fit)
 Write fitter fit into eventstore of the step specified by name.
 
Int_t StoreFolder (const char *stepname, const char *foldername)
 Write registered folder of foldername to the step store of stepname.
 
Int_t StoreFolder (const char *stepname, TFolder *folder)
 Write folder into eventstore of the step specified by name.
 
Int_t StoreParameter (const char *name, TGo4Parameter *par)
 Write object obj into eventstore of the step specified by name.
 
Int_t UnLockAutoSave ()
 UnLock the autosave mutex.
 
void UpdateStatus (TGo4AnalysisStatus *state)
 Create a copy of the analysis internal state.
 
virtual Int_t UserEventFunc ()
 User defined function which processes the actual analysis.
 
virtual Int_t UserPostLoop ()
 User defined function called once after processing the main event loop.
 
virtual Int_t UserPreLoop ()
 User defined function called once before processing the main event loop.
 
Int_t WaitForStart ()
 Poll on the IsRunning state with sleep delay, returns number of wait cycles.
 
- Public Member Functions inherited from TGo4CommandReceiver
 TGo4CommandReceiver ()
 
virtual ~TGo4CommandReceiver ()
 

Static Public Member Functions

static Bool_t Exists ()
 check if analysis instance exists
 
static TGo4AnalysisInstance ()
 return analysis instance
 
static Bool_t IsBatchMode ()
 is batch mode
 
static Bool_t IsClientMode ()
 is client mode
 
static Bool_t IsServerMode ()
 is server mode
 
static void SetRunningMode (int mode)
 Set analysis running mode.
 

Static Public Attributes

static const char * fgcDEFAULTFILENAME = "Go4AutoSave.root"
 standard file name
 
static const char * fgcDEFAULTFILESUF = ".root"
 filename suffix for object file
 
static const char * fgcDEFAULTSTATUSFILENAME = "Go4AnalysisPrefs.root"
 standard file name for analysis settings
 
static const char * fgcPYINIT = "python/go4init.py"
 default name of go4 python init script
 
static const char fgcPYPROMPT = '$'
 leading character indicating python script execution
 
static const Int_t fgiAUTOSAVECOUNTS = 500
 Definition of default autosave interval.
 
static const Int_t fgiDYNLISTINTERVAL = 1000
 This value is the number of events in between subsequent dynamic list processing.
 
static const Int_t fgiMACROSTARTPOLL = 1000
 Time in ms to sleep in the polling loop of the WaitForStart.
 

Protected Member Functions

 TGo4Analysis (const char *name=nullptr)
 Protected constructor for singleton instance.
 
 TGo4Analysis (int argc, char **argv)
 Another variant for analysis constructor.
 
void Constructor ()
 Method to create all necessary object in the real constructor.
 
Int_t ProcessAnalysisSteps ()
 Process steps.
 

Protected Attributes

Bool_t fbAutoSaveOn {kFALSE}
 True if Autosaving is enabled (default).
 
Bool_t fbInitIsDone {kFALSE}
 True if analysis framework has been initialized and the event classes are created.
 

Private Types

enum  {
  flagInit , flagRunning , flagPause , flagClosed ,
  flagStop
}
 Indicates analysis runstate. More...
 

Private Member Functions

Bool_t AddEventProcessor (TGo4EventProcessor *pro)
 Add reference to event processor object to Go4 Folder structure.
 
Bool_t AddEventSource (TGo4EventSource *source)
 Add reference to event source object to Go4 Folder structure.
 
Bool_t AddEventStore (TGo4EventStore *store)
 Add reference to event store object to Go4 Folder structure.
 
Bool_t AddEventStructure (TGo4EventElement *ev)
 Add reference to event structure object to Go4 Folder structure.
 
void CloseAutoSaveFile ()
 Close the autosave file if existing.
 
TTree * CreateSingleEventTree (const char *name, Bool_t isoutput=kTRUE)
 Create a tree that is filled with one single event sample.
 
TTree * CreateSingleEventTree (TGo4EventElement *event)
 Create a tree that is filled with one single event sample.
 
Bool_t EvaluateFolderpath (const char *fullname, TString &object, TString &folder)
 Helper function to figure out object name and folder path from full path.
 
TGo4AnalysisObjectNamesGetNamesList () const
 Returns the nameslist of the go4 object directory structure.
 
Bool_t IsStopWorking () const
 Returns true when event loop execution was stopped, only in batch mode.
 
void OpenAutoSaveFile (bool for_writing=false)
 Open the autosave file with the current settings.
 
Bool_t RemoveEventProcessor (TGo4EventProcessor *pro)
 Remove reference to event processor from go4 folder structure.
 
Bool_t RemoveEventSource (TGo4EventSource *source)
 Remove reference to event source from go4 folder structure.
 
Bool_t RemoveEventStore (TGo4EventStore *store)
 Remove reference to event store from go4 folder structure.
 
Bool_t RemoveEventStructure (TGo4EventElement *ev)
 Remove reference to event structure from go4 folder structure.
 
void SendMessageToGUI (Int_t level, Bool_t printout, const char *text)
 Send message string in a status object to the gui.
 
void SetAnalysisClient (TGo4AnalysisClient *cli)
 Register analysis client if running in gui mode.
 
void SetOutputEvent (TGo4EventElement *event)
 Sets the current output event (detector) structure.
 
void ShutdownServer ()
 for signal handler to shutdown analysis server, if existing
 
void StopWorking ()
 Called by interrupt routine for normal exit from program (in batch mode)
 
void UpdateNamesList ()
 Update the internal list of object names.
 

Private Attributes

TString fAnalysisName
 name of analysis object
 
Int_t fBatchLoopCount {0}
 exact number of loop counts in batch mode
 
Bool_t fbAutoSaveFileChange {kFALSE}
 True if autosave name shall be changed when input file of multiple file input has changed.
 
Bool_t fbAutoSaveOverwrite {kFALSE}
 True if autosave file is in overwrite mode.
 
Bool_t fbMakeWithAutosave {kFALSE}
 If false, do not use data from autosave file in Make... methods.
 
Bool_t fbNewInputFile {kFALSE}
 True if input file of multiple file input has changed.
 
Bool_t fbObjMade {kFALSE}
 indicate if object was created by last Make... operation
 
Bool_t fbPythonBound {kFALSE}
 If true, pyroot has already bound TGo4Analysis object.
 
Int_t fiAutoSaveCompression {0}
 compression level for autosave file
 
Int_t fiAutoSaveCount {0}
 Event counter for autosave mechanism.
 
Int_t fiAutoSaveInterval {0}
 Implicit Loop cycles in between two autosave actions.
 
Int_t fNumCtrlC {0}
 number Ctrl-C handler called
 
TString fServerAdminPass
 pre-configured password for administrator access
 
TString fServerCtrlPass
 pre-configured password for controller access
 
TString fServerObserverPass
 pre-configured password for observer access
 
TGo4AnalysisSnifferfSniffer {nullptr}
 Sniffer object.
 
TGo4AnalysisClientfxAnalysisSlave {nullptr}
 Optional backpointer to analysis client if running in gui mode.
 
TFile * fxAutoFile {nullptr}
 Optional file for autosave of the important objects.
 
TString fxAutoFileName
 Name of the autosave file.
 
TStopwatch * fxAutoSaveClock {nullptr}
 Clock for autosave by time mechanism.
 
TMutex * fxAutoSaveMutex {nullptr}
 Mutex protecting the autosave file access.
 
TString fxConfigFilename
 name of configuration file used for this setup
 
TString fxCurrentInputFileName
 Contains current input file name.
 
TString fxDefaultTestFileName
 default file name for distributed test lmd file
 
enum TGo4Analysis:: { ... }  fxDoWorkingFlag
 Indicates analysis runstate.
 
TGo4InterruptHandlerfxInterruptHandler {nullptr}
 use to treat Ctrl-C interrupts
 
TGo4AnalysisObjectManagerfxObjectManager {nullptr}
 aggregationByValue 1
 
TGo4AnalysisObjectNamesfxObjectNames {nullptr}
 aggregation 1
 
TGo4RatemeterfxRate {nullptr}
 optional ratemeter object
 
TGo4EventElementfxSampleEvent {nullptr}
 this holds event sample for the SingleEventTree.
 
TGo4AnalysisStepManagerfxStepManager {nullptr}
 aggregationByValue 1
 

Static Private Attributes

static Bool_t fbExists = kFALSE
 This is used to check from outside if an analysis is already there.
 
static Int_t fiRunningMode = 0
 This is used to identify running mode of analysis: 0 - batch, 1 - client, 2 - server.
 
static TGo4AnalysisfxInstance = nullptr
 Static Pointer to the analysis singleton instance.
 

Friends

class TGo4AnalysisClient
 
class TGo4AnalysisStep
 
class TGo4AnalysisWebStatus
 
class TGo4ComGetCurrentEvent
 
class TGo4ComGetEnvelope
 
class TGo4ComGetNamesList
 
class TGo4ComSetObject
 
class TGo4HisConnectorRunnable
 
class TGo4HistogramServer
 
class TGo4Sniffer
 

Detailed Description

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.

Author
J. Adamczewski
Since
19-jan-2001

Definition at line 79 of file TGo4AnalysisImp.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private

Indicates analysis runstate.

Enumerator
flagInit 
flagRunning 
flagPause 
flagClosed 
flagStop 

Definition at line 1169 of file TGo4AnalysisImp.h.

Constructor & Destructor Documentation

◆ ~TGo4Analysis()

◆ TGo4Analysis() [1/2]

◆ TGo4Analysis() [2/2]

Member Function Documentation

◆ AddAnalysisCondition()

Bool_t TGo4Analysis::AddAnalysisCondition ( TGo4Condition * con,
const char * subfolder = nullptr )

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

References fxObjectManager.

Referenced by TGo4EventProcessor::AddAnalysisCondition(), TGo4Sniffer::AddAnalysisObject(), MakeEllipseCond(), MakeListCond(), MakePolyCond(), MakeWinCond(), and MakeWinCond().

◆ AddAnalysisStep()

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

References fxStepManager, and TGo4AnalysisStep.

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

◆ AddCanvas()

Bool_t TGo4Analysis::AddCanvas ( TCanvas * can,
const char * subfolder = nullptr )

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

References fxObjectManager.

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

◆ AddDynamicEntry()

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

References fxObjectManager.

Referenced by TGo4Sniffer::AddAnalysisObject().

◆ AddDynamicHistogram()

Bool_t TGo4Analysis::AddDynamicHistogram ( const char * name,
const char * histo,
const char * hevx,
const char * hmemx,
const char * hevy = nullptr,
const char * hmemy = nullptr,
const char * hevz = nullptr,
const char * hmemz = nullptr,
const char * condition = nullptr,
const char * cevx = nullptr,
const char * cmemx = nullptr,
const char * cevy = nullptr,
const char * cmemy = nullptr )

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 == nullptr), 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 1315 of file TGo4AnalysisImp.cxx.

References fxObjectManager.

◆ AddEventProcessor()

Bool_t TGo4Analysis::AddEventProcessor ( TGo4EventProcessor * pro)
private

Add reference to event processor object to Go4 Folder structure.

Warning
To be used by framework only!

Definition at line 1336 of file TGo4AnalysisImp.cxx.

References fxObjectManager.

◆ AddEventSource()

Bool_t TGo4Analysis::AddEventSource ( TGo4EventSource * source)
private

Add reference to event source object to Go4 Folder structure.

Warning
To be used by framework only!

Definition at line 1341 of file TGo4AnalysisImp.cxx.

References fxObjectManager.

◆ AddEventStore()

Bool_t TGo4Analysis::AddEventStore ( TGo4EventStore * store)
private

Add reference to event store object to Go4 Folder structure.

Warning
To be used by framework only!

Definition at line 1346 of file TGo4AnalysisImp.cxx.

References fxObjectManager.

◆ AddEventStructure()

Bool_t TGo4Analysis::AddEventStructure ( TGo4EventElement * ev)
private

Add reference to event structure object to Go4 Folder structure.

Warning
To be used by framework only!

Definition at line 1351 of file TGo4AnalysisImp.cxx.

References fxObjectManager.

◆ AddHistogram()

Bool_t TGo4Analysis::AddHistogram ( TH1 * his,
const char * subfolder = nullptr,
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 1356 of file TGo4AnalysisImp.cxx.

References fxObjectManager.

Referenced by TGo4Sniffer::AddAnalysisObject(), TGo4EventProcessor::AddHistogram(), MakeTH1(), MakeTH2(), TGo4DynamicList::ProcessTEntry(), TMeshAnalysis::UserPreLoop(), and TYYYAnalysis::UserPreLoop().

◆ AddObject()

Bool_t TGo4Analysis::AddObject ( TNamed * anything,
const char * subfolder = nullptr,
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 1361 of file TGo4AnalysisImp.cxx.

References fxObjectManager.

Referenced by TGo4EventProcessor::AddObject(), MakeGraph(), MakeGraph(), and MakeRollingGraph().

◆ AddParameter()

Bool_t TGo4Analysis::AddParameter ( TGo4Parameter * par,
const char * subfolder = nullptr )

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

References fxObjectManager.

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

◆ AddPicture()

Bool_t TGo4Analysis::AddPicture ( TGo4Picture * pic,
const char * subfolder = nullptr )

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

References fxObjectManager.

Referenced by TGo4EventProcessor::AddPicture().

◆ AddTree()

Bool_t TGo4Analysis::AddTree ( TTree * tree,
const char * subfolder = nullptr )

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

References fxObjectManager, and TGo4Status::kGo4BackStoreReset.

◆ AddTreeHistogram()

Bool_t TGo4Analysis::AddTreeHistogram ( const char * hisname,
const char * treename,
const char * varexp,
const char * cutexp )

Add Histogram into the dynamic list which 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 1329 of file TGo4AnalysisImp.cxx.

References fxObjectManager, and UpdateNamesList().

Referenced by TGo4ComAddTreeHistogram::ExeCom(), and TGo4Sniffer::RemoteTreeDraw().

◆ AutoSave()

void TGo4Analysis::AutoSave ( )

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

Definition at line 1086 of file TGo4AnalysisImp.cxx.

References CloseAutoSaveFile(), fbAutoSaveOn, fxAutoFile, fxAutoSaveMutex, fxObjectManager, fxStepManager, GO4TRACE, Message(), OpenAutoSaveFile(), and TGo4LockGuard.

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

◆ ClearObjects()

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 name string. If no such folder exists, object of name is searched and cleared. Returns kFALSE in case of not found objects.

Definition at line 1527 of file TGo4AnalysisImp.cxx.

References fxObjectManager.

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

◆ CloseAnalysis()

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

References AutoSave(), fbInitIsDone, flagClosed, flagStop, fxAnalysisSlave, fxDoWorkingFlag, fxObjectManager, fxStepManager, and GO4TRACE.

Referenced by ~TGo4Analysis(), TGo4Sniffer::CmdClose(), TGo4Sniffer::CmdExit(), TGo4Sniffer::CmdRestart(), TGo4ComCloseAnalysis::ExeCom(), ProcessCrtlCSignal(), SetStatus(), and TGo4AnalysisWebStatus::UpdateFromUrl().

◆ CloseAutoSaveFile()

void TGo4Analysis::CloseAutoSaveFile ( )
private

Close the autosave file if existing.

Definition at line 1132 of file TGo4AnalysisImp.cxx.

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

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

◆ Constructor()

◆ CreateNamesList()

TGo4AnalysisObjectNames * TGo4Analysis::CreateNamesList ( )

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

Definition at line 1447 of file TGo4AnalysisImp.cxx.

References fxObjectManager.

Referenced by UpdateNamesList().

◆ CreateObjectStatus()

TGo4ObjectStatus * TGo4Analysis::CreateObjectStatus ( const char * name,
const char * folder = nullptr )

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

References fxObjectManager.

Referenced by TGo4ComGetObjectStatus::ExeCom().

◆ CreateSingleEventTree() [1/2]

TTree * TGo4Analysis::CreateSingleEventTree ( const char * 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 964 of file TGo4AnalysisImp.cxx.

References CreateSingleEventTree(), GetEventStructure(), GetInputEvent(), GetOutputEvent(), and GO4TRACE.

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

◆ CreateSingleEventTree() [2/2]

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

References fxSampleEvent, and GO4TRACE.

◆ CreateStatus()

TGo4AnalysisStatus * TGo4Analysis::CreateStatus ( )

Create a copy of the analysis internal state.

To be sent to the Display.

Definition at line 927 of file TGo4AnalysisImp.cxx.

References GetName(), GO4TRACE, and UpdateStatus().

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

◆ CreateTreeStructure()

TGo4TreeStructure * TGo4Analysis::CreateTreeStructure ( const char * treename)

Create a tree structure for a certain tree by name.

Definition at line 1462 of file TGo4AnalysisImp.cxx.

References fxObjectManager.

◆ CreateWebStatus()

TGo4AnalysisWebStatus * TGo4Analysis::CreateWebStatus ( )

Create a copy of the analysis internal state.

To be sent to the Web interface.

Definition at line 938 of file TGo4AnalysisImp.cxx.

References GetName(), GO4TRACE, TGo4AnalysisWebStatus, and UpdateStatus().

Referenced by TGo4Sniffer::TGo4Sniffer().

◆ DefineServerPasswords()

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

References fServerAdminPass, fServerCtrlPass, and fServerObserverPass.

◆ DeleteObjects()

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

References fxObjectManager.

Referenced by TGo4Sniffer::CmdDeleteObject(), and TGo4ComDeleteObject::ExeCom().

◆ EvaluateFolderpath()

Bool_t TGo4Analysis::EvaluateFolderpath ( const char * fullname,
TString & object,
TString & folder )
private

Helper function to figure out object name and folder path from full path.

Returns false if something is wrong with given fullname

Definition at line 1728 of file TGo4AnalysisImp.cxx.

Referenced by MakeEllipseCond(), MakeGraph(), MakeGraph(), MakeListCond(), MakePolyCond(), MakeRollingGraph(), MakeTH1(), MakeTH2(), MakeWinCond(), and MakeWinCond().

◆ ExecuteLine()

Long64_t TGo4Analysis::ExecuteLine ( const char * command,
Int_t * errcode = nullptr )

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

References TGo4Log::Debug(), fbPythonBound, fgcPYINIT, fgcPYPROMPT, and TGo4Log::GO4SYS().

Referenced by TGo4Sniffer::CmdExecute(), TGo4AnalysisWebStatus::ExecuteLine(), TGo4EventProcessor::ExecuteLine(), and ExecutePython().

◆ ExecutePython()

Long64_t TGo4Analysis::ExecutePython ( const char * script_name,
Int_t * errcode = nullptr )

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

References ExecuteLine(), and fgcPYPROMPT.

Referenced by TGo4EventProcessor::ExecutePython().

◆ ExecuteScript()

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

References TGo4Log::Error(), and TGo4Log::Info().

Referenced by TGo4EventProcessor::ExecuteScript(), and MakeParameter().

◆ Exists()

Bool_t TGo4Analysis::Exists ( )
static

check if analysis instance exists

Definition at line 122 of file TGo4AnalysisImp.cxx.

References fbExists.

Referenced by main(), and TGo4InterruptHandler::Notify().

◆ GetAnalysisClient()

TGo4AnalysisClient * TGo4Analysis::GetAnalysisClient ( ) const
inline

Returns pointer on analysis client.

Definition at line 976 of file TGo4AnalysisImp.h.

References fxAnalysisSlave, and TGo4AnalysisClient.

Referenced by TGo4AnalysisWebStatus::ApplyStatus(), TGo4Sniffer::CmdClose(), TGo4Sniffer::CmdExit(), and TGo4Sniffer::CmdRestart().

◆ GetAnalysisCondition()

TGo4Condition * TGo4Analysis::GetAnalysisCondition ( const char * name,
const char * cond_cl = nullptr )

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

References fxObjectManager.

Referenced by TGo4EventProcessor::GetAnalysisCondition(), MakeEllipseCond(), MakeListCond(), MakePolyCond(), MakeWinCond(), MakeWinCond(), and TGo4DynamicList::ProcessHEntry().

◆ GetAnalysisStep()

TGo4AnalysisStep * TGo4Analysis::GetAnalysisStep ( const char * name)

Access to certain analysis step by name.

If name == nullptr, this will return the first active step.

Definition at line 1397 of file TGo4AnalysisImp.cxx.

References fxStepManager, and TGo4AnalysisStep.

Referenced by main(), RunImplicitLoop(), and TMeshParameter::UpdateFrom().

◆ GetAnalysisStepNum()

TGo4AnalysisStep * TGo4Analysis::GetAnalysisStepNum ( Int_t number)

Access to certain analysis step by number.

Definition at line 1402 of file TGo4AnalysisImp.cxx.

References fxStepManager, and TGo4AnalysisStep.

Referenced by main().

◆ GetCanvas()

TCanvas * TGo4Analysis::GetCanvas ( const char * name)

Retrieves a TCanvas by name from the Canvases folder.

Returns nullptr if no such object.

Definition at line 1437 of file TGo4AnalysisImp.cxx.

References fxObjectManager.

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

◆ GetDefaultTestFileName()

const char * TGo4Analysis::GetDefaultTestFileName ( ) const
inline

Returns default lmd test file name (in GO4SYS installation directory)

Definition at line 580 of file TGo4AnalysisImp.h.

References fxDefaultTestFileName.

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

◆ GetDynListInterval()

Int_t TGo4Analysis::GetDynListInterval ( ) const

Returns current dynamic list interval.

Definition at line 1407 of file TGo4AnalysisImp.cxx.

References fxObjectManager.

◆ GetEventStructure()

TGo4EventElement * TGo4Analysis::GetEventStructure ( const char * name) const

◆ GetHistogram()

TH1 * TGo4Analysis::GetHistogram ( const char * name)

◆ GetInputEvent() [1/2]

TGo4EventElement * TGo4Analysis::GetInputEvent ( const char * stepname) const

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

References fxStepManager.

Referenced by CreateSingleEventTree(), TGo4ComGetCurrentEvent::ExeCom(), TGo4EventProcessor::GetInputEvent(), TMeshAnalysis::UserPreLoop(), TXXXAnalysis::UserPreLoop(), and TYYYAnalysis::UserPreLoop().

◆ GetInputEvent() [2/2]

TGo4EventElement * TGo4Analysis::GetInputEvent ( Int_t stepindex) const

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

References fxStepManager.

◆ GetInputFileName()

const char * TGo4Analysis::GetInputFileName ( ) const
inline

Returns current input file name.

Definition at line 577 of file TGo4AnalysisImp.h.

References fxCurrentInputFileName.

◆ GetName()

◆ GetNamesList()

TGo4AnalysisObjectNames * TGo4Analysis::GetNamesList ( ) const
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 1036 of file TGo4AnalysisImp.h.

References fxObjectNames.

Referenced by TGo4ComGetNamesList::ExeCom().

◆ GetObject()

TNamed * TGo4Analysis::GetObject ( const char * name,
const char * folder = nullptr )

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

References fxObjectManager.

Referenced by TGo4EventProcessor::GetObject(), MakeGraph(), MakeGraph(), MakeRollingGraph(), TGo4HisConnectorRunnable::Run(), and TXXXCalibPar::UpdateFrom().

◆ GetObjectFolder()

TFolder * TGo4Analysis::GetObjectFolder ( )

Access to top level go4 folder.

For histogram server.

Definition at line 1452 of file TGo4AnalysisImp.cxx.

References fxObjectManager.

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

◆ GetOutputEvent() [1/3]

TGo4EventElement * TGo4Analysis::GetOutputEvent ( ) const

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

References fxStepManager.

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

◆ GetOutputEvent() [2/3]

TGo4EventElement * TGo4Analysis::GetOutputEvent ( const char * stepname) const

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

References fxStepManager.

Referenced by TGo4ComGetCurrentEvent::ExeCom(), and TGo4EventProcessor::GetOutputEvent().

◆ GetOutputEvent() [3/3]

TGo4EventElement * TGo4Analysis::GetOutputEvent ( Int_t stepindex) const

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

References fxStepManager.

◆ GetParameter()

TGo4Parameter * TGo4Analysis::GetParameter ( const char * name,
const char * parameter_class = nullptr )

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

References fxObjectManager.

Referenced by TGo4EventProcessor::GetParameter(), and MakeParameter().

◆ GetPicture()

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

References fxObjectManager.

Referenced by TGo4EventProcessor::GetPicture().

◆ GetSniffer()

TGo4AnalysisSniffer * TGo4Analysis::GetSniffer ( ) const
inline

Returns pointer on current sniffer.

Definition at line 973 of file TGo4AnalysisImp.h.

References fSniffer.

◆ GetTree()

TTree * TGo4Analysis::GetTree ( const char * name)

Search tree in tree folder.

Definition at line 1442 of file TGo4AnalysisImp.cxx.

References fxObjectManager.

Referenced by TGo4DynamicList::ProcessTEntry().

◆ InitEventClasses()

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

References TGo4Log::Debug(), fbInitIsDone, flagClosed, flagInit, flagPause, fxAnalysisSlave, fxDoWorkingFlag, fxStepManager, TGo4EventSourceException::GetErrMess(), TGo4EventErrorException::GetPriority(), GO4TRACE, TGo4Log::Info(), LoadObjects(), Message(), and UpdateNamesList().

Referenced by TGo4AnalysisWebStatus::ApplyStatus(), TGo4Sniffer::CmdRestart(), TGo4ComInitAnalysis::ExeCom(), main(), and TGo4AnalysisWebStatus::UpdateFromUrl().

◆ Instance()

TGo4Analysis * TGo4Analysis::Instance ( )
static

return analysis instance

Definition at line 112 of file TGo4AnalysisImp.cxx.

References TGo4Analysis(), fbExists, fxInstance, and GO4TRACE.

Referenced by TGo4AnalysisClient::TGo4AnalysisClient(), TGo4AnalysisClient::TGo4AnalysisClient(), TGo4AnalysisStep::TGo4AnalysisStep(), TGo4HistogramServer::TGo4HistogramServer(), TGo4Sniffer::TGo4Sniffer(), TGo4Sniffer::~TGo4Sniffer(), 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(), TGo4ComAddTreeHistogram::ExeCom(), TGo4ComAutosave::ExeCom(), TGo4ComClearObject::ExeCom(), TGo4ComCloseAnalysis::ExeCom(), TGo4ComDeleteObject::ExeCom(), TGo4ComGetAnalysisStatus::ExeCom(), TGo4ComGetCurrentEvent::ExeCom(), TGo4ComGetEnvelope::ExeCom(), TGo4ComGetNamesList::ExeCom(), TGo4ComGetObjectStatus::ExeCom(), TGo4ComInitAnalysis::ExeCom(), TGo4ComLoadAnalysisStatus::ExeCom(), TGo4ComPrintConditions::ExeCom(), TGo4ComPrintDynList::ExeCom(), TGo4ComPrintHistograms::ExeCom(), TGo4ComSaveAnalysisStatus::ExeCom(), TGo4ComSetAnalysisStatus::ExeCom(), TGo4ComSetObject::ExeCom(), TGo4ComSetPrintEvent::ExeCom(), TGo4ComSetProtections::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(), HandleAnlysisEvents(), TGo4AnalysisStepManager::InitEventClasses(), TGo4EventProcessor::IsObjMade(), TGo4AnalysisObjectManager::LoadFolder(), TGo4AnalysisWebStatus::LoadStatus(), TGo4EventProcessor::MakeBoxCond(), TGo4EventProcessor::MakeCircleCond(), TGo4EventProcessor::MakeEllipseCond(), TGo4EventProcessor::MakeFreeShapeCond(), TGo4EventProcessor::MakeGraph(), TGo4EventProcessor::MakeGraph(), TGo4EventProcessor::MakeListCond(), TGo4EventProcessor::MakeListCond(), TGo4EventProcessor::MakeListCond(), TGo4EventProcessor::MakeParameter(), TGo4EventProcessor::MakePolyCond(), TGo4EventProcessor::MakeRollingGraph(), TGo4EventProcessor::MakeTH1(), TGo4EventProcessor::MakeTH2(), TGo4EventProcessor::MakeWinCond(), 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(), TMeshParameter::UpdateFrom(), TXXXCalibPar::UpdateFrom(), TGo4AnalysisWebStatus::UpdateFromUrl(), TGo4AnalysisClient::UpdateRate(), and TGo4AnalysisWebStatus::WriteAutoSave().

◆ IsAutoSaveFileChange()

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

References fbAutoSaveFileChange.

Referenced by TGo4MbsFile::NewFileAction().

◆ IsAutoSaveFileName()

Bool_t TGo4Analysis::IsAutoSaveFileName ( ) const

Return kTRUE, if autosave file name set.

Definition at line 1062 of file TGo4AnalysisImp.cxx.

References fxAutoFileName.

◆ IsAutoSaveOn()

Bool_t TGo4Analysis::IsAutoSaveOn ( ) const
inline

True if autosaving is enabled.

Definition at line 535 of file TGo4AnalysisImp.h.

References fbAutoSaveOn.

Referenced by TGo4ComAutosave::ExeCom().

◆ IsBatchMode()

Bool_t TGo4Analysis::IsBatchMode ( )
static

is batch mode

Return kTRUE if analysis will run in batch (without connection to GUI)

Definition at line 127 of file TGo4AnalysisImp.cxx.

References fiRunningMode.

◆ IsClientMode()

Bool_t TGo4Analysis::IsClientMode ( )
static

is client mode

Return kTRUE if analysis will run in gui mode, connected to gui as client

Definition at line 132 of file TGo4AnalysisImp.cxx.

References fiRunningMode.

◆ IsErrorStopEnabled()

Int_t TGo4Analysis::IsErrorStopEnabled ( ) const

True if current analysis step allows stop on error.

Definition at line 1660 of file TGo4AnalysisImp.cxx.

References fxStepManager.

Referenced by Process().

◆ IsInitDone()

Bool_t TGo4Analysis::IsInitDone ( ) const
inline

True if the analysis steps are initialized.

Definition at line 545 of file TGo4AnalysisImp.h.

References fbInitIsDone.

◆ IsNewInputFile()

Bool_t TGo4Analysis::IsNewInputFile ( ) const
inline

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

Definition at line 571 of file TGo4AnalysisImp.h.

References fbNewInputFile.

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

◆ IsObjMade()

Bool_t TGo4Analysis::IsObjMade ( ) const
inline

Returns kTRUE if object in last Make... call was created, kFALSE when object was retrieved from autosavefile.

Definition at line 746 of file TGo4AnalysisImp.h.

References fbObjMade.

Referenced by TGo4EventProcessor::IsObjMade().

◆ IsRunning()

Bool_t TGo4Analysis::IsRunning ( ) const

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

References fbExists, and fxAnalysisSlave.

Referenced by Process(), TGo4AnalysisClient::UpdateRate(), and WaitForStart().

◆ IsServerMode()

Bool_t TGo4Analysis::IsServerMode ( )
static

is server mode

Return kTRUE if analysis will run in server mode and gui can connect to the analysis

Definition at line 137 of file TGo4AnalysisImp.cxx.

References fiRunningMode.

◆ IsSortedOrder()

Bool_t TGo4Analysis::IsSortedOrder ( ) const

Returns true if sub-folders will be created in sorted order.

Definition at line 2302 of file TGo4AnalysisImp.cxx.

References fxObjectManager.

◆ IsStopWorking()

Bool_t TGo4Analysis::IsStopWorking ( ) const
inlineprivate

Returns true when event loop execution was stopped, only in batch mode.

Definition at line 1090 of file TGo4AnalysisImp.h.

References flagStop, and fxDoWorkingFlag.

Referenced by TGo4AnalysisWebStatus::ApplyStatus().

◆ LoadObjects()

Bool_t TGo4Analysis::LoadObjects ( const char * filename = nullptr)

Load analysis objects from file.

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

Definition at line 1153 of file TGo4AnalysisImp.cxx.

References CloseAutoSaveFile(), fbAutoSaveOn, fbAutoSaveOverwrite, fxAutoFile, fxAutoFileName, fxAutoSaveMutex, fxObjectManager, TGo4Log::Info(), OpenAutoSaveFile(), and TGo4LockGuard.

Referenced by InitEventClasses().

◆ LoadStatus()

Bool_t TGo4Analysis::LoadStatus ( const char * filename = nullptr)

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(), TGo4AnalysisWebStatus::LoadStatus(), and main().

◆ LockAutoSave()

Int_t TGo4Analysis::LockAutoSave ( )

Lock the autosave mutex.

For usage in analysis client

Definition at line 1067 of file TGo4AnalysisImp.cxx.

References fxAutoSaveMutex, and GO4TRACE.

◆ MainCycle()

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

References AutoSave(), fbAutoSaveOn, fbInitIsDone, fiAutoSaveCount, fiAutoSaveInterval, fxAnalysisSlave, fxAutoSaveClock, fxObjectManager, GO4TRACE, Message(), ProcessAnalysisSteps(), SetNewInputFile(), TGo4LockGuard, and UserEventFunc().

Referenced by Process(), and RunImplicitLoop().

◆ MakeBoxCond()

TGo4ShapedCond * TGo4Analysis::MakeBoxCond ( const char * fullname,
Double_t cx,
Double_t cy,
Double_t a1,
Double_t a2,
Double_t theta,
const char * HistoName = nullptr )

Create tilted rectangular box shaped polygon condition.

Parameters
fullnamespecifies name of condition (optionally with subfolder name)
cx- center X coordinates of box
cy- center Y coordinates of box
a1- width of box half axes
a2- height of box half axes
theta- tilt angle
HistoName- name of histogram, to which condition is assigned

Definition at line 2092 of file TGo4AnalysisImp.cxx.

References MakeEllipseCond(), and TGo4ShapedCond::SetBox().

Referenced by TGo4EventProcessor::MakeBoxCond().

◆ MakeCircleCond()

TGo4ShapedCond * TGo4Analysis::MakeCircleCond ( const char * fullname,
Int_t npoints,
Double_t cx,
Double_t cy,
Double_t r,
const char * HistoName = nullptr )

Create circular shaped polygon condition.

Parameters
fullnamespecifies name of condition (optionally with subfolder name)
npoints- number of points in shaped condition, 0 for default resolution
cx- circle center X coordinate
cy- circle center Y coordinate
r- circle radius
HistoName- name of histogram, to which condition is assigned

Definition at line 2083 of file TGo4AnalysisImp.cxx.

References MakeEllipseCond(), and TGo4ShapedCond::SetCircle().

Referenced by TGo4EventProcessor::MakeCircleCond().

◆ MakeEllipseCond()

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 = nullptr )

Create ellipse shaped polygon condition.

Parameters
fullnamespecifies name of condition (optionally with subfolder name)
npoints- number of points in ellipse condition, 0 for default resolution
cx- center X coordinate of ellipse
cy- center Y coordinate of ellipse
a1- width of ellipse X half axes
a2- width of ellipse Y half axes
theta- ellipse tilt angle
HistoName- name of histogram, to which condition is assigned

Definition at line 2046 of file TGo4AnalysisImp.cxx.

References AddAnalysisCondition(), TGo4Log::Error(), EvaluateFolderpath(), fbMakeWithAutosave, fbObjMade, GetAnalysisCondition(), RemoveAnalysisCondition(), and TGo4Condition::ResetCounts().

Referenced by MakeBoxCond(), MakeCircleCond(), and TGo4EventProcessor::MakeEllipseCond().

◆ MakeFreeShapeCond()

TGo4ShapedCond * TGo4Analysis::MakeFreeShapeCond ( const char * fullname,
Int_t npoints,
Double_t(*) points[2],
const char * HistoName = nullptr )

Create free shaped (polygon) condition.

In contrast to plain TGo4PolyCond, this one can be converted later to different dedicated shape types (ellipse, box, etc.) To use method, array should be declared as following:

Double_t points[4][2] = { {10, 0}, {10, 10}, {5, 15}, {5, 5} };
auto cond = MakePolyCond("Folder/CondName", 4, points);
TGo4PolyCond * MakePolyCond(const char *fullname, Int_t npoints, Double_t(*points)[2], const char *HistoName=nullptr, Bool_t shapedcond=kFALSE)
Create polygon condition.
Parameters
fullnamespecifies 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

Definition at line 2100 of file TGo4AnalysisImp.cxx.

References MakePolyCond(), and TGo4ShapedCond::SetFreeShape().

Referenced by TGo4EventProcessor::MakeFreeShapeCond().

◆ MakeGraph() [1/2]

TGraph * TGo4Analysis::MakeGraph ( const char * fullname,
const char * title,
Int_t points = 0,
Double_t * xvalues = nullptr,
Double_t * yvalues = nullptr )

Create a TGraph with initial values as specified by points, xvalues and yvalues.

If theses parameters are missing, an empty graph is created to be specified by the user. If a graph of this name already exists in the autosave file, it will be returned. With SetMakeWithAutosave(kFALSE) one can exclude data from autosave.

Definition at line 2160 of file TGo4AnalysisImp.cxx.

References AddObject(), TGo4Log::Error(), EvaluateFolderpath(), fbObjMade, and GetObject().

Referenced by TGo4EventProcessor::MakeGraph(), and TGo4EventProcessor::MakeGraph().

◆ MakeGraph() [2/2]

TGraph * TGo4Analysis::MakeGraph ( const char * fullname,
const char * title,
TF1 * function )

Create a TGraph with values initialized by a function object TF1l.

If a graph of this name already exists in the autosave file, it will be returned. With SetMakeWithAutosave(kFALSE) one can exclude data from autosave.

Definition at line 2188 of file TGo4AnalysisImp.cxx.

References AddObject(), TGo4Log::Error(), EvaluateFolderpath(), fbObjMade, and GetObject().

◆ MakeListCond() [1/3]

TGo4ListCond * TGo4Analysis::MakeListCond ( const char * fullname,
const char * title,
const char * HistoName = nullptr )

Create "whitlelist" condition with separate values to tes against condition is true if any of the values matches.

This method creates empty list condition of specified name and title to be set by the user, or already defined condition from previous autosave

Definition at line 2110 of file TGo4AnalysisImp.cxx.

References AddAnalysisCondition(), TGo4Log::Error(), EvaluateFolderpath(), fbMakeWithAutosave, fbObjMade, GetAnalysisCondition(), RemoveAnalysisCondition(), and TGo4Condition::ResetCounts().

◆ MakeListCond() [2/3]

TGo4ListCond * TGo4Analysis::MakeListCond ( const char * fullname,
const Int_t num,
const Int_t * values,
const char * HistoName = nullptr )

Create "whitlelist" condition with separate values to test against condition is true if any of the values matches.

Parameters
fullnamespecifies name of condition (optionally with subfolder name)
num- number of values in array
values- 1d array with values
HistoName- name of histogram, to which condition is assigned

Definition at line 2144 of file TGo4AnalysisImp.cxx.

References fbObjMade, MakeListCond(), and TGo4ListCond::SetValues().

Referenced by MakeListCond(), MakeListCond(), TGo4EventProcessor::MakeListCond(), TGo4EventProcessor::MakeListCond(), and TGo4EventProcessor::MakeListCond().

◆ MakeListCond() [3/3]

TGo4ListCond * TGo4Analysis::MakeListCond ( const char * fullname,
const Int_t start,
const Int_t stop,
const Int_t step = 1,
const char * HistoName = nullptr )

Create "whitlelist" condition with separate values to test against condition is true if any of the values matches.

Parameters
fullnamespecifies name of condition (optionally with subfolder name)
start- first value in list
stop- last value in list
step- distance between list entries
HistoName- name of histogram, to which condition is assigned

Definition at line 2152 of file TGo4AnalysisImp.cxx.

References fbObjMade, MakeListCond(), and TGo4ListCond::SetValues().

◆ MakeParameter()

TGo4Parameter * TGo4Analysis::MakeParameter ( const char * fullname,
const char * classname,
const char * cmd = nullptr )

Create parameter of specified class,.

Parameters
fullnamespecifies 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 2233 of file TGo4AnalysisImp.cxx.

References AddParameter(), TGo4Log::Error(), ExecuteScript(), fbObjMade, GetParameter(), TGo4Log::Info(), and RemoveParameter().

Referenced by TGo4EventProcessor::MakeParameter().

◆ MakePolyCond()

TGo4PolyCond * TGo4Analysis::MakePolyCond ( const char * fullname,
Int_t npoints,
Double_t(*) points[2],
const char * HistoName = nullptr,
Bool_t shapedcond = kFALSE )

Create polygon condition.

To use method, array should be declared as following:

Double_t points[4][2] = { {10, 0}, {10, 10}, {5, 15}, {5, 5} };
auto cond = MakePolyCond("Folder/CondName", 4, points);
Parameters
fullnamespecifies 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

Definition at line 1986 of file TGo4AnalysisImp.cxx.

References AddAnalysisCondition(), TGo4Condition::Enable(), TGo4Log::Error(), EvaluateFolderpath(), fbMakeWithAutosave, fbObjMade, GetAnalysisCondition(), RemoveAnalysisCondition(), TGo4Condition::ResetCounts(), TGo4Condition::SetHistogram(), and TGo4PolyCond::SetValues().

Referenced by MakeFreeShapeCond(), and TGo4EventProcessor::MakePolyCond().

◆ MakeRollingGraph()

TGo4RollingGraph * TGo4Analysis::MakeRollingGraph ( const char * fullname,
const char * title,
Int_t points = 0,
Int_t average = 1 )

Create a go4 rolling graph (generic trending plot) with properties points and average.

If theses parameters are missing, an empty graph is created to be specified by the user. If a rolling graph of this name already exists in the autosave file, it will be returned. With SetMakeWithAutosave(kFALSE) one can exclude data from autosave.

Definition at line 2211 of file TGo4AnalysisImp.cxx.

References AddObject(), TGo4Log::Error(), EvaluateFolderpath(), fbObjMade, and GetObject().

Referenced by TGo4EventProcessor::MakeRollingGraph().

◆ MakeTH1()

TH1 * TGo4Analysis::MakeTH1 ( char type,
const char * fullname,
const char * title,
Int_t nbinsx,
Double_t xlow,
Double_t xup,
const char * xtitle = nullptr,
const char * ytitle = nullptr )

Create one dimensional histogram of specified type.

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.

Parameters
typecan 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
  • 'L', 'l' for TH1L - Long64_t as bin content
fullnamespecifies name of histogram (optionally with subfolder name)
title- histogram title
nbinsx- number of bins for X axis
xlow- minium for X axis
xup- maximum for X axis
xtitle- title for X axis of histogram
ytitle- title for Y axis of histogram

Definition at line 1741 of file TGo4AnalysisImp.cxx.

References AddHistogram(), TGo4Log::Error(), EvaluateFolderpath(), fbMakeWithAutosave, fbObjMade, GetHistogram(), TGo4Log::Info(), and RemoveHistogram().

Referenced by TGo4EventProcessor::MakeTH1().

◆ MakeTH2()

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 = nullptr,
const char * ytitle = nullptr,
const char * ztitle = nullptr )

Create two dimensional histogram of specified type.

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.

Parameters
typecan 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
  • 'L', 'l' for TH2L - Long64_t as bin content
fullnamespecifies name of histogram (optionally with subfolder name)
title- histogram title
nbinsx- number of bins for X axis
xlow- minium for X axis
xup- maximum for X axis
nbinsy- number of bins for X axis
ylow- minium for X axis
yup- maximum for X axis
xtitle- title for X axis of histogram
ytitle- title for Y axis of histogram
ztitle- title for Z axis of histogram

Definition at line 1825 of file TGo4AnalysisImp.cxx.

References AddHistogram(), TGo4Log::Error(), EvaluateFolderpath(), fbMakeWithAutosave, fbObjMade, GetHistogram(), TGo4Log::Info(), and RemoveHistogram().

Referenced by TGo4EventProcessor::MakeTH2().

◆ MakeWinCond() [1/2]

TGo4WinCond * TGo4Analysis::MakeWinCond ( const char * fullname,
Double_t xmin,
Double_t xmax,
const char * HistoName = nullptr )

Create 1D window condition.

Parameters
fullnamespecifies name of condition (optionally with subfolder name)
xmin- X min condition range
xmax- X max condition range
HistoName- name of histogram, to which condition is assigned

Definition at line 1913 of file TGo4AnalysisImp.cxx.

References AddAnalysisCondition(), TGo4Log::Error(), EvaluateFolderpath(), fbMakeWithAutosave, fbObjMade, GetAnalysisCondition(), RemoveAnalysisCondition(), and TGo4Condition::ResetCounts().

Referenced by TGo4EventProcessor::MakeWinCond(), and TGo4EventProcessor::MakeWinCond().

◆ MakeWinCond() [2/2]

TGo4WinCond * TGo4Analysis::MakeWinCond ( const char * fullname,
Double_t xmin,
Double_t xmax,
Double_t ymin,
Double_t ymax,
const char * HistoName = nullptr )

Create 2D window condition.

Parameters
fullnamespecifies name of condition (optionally with subfolder name)
xmin- X min condition range
xmax- X max condition range
ymin- Y min condition range
ymax- Y max condition range
HistoName- name of histogram, to which condition is assigned

Definition at line 1949 of file TGo4AnalysisImp.cxx.

References AddAnalysisCondition(), TGo4Log::Error(), EvaluateFolderpath(), fbMakeWithAutosave, fbObjMade, GetAnalysisCondition(), RemoveAnalysisCondition(), and TGo4Condition::ResetCounts().

◆ Message()

void TGo4Analysis::Message ( Int_t prio,
const char * text,
... )

Display a user message.

Parameters
priodefines 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)
textis printed text with optional text formating arguments

Definition at line 1182 of file TGo4AnalysisImp.cxx.

References TGo4Log::fguMESLEN, and SendMessageToGUI().

Referenced by TGo4HistogramServer::TGo4HistogramServer(), TGo4AnalysisStepManager::AddAnalysisStep(), TGo4AnalysisObjectManager::AddTreeHistogram(), AutoSave(), TGo4AnalysisStepManager::AutoSave(), TGo4AnalysisObjectManager::CloseAnalysis(), CloseAutoSaveFile(), TGo4HistogramServer::ConnectObjectClient(), Constructor(), TGo4AnalysisObjectManager::CreateTreeStructure(), TGo4AnalysisObjectManager::GetAsTObject(), InitEventClasses(), TGo4AnalysisStepManager::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(), UpdateNamesList(), UserPostLoop(), and UserPreLoop().

◆ NewStepProcessor()

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

References fxStepManager.

◆ NewStepSource()

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

References fxStepManager.

◆ NewStepStore()

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

References fxStepManager.

◆ NextMatchingObject()

TObject * TGo4Analysis::NextMatchingObject ( const char * expr = nullptr,
const char * folder = nullptr,
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 1587 of file TGo4AnalysisImp.cxx.

References fxObjectManager.

◆ ObjectManager()

TGo4AnalysisObjectManager * TGo4Analysis::ObjectManager ( ) const
inline

Returns pointer on analysis object manager.

Definition at line 209 of file TGo4AnalysisImp.h.

References fxObjectManager.

Referenced by TGo4Sniffer::CmdCloseFiles(), TGo4Sniffer::CmdOpenFile(), TGo4ComGetEnvelope::ExeCom(), TGo4Sniffer::ScanRoot(), and SendObjectToGUI().

◆ OpenAutoSaveFile()

void TGo4Analysis::OpenAutoSaveFile ( bool for_writing = false)
private

Open the autosave file with the current settings.

Definition at line 1101 of file TGo4AnalysisImp.cxx.

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

Referenced by AutoSave(), and LoadObjects().

◆ PostLoop()

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

References fbInitIsDone, fxAutoSaveMutex, fxStepManager, TGo4AnalysisStep::GetEventProcessor(), GO4TRACE, TGo4AnalysisStep, TGo4LockGuard, UserPostLoop(), and TGo4EventProcessor::UserPostLoop().

Referenced by TGo4AnalysisWebStatus::ApplyStatus(), TGo4Sniffer::CmdClose(), TGo4Sniffer::CmdRestart(), TGo4ComCloseAnalysis::ExeCom(), TGo4ComSetAnalysisStatus::ExeCom(), RunImplicitLoop(), and StopAnalysis().

◆ PreLoop()

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

References fiAutoSaveCount, fxAutoSaveClock, fxAutoSaveMutex, fxStepManager, TGo4AnalysisStep::GetEventProcessor(), GO4TRACE, TGo4AnalysisStep, TGo4LockGuard, UserPreLoop(), and TGo4EventProcessor::UserPreLoop().

Referenced by TGo4AnalysisWebStatus::ApplyStatus(), TGo4Sniffer::CmdRestart(), TGo4ComInitAnalysis::ExeCom(), and StartAnalysis().

◆ Print()

void TGo4Analysis::Print ( Option_t * opt = "") const
override

Printout the analysis (step-) setup.

Definition at line 949 of file TGo4AnalysisImp.cxx.

References TGo4Analysis(), CreateStatus(), and TGo4AnalysisStatus::Print().

◆ PrintConditions()

void TGo4Analysis::PrintConditions ( const char * expression = nullptr)

Print all condition counters to the terminal.

Definition at line 1567 of file TGo4AnalysisImp.cxx.

References fxObjectManager.

Referenced by TGo4ComPrintConditions::ExeCom().

◆ PrintDynamicList()

void TGo4Analysis::PrintDynamicList ( )

Print entries of current dynamic list.

Definition at line 1582 of file TGo4AnalysisImp.cxx.

References fxObjectManager.

Referenced by TGo4ComPrintDynList::ExeCom().

◆ PrintHistograms()

void TGo4Analysis::PrintHistograms ( const char * expression = nullptr)

Printout of all histogram statistic counters on the terminal.

Definition at line 1572 of file TGo4AnalysisImp.cxx.

References fxObjectManager.

Referenced by TGo4ComPrintHistograms::ExeCom().

◆ PrintParameters()

void TGo4Analysis::PrintParameters ( const char * expression = nullptr)

Printout of all parameters on the terminal.

Definition at line 1577 of file TGo4AnalysisImp.cxx.

References fxObjectManager.

◆ Process()

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

References fxAnalysisSlave, TGo4EventSourceException::GetErrMess(), TGo4Log::GetIgnoreLevel(), GetName(), TGo4EventSourceException::GetSourceClass(), TGo4EventSourceException::GetSourceName(), GO4TRACE, TGo4EventSourceException::Handle(), IsErrorStopEnabled(), IsRunning(), MainCycle(), Message(), ProcessEvents(), and TGo4LockGuard.

◆ ProcessAnalysisSteps()

Int_t TGo4Analysis::ProcessAnalysisSteps ( )
protected

Process steps.

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

References fxStepManager.

Referenced by MainCycle().

◆ ProcessCrtlCSignal()

void TGo4Analysis::ProcessCrtlCSignal ( )

Method called from Ctrl-C handler.

Definition at line 305 of file TGo4AnalysisImp.cxx.

References CloseAnalysis(), CloseAutoSaveFile(), TGo4Log::CloseLogfile(), fNumCtrlC, ShutdownServer(), and StopWorking().

Referenced by TGo4InterruptHandler::Notify().

◆ ProcessEvents()

void TGo4Analysis::ProcessEvents ( )

Method should be called to process extra events in the analysis thread context.

Definition at line 410 of file TGo4AnalysisImp.cxx.

References fSniffer.

Referenced by HandleAnlysisEvents(), Process(), and RunImplicitLoop().

◆ ProtectObjects()

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

References fxObjectManager.

◆ RemoveAnalysisCondition()

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

References fxObjectManager.

Referenced by MakeEllipseCond(), MakeListCond(), MakePolyCond(), MakeWinCond(), MakeWinCond(), and TGo4EventProcessor::RemoveAnalysisCondition().

◆ RemoveCanvas()

Bool_t TGo4Analysis::RemoveCanvas ( const char * name)

Removes TCanvas by name.

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

Definition at line 1502 of file TGo4AnalysisImp.cxx.

References fxObjectManager.

Referenced by TGo4EventProcessor::RemoveCanvas().

◆ RemoveDynamicEntry()

Bool_t TGo4Analysis::RemoveDynamicEntry ( const char * entryname,
const char * listname = nullptr )

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

References fxObjectManager, GO4TRACE, and UpdateNamesList().

◆ RemoveEventProcessor()

Bool_t TGo4Analysis::RemoveEventProcessor ( TGo4EventProcessor * pro)
private

Remove reference to event processor from go4 folder structure.

Definition at line 1517 of file TGo4AnalysisImp.cxx.

References fxObjectManager.

◆ RemoveEventSource()

Bool_t TGo4Analysis::RemoveEventSource ( TGo4EventSource * source)
private

Remove reference to event source from go4 folder structure.

Definition at line 1467 of file TGo4AnalysisImp.cxx.

References fxObjectManager.

◆ RemoveEventStore()

Bool_t TGo4Analysis::RemoveEventStore ( TGo4EventStore * store)
private

Remove reference to event store from go4 folder structure.

Definition at line 1472 of file TGo4AnalysisImp.cxx.

References fxObjectManager.

◆ RemoveEventStructure()

Bool_t TGo4Analysis::RemoveEventStructure ( TGo4EventElement * ev)
private

Remove reference to event structure from go4 folder structure.

Definition at line 1477 of file TGo4AnalysisImp.cxx.

References fxObjectManager.

◆ RemoveHistogram()

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

References fxObjectManager.

Referenced by MakeTH1(), MakeTH2(), and TGo4EventProcessor::RemoveHistogram().

◆ RemoveObject()

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

References fxObjectManager.

◆ RemoveParameter()

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

References fxObjectManager.

Referenced by MakeParameter(), and TGo4EventProcessor::RemoveParameter().

◆ RemovePicture()

Bool_t TGo4Analysis::RemovePicture ( const char * name)

Removes picture by name.

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

Definition at line 1497 of file TGo4AnalysisImp.cxx.

References fxObjectManager.

Referenced by TGo4EventProcessor::RemovePicture().

◆ RemoveTree()

Bool_t TGo4Analysis::RemoveTree ( TTree * tree,
const char * stepname = nullptr )

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

References fxObjectManager.

◆ ResetBackStores()

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

References fxObjectManager.

◆ RunImplicitLoop()

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.

Parameters
timesspecified how many events should be processed, 0 - all
showrateidentifies if ratemeter should be shown
process_event_intervalallows regularly process ROOT system events
iswebserverspecifies if loop shall be suspended at end of event source, or returns from batch

Definition at line 582 of file TGo4AnalysisImp.cxx.

References fBatchLoopCount, flagClosed, flagPause, flagRunning, flagStop, fSniffer, fxDoWorkingFlag, fxRate, GetAnalysisStep(), TGo4AnalysisStep::GetEventSourceName(), TGo4UserException::GetPriority(), GO4TRACE, TGo4Exception::Handle(), TGo4UserException::Handle(), MainCycle(), Message(), PostLoop(), TGo4Log::PrintRate(), ProcessEvents(), TGo4AnalysisStep, and TGo4Exception::What().

Referenced by main().

◆ SaveStatus()

Bool_t TGo4Analysis::SaveStatus ( const char * filename = nullptr)

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().

◆ SendMessageToGUI()

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

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

Referenced by TGo4Sniffer::CmdClear(), and Message().

◆ SendObjectToGUI()

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

References fxAnalysisSlave, Message(), and ObjectManager().

Referenced by TGo4EventProcessor::SendObjectToGUI().

◆ SetAdministratorPassword()

void TGo4Analysis::SetAdministratorPassword ( const char * passwd)

Specify password for administrator account.

For login from remote gui into analysis server

Definition at line 1723 of file TGo4AnalysisImp.cxx.

References fServerAdminPass.

◆ SetAnalysisClient()

void TGo4Analysis::SetAnalysisClient ( TGo4AnalysisClient * cli)
inlineprivate

Register analysis client if running in gui mode.

Definition at line 1072 of file TGo4AnalysisImp.h.

References fxAnalysisSlave, and TGo4AnalysisClient.

◆ SetAnalysisCondition()

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

References fxObjectManager.

◆ SetAnalysisName()

void TGo4Analysis::SetAnalysisName ( const char * name)
inline

Set analysis name.

Definition at line 150 of file TGo4AnalysisImp.h.

References fAnalysisName.

Referenced by TGo4Analysis(), TGo4Analysis(), and CreateDefaultAnalysis().

◆ SetAutoSave()

void TGo4Analysis::SetAutoSave ( Bool_t on = kTRUE)
inline

Enable/disable functionality of AutoSave method.

Definition at line 532 of file TGo4AnalysisImp.h.

References fbAutoSaveOn.

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

◆ SetAutoSaveFile()

void TGo4Analysis::SetAutoSaveFile ( const char * filename = nullptr,
Bool_t overwrite = kFALSE,
Int_t compression = 5 )

◆ SetAutoSaveFileChange()

void TGo4Analysis::SetAutoSaveFileChange ( Bool_t on = kTRUE)
inline

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

Definition at line 538 of file TGo4AnalysisImp.h.

References fbAutoSaveFileChange.

◆ SetAutoSaveInterval()

void TGo4Analysis::SetAutoSaveInterval ( Int_t interval = 0)
inline

Set time interval (in s) for autosave action.

Definition at line 515 of file TGo4AnalysisImp.h.

References fiAutoSaveInterval.

Referenced by main(), and SetStatus().

◆ SetBatchLoopCount()

void TGo4Analysis::SetBatchLoopCount ( Int_t cnt = -1)
inline

Set number of event loop count, executed in batch mode.

Definition at line 739 of file TGo4AnalysisImp.h.

References fBatchLoopCount.

◆ SetControllerPassword()

void TGo4Analysis::SetControllerPassword ( const char * passwd)

Specify password for controller account.

For login from remote gui into analysis server

Definition at line 1718 of file TGo4AnalysisImp.cxx.

References fServerCtrlPass.

◆ SetDynListInterval()

void TGo4Analysis::SetDynListInterval ( Int_t val)

Set current dynamic list interval.

Definition at line 1562 of file TGo4AnalysisImp.cxx.

References fxObjectManager.

Referenced by Constructor().

◆ SetFirstStep()

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 nullptr, takes first step in steplist.

Definition at line 1645 of file TGo4AnalysisImp.cxx.

References fxStepManager.

◆ SetInputFileName()

void TGo4Analysis::SetInputFileName ( const char * fname)
inline

Set current input file name.

Definition at line 574 of file TGo4AnalysisImp.h.

References fxCurrentInputFileName.

Referenced by TGo4MbsFile::NewFileAction().

◆ SetLastStep()

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 nullptr, takes last step in steplist.

Definition at line 1650 of file TGo4AnalysisImp.cxx.

References fxStepManager.

◆ SetMakeWithAutosave()

void TGo4Analysis::SetMakeWithAutosave ( Bool_t on = kTRUE)
inline

Set flag to use data from autosave file in Make... methods (default true)

Definition at line 742 of file TGo4AnalysisImp.h.

References fbMakeWithAutosave.

Referenced by TGo4EventProcessor::SetMakeWithAutosave().

◆ SetNewInputFile()

void TGo4Analysis::SetNewInputFile ( Bool_t on = kTRUE)
inline

Set flag that input file has changed.

Definition at line 568 of file TGo4AnalysisImp.h.

References fbNewInputFile.

Referenced by MainCycle(), and TGo4MbsFile::NewFileAction().

◆ SetObserverPassword()

void TGo4Analysis::SetObserverPassword ( const char * passwd)

Specify password for observer account.

For login from remote gui into analysis server

Definition at line 1713 of file TGo4AnalysisImp.cxx.

References fServerObserverPass.

◆ SetOutputEvent()

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

References fxStepManager.

◆ SetParameter()

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

References fxObjectManager.

◆ SetParameterStatus()

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

References fxObjectManager.

◆ SetPicture()

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

References fxObjectManager.

◆ SetRunning()

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

References fxAnalysisSlave.

◆ SetRunningMode()

void TGo4Analysis::SetRunningMode ( int mode)
static

Set analysis running mode.

Parameters
modedefines running mode
  • 0 - batch mode
  • 1 - client mode
  • 2 - server mode

Definition at line 142 of file TGo4AnalysisImp.cxx.

References fiRunningMode.

Referenced by main().

◆ SetSniffer()

void TGo4Analysis::SetSniffer ( TGo4AnalysisSniffer * sniff)
inline

Set pointer on sniffer object.

Definition at line 970 of file TGo4AnalysisImp.h.

References fSniffer.

Referenced by TGo4Sniffer::TGo4Sniffer(), and TGo4Sniffer::~TGo4Sniffer().

◆ SetSortedOrder()

void TGo4Analysis::SetSortedOrder ( Bool_t on = kTRUE)

Configure sorting order for newly created sub-folders.

Definition at line 2297 of file TGo4AnalysisImp.cxx.

References fxObjectManager.

◆ SetStatus()

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(), and SetAutoSaveInterval().

Referenced by TGo4AnalysisWebStatus::ApplyStatus(), TGo4ComSetAnalysisStatus::ExeCom(), LoadStatus(), and TGo4AnalysisWebStatus::UpdateFromUrl().

◆ SetStepChecking()

void TGo4Analysis::SetStepChecking ( Bool_t on = kTRUE)

Enable or disable check of subsequent analysis step for io consistency.

Default is on, disable for none-serial type analyses.

Definition at line 1640 of file TGo4AnalysisImp.cxx.

References fxStepManager.

Referenced by TMeshAnalysis::TMeshAnalysis().

◆ SetStepStorage()

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

References fxStepManager.

◆ ShowEvent()

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

References CreateSingleEventTree(), and Message().

Referenced by TGo4ComGetCurrentEvent::ExeCom().

◆ ShutdownServer()

void TGo4Analysis::ShutdownServer ( )
private

for signal handler to shutdown analysis server, if existing

Definition at line 1285 of file TGo4AnalysisImp.cxx.

References fxAnalysisSlave, and TGo4Log::Message().

Referenced by ProcessCrtlCSignal().

◆ StartAnalysis()

void TGo4Analysis::StartAnalysis ( )

(Re)Start analysis event loop, works in both batch and gui-controlled mode

Definition at line 2499 of file TGo4AnalysisImp.cxx.

References fbInitIsDone, flagRunning, fxAnalysisSlave, fxDoWorkingFlag, fxRate, GetName(), Message(), and PreLoop().

Referenced by TGo4Sniffer::CmdRestart(), TGo4Sniffer::CmdStart(), main(), and TGo4AnalysisWebStatus::UpdateFromUrl().

◆ StartObjectServer()

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

References fxAnalysisSlave, and Message().

◆ StopAnalysis()

void TGo4Analysis::StopAnalysis ( )

Stop analysis event loop, works in both batch and gui-controlled mode.

Definition at line 2488 of file TGo4AnalysisImp.cxx.

References fbInitIsDone, flagPause, fxAnalysisSlave, fxDoWorkingFlag, and PostLoop().

Referenced by TGo4Sniffer::CmdClose(), TGo4Sniffer::CmdRestart(), TGo4Sniffer::CmdStop(), and TGo4AnalysisWebStatus::UpdateFromUrl().

◆ StopObjectServer()

void TGo4Analysis::StopObjectServer ( )

Stop the object (histogram) server.

Definition at line 1275 of file TGo4AnalysisImp.cxx.

References fxAnalysisSlave, and Message().

◆ StopWorking()

void TGo4Analysis::StopWorking ( )
inlineprivate

Called by interrupt routine for normal exit from program (in batch mode)

Definition at line 1087 of file TGo4AnalysisImp.h.

References flagStop, and fxDoWorkingFlag.

Referenced by TGo4Sniffer::CmdExit(), and ProcessCrtlCSignal().

◆ StoreCondition()

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

References fxStepManager.

◆ StoreFitter()

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

References fxStepManager.

◆ StoreFolder() [1/2]

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

References fxObjectManager, fxStepManager, and GetObjectFolder().

◆ StoreFolder() [2/2]

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

References fxStepManager.

◆ StoreParameter()

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

References fxStepManager.

◆ UnLockAutoSave()

Int_t TGo4Analysis::UnLockAutoSave ( )

UnLock the autosave mutex.

For usage in analysis client

Definition at line 1076 of file TGo4AnalysisImp.cxx.

References fxAutoSaveMutex, and GO4TRACE.

◆ UpdateNamesList()

void TGo4Analysis::UpdateNamesList ( )
private

Update the internal list of object names.

To be used internally and by analysis client.

Definition at line 1143 of file TGo4AnalysisImp.cxx.

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

Referenced by AddTreeHistogram(), TGo4ComGetNamesList::ExeCom(), InitEventClasses(), and RemoveDynamicEntry().

◆ UpdateStatus()

◆ UserEventFunc()

Int_t TGo4Analysis::UserEventFunc ( )
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 TMeshAnalysis, TXXXAnalysis, TXXXAnalysis, TXXXAnalysis, TXXXAnalysis, and TYYYAnalysis.

Definition at line 404 of file TGo4AnalysisImp.cxx.

References GO4TRACE.

Referenced by MainCycle().

◆ UserPostLoop()

Int_t TGo4Analysis::UserPostLoop ( )
virtual

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

Optionally.

Reimplemented in TMeshAnalysis, TXXXAnalysis, TXXXAnalysis, TXXXAnalysis, TXXXAnalysis, and TYYYAnalysis.

Definition at line 1039 of file TGo4AnalysisImp.cxx.

References GO4TRACE, and Message().

Referenced by PostLoop().

◆ UserPreLoop()

Int_t TGo4Analysis::UserPreLoop ( )
virtual

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

Optionally.

Reimplemented in TMeshAnalysis, TXXXAnalysis, TXXXAnalysis, TXXXAnalysis, TXXXAnalysis, and TYYYAnalysis.

Definition at line 1031 of file TGo4AnalysisImp.cxx.

References GO4TRACE, and Message().

Referenced by PreLoop().

◆ WaitForStart()

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

References fgiMACROSTARTPOLL, flagStop, fxDoWorkingFlag, and IsRunning().

Friends And Related Symbol Documentation

◆ TGo4AnalysisClient

friend class TGo4AnalysisClient
friend

Definition at line 82 of file TGo4AnalysisImp.h.

References TGo4AnalysisClient.

Referenced by GetAnalysisClient(), SetAnalysisClient(), and TGo4AnalysisClient.

◆ TGo4AnalysisStep

◆ TGo4AnalysisWebStatus

friend class TGo4AnalysisWebStatus
friend

Definition at line 89 of file TGo4AnalysisImp.h.

References TGo4AnalysisWebStatus.

Referenced by CreateWebStatus(), and TGo4AnalysisWebStatus.

◆ TGo4ComGetCurrentEvent

friend class TGo4ComGetCurrentEvent
friend

Definition at line 83 of file TGo4AnalysisImp.h.

References TGo4ComGetCurrentEvent.

Referenced by TGo4ComGetCurrentEvent.

◆ TGo4ComGetEnvelope

friend class TGo4ComGetEnvelope
friend

Definition at line 85 of file TGo4AnalysisImp.h.

References TGo4ComGetEnvelope.

Referenced by TGo4ComGetEnvelope.

◆ TGo4ComGetNamesList

friend class TGo4ComGetNamesList
friend

Definition at line 84 of file TGo4AnalysisImp.h.

References TGo4ComGetNamesList.

Referenced by TGo4ComGetNamesList.

◆ TGo4ComSetObject

friend class TGo4ComSetObject
friend

Definition at line 86 of file TGo4AnalysisImp.h.

References TGo4ComSetObject.

Referenced by TGo4ComSetObject.

◆ TGo4HisConnectorRunnable

friend class TGo4HisConnectorRunnable
friend

Definition at line 87 of file TGo4AnalysisImp.h.

References TGo4HisConnectorRunnable.

Referenced by TGo4HisConnectorRunnable.

◆ TGo4HistogramServer

friend class TGo4HistogramServer
friend

Definition at line 88 of file TGo4AnalysisImp.h.

References TGo4HistogramServer.

Referenced by TGo4HistogramServer.

◆ TGo4Sniffer

friend class TGo4Sniffer
friend

Definition at line 90 of file TGo4AnalysisImp.h.

References TGo4Sniffer.

Referenced by TGo4Sniffer.

Field Documentation

◆ fAnalysisName

TString TGo4Analysis::fAnalysisName
private

name of analysis object

Definition at line 1175 of file TGo4AnalysisImp.h.

Referenced by TGo4Analysis(), TGo4Analysis(), Constructor(), GetName(), and SetAnalysisName().

◆ fBatchLoopCount

Int_t TGo4Analysis::fBatchLoopCount {0}
private

exact number of loop counts in batch mode

Definition at line 1178 of file TGo4AnalysisImp.h.

Referenced by TGo4Analysis(), TGo4Analysis(), RunImplicitLoop(), and SetBatchLoopCount().

◆ fbAutoSaveFileChange

Bool_t TGo4Analysis::fbAutoSaveFileChange {kFALSE}
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 1158 of file TGo4AnalysisImp.h.

Referenced by TGo4Analysis(), TGo4Analysis(), IsAutoSaveFileChange(), and SetAutoSaveFileChange().

◆ fbAutoSaveOn

Bool_t TGo4Analysis::fbAutoSaveOn {kFALSE}
protected

True if Autosaving is enabled (default).

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

Definition at line 995 of file TGo4AnalysisImp.h.

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

◆ fbAutoSaveOverwrite

Bool_t TGo4Analysis::fbAutoSaveOverwrite {kFALSE}
private

True if autosave file is in overwrite mode.

Definition at line 1144 of file TGo4AnalysisImp.h.

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

◆ fbExists

Bool_t TGo4Analysis::fbExists = kFALSE
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 1101 of file TGo4AnalysisImp.h.

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

◆ fbInitIsDone

Bool_t TGo4Analysis::fbInitIsDone {kFALSE}
protected

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

Definition at line 991 of file TGo4AnalysisImp.h.

Referenced by TGo4Analysis(), TGo4Analysis(), CloseAnalysis(), InitEventClasses(), IsInitDone(), MainCycle(), PostLoop(), StartAnalysis(), and StopAnalysis().

◆ fbMakeWithAutosave

Bool_t TGo4Analysis::fbMakeWithAutosave {kFALSE}
private

If false, do not use data from autosave file in Make... methods.

Definition at line 1190 of file TGo4AnalysisImp.h.

Referenced by TGo4Analysis(), TGo4Analysis(), MakeEllipseCond(), MakeListCond(), MakePolyCond(), MakeTH1(), MakeTH2(), MakeWinCond(), MakeWinCond(), and SetMakeWithAutosave().

◆ fbNewInputFile

Bool_t TGo4Analysis::fbNewInputFile {kFALSE}
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 1151 of file TGo4AnalysisImp.h.

Referenced by TGo4Analysis(), TGo4Analysis(), IsNewInputFile(), and SetNewInputFile().

◆ fbObjMade

Bool_t TGo4Analysis::fbObjMade {kFALSE}
private

◆ fbPythonBound

Bool_t TGo4Analysis::fbPythonBound {kFALSE}
private

If true, pyroot has already bound TGo4Analysis object.

For lazy initialization at first call of .py macro

Definition at line 1196 of file TGo4AnalysisImp.h.

Referenced by TGo4Analysis(), TGo4Analysis(), and ExecuteLine().

◆ fgcDEFAULTFILENAME

const char * TGo4Analysis::fgcDEFAULTFILENAME = "Go4AutoSave.root"
static

standard file name

Definition at line 104 of file TGo4AnalysisImp.h.

Referenced by Constructor(), and SetAutoSaveFile().

◆ fgcDEFAULTFILESUF

const char * TGo4Analysis::fgcDEFAULTFILESUF = ".root"
static

filename suffix for object file

Definition at line 110 of file TGo4AnalysisImp.h.

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

◆ fgcDEFAULTSTATUSFILENAME

const char * TGo4Analysis::fgcDEFAULTSTATUSFILENAME = "Go4AnalysisPrefs.root"
static

◆ fgcPYINIT

const char * TGo4Analysis::fgcPYINIT = "python/go4init.py"
static

default name of go4 python init script

Definition at line 116 of file TGo4AnalysisImp.h.

Referenced by ExecuteLine().

◆ fgcPYPROMPT

const char TGo4Analysis::fgcPYPROMPT = '$'
static

leading character indicating python script execution

Definition at line 113 of file TGo4AnalysisImp.h.

Referenced by ExecuteLine(), and ExecutePython().

◆ fgiAUTOSAVECOUNTS

const Int_t TGo4Analysis::fgiAUTOSAVECOUNTS = 500
static

Definition of default autosave interval.

Definition at line 95 of file TGo4AnalysisImp.h.

Referenced by TGo4Analysis(), and TGo4Analysis().

◆ fgiDYNLISTINTERVAL

const Int_t TGo4Analysis::fgiDYNLISTINTERVAL = 1000
static

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

Definition at line 98 of file TGo4AnalysisImp.h.

Referenced by Constructor().

◆ fgiMACROSTARTPOLL

const Int_t TGo4Analysis::fgiMACROSTARTPOLL = 1000
static

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

Definition at line 101 of file TGo4AnalysisImp.h.

Referenced by WaitForStart().

◆ fiAutoSaveCompression

Int_t TGo4Analysis::fiAutoSaveCompression {0}
private

compression level for autosave file

Definition at line 1130 of file TGo4AnalysisImp.h.

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

◆ fiAutoSaveCount

Int_t TGo4Analysis::fiAutoSaveCount {0}
private

Event counter for autosave mechanism.

Definition at line 1119 of file TGo4AnalysisImp.h.

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

◆ fiAutoSaveInterval

Int_t TGo4Analysis::fiAutoSaveInterval {0}
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 1127 of file TGo4AnalysisImp.h.

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

◆ fiRunningMode

Int_t TGo4Analysis::fiRunningMode = 0
staticprivate

This is used to identify running mode of analysis: 0 - batch, 1 - client, 2 - server.

Definition at line 1105 of file TGo4AnalysisImp.h.

Referenced by IsBatchMode(), IsClientMode(), IsServerMode(), and SetRunningMode().

◆ fNumCtrlC

Int_t TGo4Analysis::fNumCtrlC {0}
private

number Ctrl-C handler called

Definition at line 1199 of file TGo4AnalysisImp.h.

Referenced by TGo4Analysis(), TGo4Analysis(), and ProcessCrtlCSignal().

◆ fServerAdminPass

TString TGo4Analysis::fServerAdminPass
private

pre-configured password for administrator access

Definition at line 1181 of file TGo4AnalysisImp.h.

Referenced by TGo4Analysis(), TGo4Analysis(), DefineServerPasswords(), and SetAdministratorPassword().

◆ fServerCtrlPass

TString TGo4Analysis::fServerCtrlPass
private

pre-configured password for controller access

Definition at line 1184 of file TGo4AnalysisImp.h.

Referenced by TGo4Analysis(), TGo4Analysis(), DefineServerPasswords(), and SetControllerPassword().

◆ fServerObserverPass

TString TGo4Analysis::fServerObserverPass
private

pre-configured password for observer access

Definition at line 1187 of file TGo4AnalysisImp.h.

Referenced by TGo4Analysis(), TGo4Analysis(), DefineServerPasswords(), and SetObserverPassword().

◆ fSniffer

TGo4AnalysisSniffer* TGo4Analysis::fSniffer {nullptr}
private

◆ fxAnalysisSlave

◆ fxAutoFile

TFile* TGo4Analysis::fxAutoFile {nullptr}
private

Optional file for autosave of the important objects.

Definition at line 1138 of file TGo4AnalysisImp.h.

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

◆ fxAutoFileName

TString TGo4Analysis::fxAutoFileName
private

Name of the autosave file.

Definition at line 1141 of file TGo4AnalysisImp.h.

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

◆ fxAutoSaveClock

TStopwatch* TGo4Analysis::fxAutoSaveClock {nullptr}
private

Clock for autosave by time mechanism.

Definition at line 1122 of file TGo4AnalysisImp.h.

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

◆ fxAutoSaveMutex

TMutex* TGo4Analysis::fxAutoSaveMutex {nullptr}
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 1135 of file TGo4AnalysisImp.h.

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

◆ fxConfigFilename

TString TGo4Analysis::fxConfigFilename
private

name of configuration file used for this setup

Definition at line 1147 of file TGo4AnalysisImp.h.

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

◆ fxCurrentInputFileName

TString TGo4Analysis::fxCurrentInputFileName
private

Contains current input file name.

Definition at line 1154 of file TGo4AnalysisImp.h.

Referenced by TGo4Analysis(), TGo4Analysis(), GetInputFileName(), and SetInputFileName().

◆ fxDefaultTestFileName

TString TGo4Analysis::fxDefaultTestFileName
private

default file name for distributed test lmd file

Definition at line 1208 of file TGo4AnalysisImp.h.

Referenced by Constructor(), and GetDefaultTestFileName().

◆ []

enum { ... } TGo4Analysis::fxDoWorkingFlag

◆ fxInstance

TGo4Analysis * TGo4Analysis::fxInstance = nullptr
staticprivate

Static Pointer to the analysis singleton instance.

Definition at line 1096 of file TGo4AnalysisImp.h.

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

◆ fxInterruptHandler

TGo4InterruptHandler* TGo4Analysis::fxInterruptHandler {nullptr}
private

use to treat Ctrl-C interrupts

Definition at line 1172 of file TGo4AnalysisImp.h.

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

◆ fxObjectManager

◆ fxObjectNames

TGo4AnalysisObjectNames* TGo4Analysis::fxObjectNames {nullptr}
private

aggregation 1

Definition at line 1166 of file TGo4AnalysisImp.h.

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

◆ fxRate

TGo4Ratemeter* TGo4Analysis::fxRate {nullptr}
private

optional ratemeter object

Definition at line 1205 of file TGo4AnalysisImp.h.

Referenced by TGo4Analysis(), TGo4Analysis(), RunImplicitLoop(), and StartAnalysis().

◆ fxSampleEvent

TGo4EventElement* TGo4Analysis::fxSampleEvent {nullptr}
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 1162 of file TGo4AnalysisImp.h.

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

◆ fxStepManager


The documentation for this class was generated from the following files: