GSI Object Oriented Online Offline (Go4)  GO4-6.1.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
TGo4AnalysisObjectManager Class Reference

#include <TGo4AnalysisObjectManager.h>

+ Inheritance diagram for TGo4AnalysisObjectManager:

Public Member Functions

 TGo4AnalysisObjectManager ()
 
 TGo4AnalysisObjectManager (const char *name)
 
 ~TGo4AnalysisObjectManager ()
 
Bool_t AddObject (TNamed *anything, const char *subfolder=0, Bool_t replace=kTRUE)
 
TNamed * GetObject (const char *name, const char *folder=0)
 
TObject * GetAsTObject (const char *name, const char *folder=0)
 
Bool_t RemoveObject (const char *name, Bool_t del=kTRUE)
 
Bool_t DeleteObjects (const char *name)
 
TObject * NextMatchingObject (const char *expr, const char *folder, Bool_t reset)
 
TFolder * CreateBranchFolder (TObjArray *branchlist, const char *name, const char *title, Bool_t istopbranch=kFALSE)
 
TFolder * CreateCompositeBranchFolder (TObjArray *branchlist, TGo4CompositeEvent *compevent, Int_t startindex, Int_t *skip, const char *name, const char *title)
 
TGo4TreeStructureCreateTreeStructure (TTree *thetree)
 
TGo4TreeStructureCreateTreeStructure (const char *treename)
 
TFolder * CreateMembersFolder (TObject *obj, const char *membrfoldername, TClass *cl)
 
Bool_t AddHistogram (TH1 *his, const char *subfolder=0, Bool_t replace=kTRUE)
 
TH1 * GetHistogram (const char *name)
 
Bool_t RemoveHistogram (const char *name, Bool_t del=kTRUE)
 
TH1 * MakeTH1 (const char *histotype, const char *foldername, const char *histoname, Int_t nbinsx, Axis_t xlow, Axis_t xup, const char *title=0, const char *xtitle=0, const char *ytitle=0)
 
TH2 * MakeTH2 (const char *histotype, const char *foldername, const char *histoname, Int_t nbinsx, Axis_t xlow, Axis_t xup, Int_t nbinsy, Axis_t ylow, Axis_t yup, const char *title=0, const char *xtitle=0, const char *ytitle=0)
 
Bool_t AddTree (TTree *tree, const char *subfolder=0)
 
TTree * GetTree (const char *name)
 
Bool_t RemoveTree (TTree *tree, const char *stepname=0)
 
Bool_t AddAnalysisCondition (TGo4Condition *con, const char *subfolder=0)
 
Bool_t SetAnalysisCondition (const char *name, TGo4Condition *con, Bool_t counter=kTRUE, TFolder *parent=0)
 
TGo4ConditionGetAnalysisCondition (const char *name, const char *cond_cl=0)
 
Bool_t RemoveAnalysisCondition (const char *name)
 
TGo4WinCondMakeWindowCond (const char *foldername, const char *conditionname, Double_t xlow, Double_t xup, const char *bindhistogram=0, Bool_t invert=kFALSE)
 
TGo4WinCondMakeWindowCond (const char *foldername, const char *conditionname, Double_t xlow, Double_t xup, Double_t ylow, Double_t yup, const char *bindhistogram=0, Bool_t invert=kFALSE)
 
TGo4PolyCondMakePolyCond (const char *foldername, const char *conditionname, Int_t size, Float_t(*points)[2], const char *bindhistogram=0, Bool_t invert=kFALSE)
 
Bool_t AddParameter (TGo4Parameter *par, const char *subfolder=0)
 
Bool_t SetParameter (const char *name, TGo4Parameter *par, TFolder *parent=0)
 
Bool_t SetParameterStatus (const char *name, TGo4ParameterStatus *par, TFolder *parent=0)
 
TGo4ParameterGetParameter (const char *name, const char *parameter_class=0)
 
Bool_t RemoveParameter (const char *name)
 
Bool_t AddPicture (TGo4Picture *pic, const char *subfolder=0)
 
Bool_t SetPicture (const char *name, TGo4Picture *pic, TFolder *parent=0)
 
TGo4PictureGetPicture (const char *name)
 
Bool_t RemovePicture (const char *name)
 
Bool_t AddCanvas (TCanvas *can, const char *subfolder=0)
 
TCanvas * GetCanvas (const char *name)
 
Bool_t RemoveCanvas (const char *name)
 
TGo4ObjectStatusCreateObjectStatus (const char *name, const char *folder=0)
 
TGo4ObjectStatusCreateObjectStatus (TObject *ob, Bool_t fullinfo=kTRUE)
 
TGo4AnalysisObjectNamesCreateNamesList ()
 
TFolder * CreateNamesFolder (TFolder *objectfolder)
 
TFolder * GetObjectFolder ()
 
Bool_t AddEventStore (TGo4EventStore *store)
 
Bool_t RemoveEventStore (TGo4EventStore *store)
 
Bool_t AddEventSource (TGo4EventSource *source)
 
Bool_t RemoveEventSource (TGo4EventSource *source)
 
Bool_t AddEventProcessor (TGo4EventProcessor *pro)
 
Bool_t RemoveEventProcessor (TGo4EventProcessor *pro)
 
Bool_t AddEventStructure (TGo4EventElement *ev)
 
Bool_t RemoveEventStructure (TGo4EventElement *ev)
 
TGo4EventElementGetEventStructure (const char *name)
 
Bool_t ResetBackStores (Bool_t clearflag=kFALSE)
 
void CloseAnalysis ()
 
void SaveObjects (TFile *file)
 
Bool_t LoadObjects (TFile *statusfile)
 
Bool_t AddDynamicEntry (TGo4DynamicEntry *entry)
 
void ResetCurrentDynList ()
 
void ProcessDynamicList ()
 
void SetDynListInterval (Int_t val)
 
Int_t GetDynListInterval () const
 
Bool_t AddDynamicHistogram (const char *name, const char *histo, const char *hevx, const char *hmemx, const char *hevy=0, const char *hmemy=0, const char *hevz=0, const char *hmemz=0, const char *condition=0, const char *cevx=0, const char *cmemx=0, const char *cevy=0, const char *cmemy=0)
 
Bool_t AddTreeHistogram (const char *hisname, const char *treename, const char *varexp, const char *cutexp)
 
void PrintHistograms (const char *expression=0)
 
void PrintConditions (const char *expression=0)
 
void PrintParameters (const char *expression=0)
 
void PrintDynamicList ()
 
Bool_t ClearObjects (const char *name)
 
Bool_t ProtectObjects (const char *name, const Option_t *flags)
 
Bool_t RemoveDynamicEntry (const char *entryname)
 
TFolder * FindSubFolder (TFolder *parent, const char *subfolder, Bool_t create=kTRUE)
 
Bool_t FindObjectPathName (TObject *obj, TString &pathname, TFolder *fold=0)
 
Bool_t CreatedInMake () const
 
void SetSortedOrder (Bool_t on=kTRUE)
 
Bool_t IsSortedOrder () const
 
virtual void RecursiveRemove (TObject *obj)
 

Static Public Member Functions

static const char * GetTOPDYNAMICLIST ()
 
static const char * GetTOPFOLDER ()
 
static const char * GetHISTFOLDER ()
 
static const char * GetDYNFOLDER ()
 
static const char * GetCONDFOLDER ()
 
static const char * GetPARAFOLDER ()
 
static const char * GetTREEFOLDER ()
 
static const char * GetPICTFOLDER ()
 
static const char * GetCANVFOLDER ()
 
static const char * GetANALYSISFOLDER ()
 
static const char * GetEVENTFOLDER ()
 
static const char * GetSRCFOLDER ()
 
static const char * GetSTOREFOLDER ()
 
static const char * GetPROCFOLDER ()
 
static const char * GetUSRFOLDER ()
 
static const char * GetTMPFOLDER ()
 

Static Public Attributes

static const char * fgcTOPDYNAMICLIST = "Go4DynamicList"
 
static const char * fgcTOPFOLDER = "Go4"
 
static const char * fgcHISTFOLDER = "Histograms"
 
static const char * fgcDYNFOLDER = "DynamicLists"
 
static const char * fgcCONDFOLDER = "Conditions"
 
static const char * fgcPARAFOLDER = "Parameters"
 
static const char * fgcTREEFOLDER = "Trees"
 
static const char * fgcPICTFOLDER = "Pictures"
 
static const char * fgcCANVFOLDER = "Canvases"
 
static const char * fgcANALYSISFOLDER = "EventObjects"
 
static const char * fgcEVENTFOLDER = "Events"
 
static const char * fgcSRCFOLDER = "EventSources"
 
static const char * fgcSTOREFOLDER = "EventStores"
 
static const char * fgcPROCFOLDER = "EventProcessors"
 
static const char * fgcUSRFOLDER = "UserObjects"
 
static const char * fgcTMPFOLDER = "Go4-tmp"
 

Private Member Functions

Bool_t AddObjectToFolder (TObject *ob, TFolder *fold, const char *subfolder=0, Bool_t replace=kTRUE, Bool_t uniquename=kFALSE, Bool_t resetbits=kTRUE)
 
Bool_t RemoveObjectFromFolder (const char *fullname, TFolder *fold, Bool_t isDel)
 
Bool_t LoadFolder (TFolder *source, TFolder *destination, Bool_t replace=kFALSE)
 
Bool_t LoadFolder (TDirectory *source, TFolder *destination, Bool_t replace=kFALSE)
 
Bool_t PutToFolder (TObject *ob, TFolder *destination, Bool_t replace=kFALSE)
 
Bool_t SaveFolder (TFolder *source)
 
void RemoveFromDir (TFolder *fold, TDirectory *dir)
 
void AppendToDir (TObject *ob, TDirectory *dir)
 
Int_t PrintFolder (TFolder *fold, Option_t *opt, const char *expression=0)
 
Bool_t ClearFolder (TFolder *fold)
 
Bool_t ClearObject (TObject *ob)
 
Bool_t DeleteFolder (TFolder *fold)
 
Bool_t DeleteObject (TObject *ob)
 
Bool_t ProtectFolder (TFolder *fold, const Option_t *flags)
 
Bool_t ProtectObject (TObject *ob, const Option_t *flags)
 
void CleanupDynamicLists (TObject *oldobject)
 
TList * CreateObjectList (const char *expr, const char *folder=0)
 
TList * CreateObjectList (const char *expr, TFolder *fold)
 
Bool_t IsMatching (const char *string, const char *expression)
 
TObject * FindObjectInFolder (TFolder *folder, const char *fullname)
 
TObject * TestObject (TFolder *folder, const char *&pathname, const char *objectname, const TClass *cl)
 

Private Attributes

TFolder * fxGo4Dir
 
TFolder * fxHistogramDir
 
TFolder * fxConditionDir
 
TFolder * fxParameterDir
 
TFolder * fxDynListDir
 
TFolder * fxUserDir
 
TFolder * fxTreeDir
 
TFolder * fxPictureDir
 
TFolder * fxCanvasDir
 
TFolder * fxStoreDir
 
TFolder * fxSourceDir
 
TFolder * fxProcessorDir
 
TFolder * fxEventDir
 
TFolder * fxAnalysisDir
 
TFolder * fxTempFolder
 
TMutex * fxDirMutex
 
TList * fxMatchList
 
TIterator * fxMatchIterator
 
Int_t fiDynListCount
 
Int_t fiDynListInterval
 
Bool_t fbCreatedinMake
 
Bool_t fbSuppressLoadHistograms
 
Bool_t fbSortedOrder
 

Detailed Description

This object is responsible for the organization of analysis objects. Keeps Folder structures and lists. Aggregate of TGo4Analysis.

Author
J. Adamczewski
Since
07-May-2002

Definition at line 54 of file TGo4AnalysisObjectManager.h.

Constructor & Destructor Documentation

TGo4AnalysisObjectManager::TGo4AnalysisObjectManager ( )

Definition at line 148 of file TGo4AnalysisObjectManager.cxx.

TGo4AnalysisObjectManager::TGo4AnalysisObjectManager ( const char *  name)
TGo4AnalysisObjectManager::~TGo4AnalysisObjectManager ( )

Member Function Documentation

Bool_t TGo4AnalysisObjectManager::AddAnalysisCondition ( TGo4Condition con,
const char *  subfolder = 0 
)

Puts a new analysis condition object in corresponding list. Object is owned by list afterwards. Returns false if object of that name already exists in list.

Definition at line 772 of file TGo4AnalysisObjectManager.cxx.

References AddObjectToFolder(), fxConditionDir, and GO4TRACE.

Referenced by TGo4Analysis::AddAnalysisCondition(), MakePolyCond(), and MakeWindowCond().

Bool_t TGo4AnalysisObjectManager::AddCanvas ( TCanvas *  can,
const char *  subfolder = 0 
)

Puts a new TCanvas in corresponding folder. Object is owned by folder afterwards. Returns false if object of that name already exists in list.

Definition at line 1318 of file TGo4AnalysisObjectManager.cxx.

References AddObjectToFolder(), fxCanvasDir, and GO4TRACE.

Referenced by TGo4Analysis::AddCanvas().

Bool_t TGo4AnalysisObjectManager::AddDynamicEntry ( TGo4DynamicEntry entry)
Bool_t TGo4AnalysisObjectManager::AddDynamicHistogram ( const char *  name,
const char *  histo,
const char *  hevx,
const char *  hmemx,
const char *  hevy = 0,
const char *  hmemy = 0,
const char *  hevz = 0,
const char *  hmemz = 0,
const char *  condition = 0,
const char *  cevx = 0,
const char *  cmemx = 0,
const char *  cevy = 0,
const char *  cmemy = 0 
)

Add (create) new dynamic histogram entry which connects an existing histogram with existing condition and data. Dynamic entry is specified by name. Histogram histo will be searched in registered histograms folder, condition in conditions folder. If condition is true or not existing (condition=0), histogram will be filled from the values that are found in registered eventstructure classes of names hevx, hevy, hevz at the data members of names hmemx, hmemy, hmemz, for the three coordinate axes, respectively. Histogram dimension is checked against given values. Condition is tested regarding the events cevx, cevy with members cmemx, cmemy

Definition at line 1394 of file TGo4AnalysisObjectManager.cxx.

References AddDynamicEntry(), TGo4HistogramEntry::SetConditionName(), TGo4HistogramEntry::SetConEventName(), TGo4HistogramEntry::SetConVarName(), TGo4HistogramEntry::SetHisEventName(), TGo4HistogramEntry::SetHistogramName(), and TGo4HistogramEntry::SetHisVarName().

Referenced by TGo4Analysis::AddDynamicHistogram().

Bool_t TGo4AnalysisObjectManager::AddEventProcessor ( TGo4EventProcessor pro)

Add reference to event processor object to Go4 Folder structure. To be used by framework only!

Definition at line 1056 of file TGo4AnalysisObjectManager.cxx.

References AddObjectToFolder(), fxProcessorDir, and GO4TRACE.

Referenced by TGo4Analysis::AddEventProcessor().

Bool_t TGo4AnalysisObjectManager::AddEventSource ( TGo4EventSource source)

Add reference to event source object to Go4 Folder structure. To be used by framework only!

Definition at line 1034 of file TGo4AnalysisObjectManager.cxx.

References AddObjectToFolder(), fxSourceDir, and GO4TRACE.

Referenced by TGo4Analysis::AddEventSource().

Bool_t TGo4AnalysisObjectManager::AddEventStore ( TGo4EventStore store)

Add reference to event store object to Go4 Folder structure. To be used by framework only!

Definition at line 1011 of file TGo4AnalysisObjectManager.cxx.

References AddObjectToFolder(), fxStoreDir, and GO4TRACE.

Referenced by TGo4Analysis::AddEventStore().

Bool_t TGo4AnalysisObjectManager::AddEventStructure ( TGo4EventElement ev)

Add reference to event structure object to Go4 Folder structure. To be used by framework only!

Definition at line 1078 of file TGo4AnalysisObjectManager.cxx.

References AddObjectToFolder(), fxEventDir, and GO4TRACE.

Referenced by TGo4Analysis::AddEventStructure().

Bool_t TGo4AnalysisObjectManager::AddHistogram ( TH1 *  his,
const char *  subfolder = 0,
Bool_t  replace = kTRUE 
)

Add external histogram to go4 histogram directory. Histogram will be owned and streamed by go4 histogram list afterwards.

Definition at line 547 of file TGo4AnalysisObjectManager.cxx.

References AddObjectToFolder(), fxHistogramDir, and GO4TRACE.

Referenced by TGo4Analysis::AddHistogram(), MakeTH1(), and MakeTH2().

Bool_t TGo4AnalysisObjectManager::AddObject ( TNamed *  anything,
const char *  subfolder = 0,
Bool_t  replace = kTRUE 
)

Add any external object to the user object folder. Object is owned by go4 afterwards and will be saved automatically. Object is accessible by name from the go4 display and from the analysis itself. Subfolder of UserObjects may be specified. If replace is true, old object of same name will be deleted and replaced by the added one.

Definition at line 211 of file TGo4AnalysisObjectManager.cxx.

References AddObjectToFolder(), fxUserDir, and GO4TRACE.

Referenced by TGo4Analysis::AddObject().

Bool_t TGo4AnalysisObjectManager::AddObjectToFolder ( TObject *  ob,
TFolder *  fold,
const char *  subfolder = 0,
Bool_t  replace = kTRUE,
Bool_t  uniquename = kFALSE,
Bool_t  resetbits = kTRUE 
)
private

Add any named object to a folder. Used by AddHistogram, AddParameter etc. methods. If replace is true, old object of same name will be removed first. If uniquename is true, there are no two objects of same name allowed even in different subfolders (important for histograms registered to gROOT). if resetbits is true, go4 deletion and reset protection bits are set to defaults. Otherwise, object bits of ob are not touched.

Definition at line 1509 of file TGo4AnalysisObjectManager.cxx.

References CleanupDynamicLists(), FindSubFolder(), fxDirMutex, GO4TRACE, TGo4Status::kGo4CanDelete, and TGo4Status::kGo4NoReset.

Referenced by AddAnalysisCondition(), AddCanvas(), AddDynamicEntry(), AddEventProcessor(), AddEventSource(), AddEventStore(), AddEventStructure(), AddHistogram(), AddObject(), AddParameter(), AddPicture(), AddTree(), PutToFolder(), SetAnalysisCondition(), SetParameter(), SetParameterStatus(), and SetPicture().

Bool_t TGo4AnalysisObjectManager::AddParameter ( TGo4Parameter par,
const char *  subfolder = 0 
)

Puts a new parameter object in corresponding folder. Object is owned by folder afterwards. Returns false if object of that name already exists in list.

Definition at line 1182 of file TGo4AnalysisObjectManager.cxx.

References AddObjectToFolder(), fxParameterDir, and GO4TRACE.

Referenced by TGo4Analysis::AddParameter().

Bool_t TGo4AnalysisObjectManager::AddPicture ( TGo4Picture pic,
const char *  subfolder = 0 
)

Puts a new picture object in corresponding folder. Object is owned by folder afterwards. Returns false if object of that name already exists in list.

Definition at line 1262 of file TGo4AnalysisObjectManager.cxx.

References AddObjectToFolder(), fxPictureDir, and GO4TRACE.

Referenced by TGo4Analysis::AddPicture().

Bool_t TGo4AnalysisObjectManager::AddTree ( TTree *  tree,
const char *  subfolder = 0 
)

Add reference to a tree in the go4 folder structure. If name of subfolder is given, tree will be assigned to subfolder, e.g. dedicated to analysis step. If subfolder is zero, the tree will be put into general tree folder.

Definition at line 734 of file TGo4AnalysisObjectManager.cxx.

References AddObjectToFolder(), fxTreeDir, and GO4TRACE.

Referenced by TGo4Analysis::AddTree().

Bool_t TGo4AnalysisObjectManager::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 1436 of file TGo4AnalysisObjectManager.cxx.

References AddDynamicEntry(), GO4TRACE, TGo4Analysis::Instance(), and TGo4Analysis::Message().

Referenced by TGo4Analysis::AddTreeHistogram().

void TGo4AnalysisObjectManager::AppendToDir ( TObject *  ob,
TDirectory *  dir 
)
private

Append object ob to directory dir. If object of same name already existed there, it is replaced.

Definition at line 1803 of file TGo4AnalysisObjectManager.cxx.

Referenced by SaveFolder().

void TGo4AnalysisObjectManager::CleanupDynamicLists ( TObject *  oldobject)
private

Remove reference to object from all dynamic lists.Object type is noticed automatically.

Definition at line 1994 of file TGo4AnalysisObjectManager.cxx.

References TGo4DynamicList::CleanupPointerInEntries(), fxDirMutex, fxDynListDir, and GO4TRACE.

Referenced by AddObjectToFolder(), DeleteObject(), RemoveEventStructure(), and RemoveObjectFromFolder().

Bool_t TGo4AnalysisObjectManager::ClearFolder ( TFolder *  fold)
private

Clear (reset) all objects in folder fold, e.g. zero the histograms. Objects are not deleted!

Definition at line 1863 of file TGo4AnalysisObjectManager.cxx.

References ClearObject(), fxDirMutex, and GO4TRACE.

Referenced by ClearObjects().

Bool_t TGo4AnalysisObjectManager::ClearObject ( TObject *  ob)
private

Clear (reset) the specified object. Depending on type, different actions may happen (clear histo, zero graph)

Definition at line 1878 of file TGo4AnalysisObjectManager.cxx.

References GO4TRACE, TGo4Status::kGo4NoReset, TGo4DynamicEntry::Reset(), and TGo4Picture::Reset().

Referenced by ClearFolder(), and ClearObjects().

Bool_t TGo4AnalysisObjectManager::ClearObjects ( const char *  name)

Clear (reset) the specified objects. Method will first clear all objects in any folder if it is matching the namestring. If no such folder exists, object of name is searched and cleared. Returns kFALSE in case of not found objects.

Definition at line 260 of file TGo4AnalysisObjectManager.cxx.

References ClearFolder(), ClearObject(), fxDirMutex, fxGo4Dir, and GO4TRACE.

Referenced by TGo4Analysis::ClearObjects().

void TGo4AnalysisObjectManager::CloseAnalysis ( )

Cleanups required when analysis is closed.

Definition at line 1152 of file TGo4AnalysisObjectManager.cxx.

References fiDynListCount, GO4TRACE, TGo4Analysis::Instance(), TGo4Analysis::Message(), and ResetCurrentDynList().

Referenced by TGo4Analysis::CloseAnalysis().

TFolder * TGo4AnalysisObjectManager::CreateBranchFolder ( TObjArray *  branchlist,
const char *  name,
const char *  title,
Bool_t  istopbranch = kFALSE 
)

Create a folder with subfolders from a list of TBranchElements. For each subbranch a subfolder will be created, until a TBranchElement without subbranches occur. The latter will be put into a TGo4ObjectStatus class. Flag istopbranch is used to indicate top level call for composite event.

Definition at line 648 of file TGo4AnalysisObjectManager.cxx.

References CreateCompositeBranchFolder(), fxTempFolder, GetEventStructure(), and GO4TRACE.

Referenced by CreateCompositeBranchFolder(), and CreateTreeStructure().

TFolder * TGo4AnalysisObjectManager::CreateCompositeBranchFolder ( TObjArray *  branchlist,
TGo4CompositeEvent compevent,
Int_t  startindex,
Int_t *  skip,
const char *  name,
const char *  title 
)

Create a folder with subfolders from a list of TBranchElements that belongs to a TGo4CompositeEvent. For each subbranch a subfolder will be created, until a TBranchElement without subbranches occur. The latter will be put into a TGo4ObjectStatus class.

Definition at line 307 of file TGo4AnalysisObjectManager.cxx.

References CreateBranchFolder(), fxTempFolder, TGo4CompositeEvent::getListOfComposites(), TGo4CompositeEvent::getNElements(), and GO4TRACE.

Referenced by CreateBranchFolder().

Bool_t TGo4AnalysisObjectManager::CreatedInMake ( ) const
inline

Definition at line 642 of file TGo4AnalysisObjectManager.h.

References fbCreatedinMake.

TFolder * TGo4AnalysisObjectManager::CreateMembersFolder ( TObject *  obj,
const char *  membrfoldername,
TClass *  cl 
)

Create a folder with members of this class

Definition at line 475 of file TGo4AnalysisObjectManager.cxx.

References fxTempFolder.

Referenced by CreateNamesFolder().

TFolder * TGo4AnalysisObjectManager::CreateNamesFolder ( TFolder *  objectfolder)

Conversion of the TFolder of objects into a TFolder containing the object names as TObjectStrings. Subfolders are translated to subfolders containing subfolder names.

Definition at line 963 of file TGo4AnalysisObjectManager.cxx.

References CreateMembersFolder(), CreateObjectStatus(), CreateTreeStructure(), fxTempFolder, and GO4TRACE.

Referenced by CreateNamesList().

TGo4AnalysisObjectNames * TGo4AnalysisObjectManager::CreateNamesList ( )

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

Definition at line 949 of file TGo4AnalysisObjectManager.cxx.

References TGo4PolyCond::CleanupSpecials(), CreateNamesFolder(), fxDirMutex, fxGo4Dir, TGo4AnalysisObjectNames::fxTopFolder, TGo4Analysis::GetName(), GO4TRACE, and TGo4Analysis::Instance().

Referenced by TGo4Analysis::CreateNamesList().

TList * TGo4AnalysisObjectManager::CreateObjectList ( const char *  expr,
const char *  folder = 0 
)
private

Create a list of objects which names are matching expression expr. optionally, the search can be limited to given subfolder of Go4. By default, all registered objects are compared.

Definition at line 2045 of file TGo4AnalysisObjectManager.cxx.

References fgcTOPFOLDER, FindSubFolder(), fxDirMutex, and fxGo4Dir.

Referenced by CreateObjectList(), and NextMatchingObject().

TList * TGo4AnalysisObjectManager::CreateObjectList ( const char *  expr,
TFolder *  fold 
)
private

For recursive search for objects in folder fold that match expression.

Definition at line 2057 of file TGo4AnalysisObjectManager.cxx.

References CreateObjectList(), and IsMatching().

TGo4ObjectStatus * TGo4AnalysisObjectManager::CreateObjectStatus ( const char *  name,
const char *  folder = 0 
)

Find Object of name in the folder structure and create a complete status object of it. Used by GUI command to get updated information on certain object. Optionally, name of search folder may be given.

Definition at line 930 of file TGo4AnalysisObjectManager.cxx.

References GetObject().

Referenced by CreateNamesFolder(), TGo4Analysis::CreateObjectStatus(), and PrintFolder().

TGo4ObjectStatus * TGo4AnalysisObjectManager::CreateObjectStatus ( TObject *  ob,
Bool_t  fullinfo = kTRUE 
)

Create status object for object ob. If fullinfo flag is false, skip time consuming parts of the status (case of nameslist)

Definition at line 936 of file TGo4AnalysisObjectManager.cxx.

TGo4TreeStructure * TGo4AnalysisObjectManager::CreateTreeStructure ( TTree *  thetree)

Create a tree structure object that maps the TBranchelements into a TFolder hierarchy

Definition at line 440 of file TGo4AnalysisObjectManager.cxx.

References CreateBranchFolder(), TGo4TreeStructure::fxTopFolder, GO4TRACE, TGo4Analysis::Instance(), and TGo4Analysis::Message().

Referenced by CreateNamesFolder(), CreateTreeStructure(), and TGo4Analysis::CreateTreeStructure().

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

Create a tree structure for a certain tree by name

Definition at line 459 of file TGo4AnalysisObjectManager.cxx.

References CreateTreeStructure(), fxTreeDir, and GO4TRACE.

Bool_t TGo4AnalysisObjectManager::DeleteFolder ( TFolder *  fold)
private

Delete all objects in folder fold only if the kGo4CanDelete bit is set. Usually, only objects created from the gui may be deleted.

Definition at line 1943 of file TGo4AnalysisObjectManager.cxx.

References DeleteObject(), fxDirMutex, and GO4TRACE.

Referenced by DeleteObjects().

Bool_t TGo4AnalysisObjectManager::DeleteObject ( TObject *  ob)
private

Delete the specified object if the kGo4CanDelete bit is set. Usually, only objects created from the gui may be deleted.

Definition at line 1959 of file TGo4AnalysisObjectManager.cxx.

References CleanupDynamicLists(), fxGo4Dir, GO4TRACE, and TGo4Status::kGo4CanDelete.

Referenced by DeleteFolder(), and DeleteObjects().

Bool_t TGo4AnalysisObjectManager::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 277 of file TGo4AnalysisObjectManager.cxx.

References DeleteFolder(), DeleteObject(), fxDirMutex, and fxGo4Dir.

Referenced by TGo4Analysis::DeleteObjects().

TObject * TGo4AnalysisObjectManager::FindObjectInFolder ( TFolder *  folder,
const char *  fullname 
)
private

Search in folder for object with specified name Uses fxDirMutex until search is working

Definition at line 2106 of file TGo4AnalysisObjectManager.cxx.

References fxDirMutex, and GO4TRACE.

Referenced by GetAnalysisCondition(), GetAsTObject(), GetCanvas(), GetEventStructure(), GetHistogram(), GetParameter(), GetPicture(), GetTree(), and TestObject().

Bool_t TGo4AnalysisObjectManager::FindObjectPathName ( TObject *  obj,
TString &  pathname,
TFolder *  fold = 0 
)

Return full path name to object, relative to specified folder

Definition at line 2139 of file TGo4AnalysisObjectManager.cxx.

References fxGo4Dir.

Referenced by TGo4Analysis::SendObjectToGUI().

TFolder * TGo4AnalysisObjectManager::FindSubFolder ( TFolder *  parent,
const char *  subfolder,
Bool_t  create = kTRUE 
)

Get pointer to subfolder of parent specified by name. If create is true, create it

Definition at line 1460 of file TGo4AnalysisObjectManager.cxx.

References fxDirMutex, GO4TRACE, and IsSortedOrder().

Referenced by AddObjectToFolder(), CreateObjectList(), GetAsTObject(), LoadFolder(), and TGo4Analysis::StoreFolder().

TGo4Condition * TGo4AnalysisObjectManager::GetAnalysisCondition ( const char *  name,
const char *  cond_cl = 0 
)

Retrieves an analysis condition from list by name. Returns 0 if no such condition.

Definition at line 829 of file TGo4AnalysisObjectManager.cxx.

References FindObjectInFolder(), fxConditionDir, fxUserDir, and GO4TRACE.

Referenced by TGo4Analysis::GetAnalysisCondition().

const char * TGo4AnalysisObjectManager::GetANALYSISFOLDER ( )
static

Definition at line 87 of file TGo4AnalysisObjectManager.cxx.

References fgcANALYSISFOLDER.

Referenced by TGo4MbsHist::ScanGo4Folder(), and TGo4Sniffer::ScanRoot().

TObject * TGo4AnalysisObjectManager::GetAsTObject ( const char *  name,
const char *  folder = 0 
)

Searches for object by name in all go4 folders. Returns pointer to TObject object. If object of that name does not exist, null is returned Optionally, name of folder may be specified; object is only searched within that folder then.

Definition at line 224 of file TGo4AnalysisObjectManager.cxx.

References fgcTOPFOLDER, FindObjectInFolder(), FindSubFolder(), fxGo4Dir, GO4TRACE, TGo4Analysis::Instance(), and TGo4Analysis::Message().

Referenced by TGo4ComGetEnvelope::ExeCom(), and GetObject().

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

Retrieves a TCanvas by name from the Canvases folder. Returns 0 if no such object.

Definition at line 1332 of file TGo4AnalysisObjectManager.cxx.

References FindObjectInFolder(), fxCanvasDir, and GO4TRACE.

Referenced by TGo4Analysis::GetCanvas().

const char * TGo4AnalysisObjectManager::GetCANVFOLDER ( )
static

Definition at line 86 of file TGo4AnalysisObjectManager.cxx.

References fgcCANVFOLDER.

Referenced by TGo4MbsHist::ScanGo4Folder(), and TGo4Sniffer::ScanRoot().

const char * TGo4AnalysisObjectManager::GetCONDFOLDER ( )
static

Definition at line 82 of file TGo4AnalysisObjectManager.cxx.

References fgcCONDFOLDER.

Referenced by TGo4MbsHist::ScanGo4Folder(), and TGo4Sniffer::ScanRoot().

const char * TGo4AnalysisObjectManager::GetDYNFOLDER ( )
static

Definition at line 81 of file TGo4AnalysisObjectManager.cxx.

References fgcDYNFOLDER.

Referenced by TGo4MbsHist::ScanGo4Folder().

Int_t TGo4AnalysisObjectManager::GetDynListInterval ( ) const
inline
const char * TGo4AnalysisObjectManager::GetEVENTFOLDER ( )
static

Definition at line 88 of file TGo4AnalysisObjectManager.cxx.

References fgcEVENTFOLDER.

Referenced by TGo4Sniffer::ScanRoot().

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

Search reference to event structure in folder.

Definition at line 1098 of file TGo4AnalysisObjectManager.cxx.

References FindObjectInFolder(), fxEventDir, TGo4EventElement::GetChild(), and GO4TRACE.

Referenced by CreateBranchFolder(), and TGo4Analysis::GetEventStructure().

const char * TGo4AnalysisObjectManager::GetHISTFOLDER ( )
static

Definition at line 80 of file TGo4AnalysisObjectManager.cxx.

References fgcHISTFOLDER.

Referenced by TGo4Sniffer::ScanRoot().

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

Search histogram in histogram list (directory).

Definition at line 750 of file TGo4AnalysisObjectManager.cxx.

References FindObjectInFolder(), fxHistogramDir, fxUserDir, and GO4TRACE.

Referenced by TGo4Analysis::GetHistogram().

TNamed * TGo4AnalysisObjectManager::GetObject ( const char *  name,
const char *  folder = 0 
)

Searches for object by name in all go4 folders. Returns pointer to TNamed object. If object of that name does not exist, null is returned Optionally, name of folder may be specified; object is only searched within that folder then.

Definition at line 254 of file TGo4AnalysisObjectManager.cxx.

References GetAsTObject().

Referenced by CreateObjectStatus(), and TGo4Analysis::GetObject().

TFolder * TGo4AnalysisObjectManager::GetObjectFolder ( )

Access to top folder of all objects.

Definition at line 1006 of file TGo4AnalysisObjectManager.cxx.

References fxGo4Dir.

Referenced by TGo4Sniffer::CmdCloseFiles(), TGo4Sniffer::CmdOpenFile(), TGo4Analysis::GetObjectFolder(), and TGo4Sniffer::ScanRoot().

const char * TGo4AnalysisObjectManager::GetPARAFOLDER ( )
static

Definition at line 83 of file TGo4AnalysisObjectManager.cxx.

References fgcPARAFOLDER.

Referenced by TGo4MbsHist::ScanGo4Folder(), and TGo4Sniffer::ScanRoot().

TGo4Parameter * TGo4AnalysisObjectManager::GetParameter ( const char *  name,
const char *  parameter_class = 0 
)

Retrieves a parameter object by name from the object folder. Optionally expected class of parameter object could be specified. Returns 0 if no such parameter found (or class not match).

Definition at line 1246 of file TGo4AnalysisObjectManager.cxx.

References FindObjectInFolder(), fxParameterDir, fxUserDir, and GO4TRACE.

Referenced by TGo4Analysis::GetParameter().

const char * TGo4AnalysisObjectManager::GetPICTFOLDER ( )
static

Definition at line 85 of file TGo4AnalysisObjectManager.cxx.

References fgcPICTFOLDER.

Referenced by TGo4MbsHist::ScanGo4Folder(), and TGo4Sniffer::ScanRoot().

TGo4Picture * TGo4AnalysisObjectManager::GetPicture ( const char *  name)

Retrieves a picture object by name from the object folder. Returns 0 if no such picture.

Definition at line 1304 of file TGo4AnalysisObjectManager.cxx.

References FindObjectInFolder(), fxPictureDir, fxUserDir, and GO4TRACE.

Referenced by TGo4Analysis::GetPicture().

const char * TGo4AnalysisObjectManager::GetPROCFOLDER ( )
static

Definition at line 91 of file TGo4AnalysisObjectManager.cxx.

References fgcPROCFOLDER.

const char * TGo4AnalysisObjectManager::GetSRCFOLDER ( )
static

Definition at line 89 of file TGo4AnalysisObjectManager.cxx.

References fgcSRCFOLDER.

const char * TGo4AnalysisObjectManager::GetSTOREFOLDER ( )
static

Definition at line 90 of file TGo4AnalysisObjectManager.cxx.

References fgcSTOREFOLDER.

const char * TGo4AnalysisObjectManager::GetTMPFOLDER ( )
static

Definition at line 93 of file TGo4AnalysisObjectManager.cxx.

References fgcTMPFOLDER.

const char * TGo4AnalysisObjectManager::GetTOPDYNAMICLIST ( )
static

Definition at line 78 of file TGo4AnalysisObjectManager.cxx.

References fgcTOPDYNAMICLIST.

const char * TGo4AnalysisObjectManager::GetTOPFOLDER ( )
static
TTree * TGo4AnalysisObjectManager::GetTree ( const char *  name)

Search tree in tree folder.

Definition at line 758 of file TGo4AnalysisObjectManager.cxx.

References FindObjectInFolder(), fxTreeDir, and GO4TRACE.

Referenced by TGo4Analysis::GetTree().

const char * TGo4AnalysisObjectManager::GetTREEFOLDER ( )
static

Definition at line 84 of file TGo4AnalysisObjectManager.cxx.

References fgcTREEFOLDER.

Referenced by TGo4MbsHist::ScanGo4Folder(), and TGo4Sniffer::ScanRoot().

const char * TGo4AnalysisObjectManager::GetUSRFOLDER ( )
static

Definition at line 92 of file TGo4AnalysisObjectManager.cxx.

References fgcUSRFOLDER.

Referenced by TGo4Sniffer::ScanRoot().

Bool_t TGo4AnalysisObjectManager::IsMatching ( const char *  string,
const char *  expression 
)
private

Finds out if string is matching the expression

Definition at line 2088 of file TGo4AnalysisObjectManager.cxx.

Referenced by CreateObjectList(), and PrintFolder().

Bool_t TGo4AnalysisObjectManager::IsSortedOrder ( ) const
inline

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

Definition at line 648 of file TGo4AnalysisObjectManager.h.

References fbSortedOrder.

Referenced by FindSubFolder(), and TGo4Analysis::IsSortedOrder().

Bool_t TGo4AnalysisObjectManager::LoadFolder ( TFolder *  source,
TFolder *  destination,
Bool_t  replace = kFALSE 
)
private

Update folder destination with the content of the folder source. Subfolder structure of source is recreated in destination, but existing objects are not replaced/deleted unless replace==kTRUE

Definition at line 1610 of file TGo4AnalysisObjectManager.cxx.

References FindSubFolder(), fxDirMutex, GO4TRACE, and PutToFolder().

Referenced by LoadFolder(), and LoadObjects().

Bool_t TGo4AnalysisObjectManager::LoadFolder ( TDirectory *  source,
TFolder *  destination,
Bool_t  replace = kFALSE 
)
private

Update folder destination with the content of the directory source. Subdirectory structure of source is converted into subfolder of destination, but existing objects are not replaced/deleted unless replace==kTRUE

Definition at line 1638 of file TGo4AnalysisObjectManager.cxx.

References fbSuppressLoadHistograms, fgcPICTFOLDER, FindSubFolder(), fxDirMutex, GO4TRACE, TGo4Analysis::Instance(), LoadFolder(), TGo4Analysis::Message(), and PutToFolder().

Bool_t TGo4AnalysisObjectManager::LoadObjects ( TFile *  statusfile)

Load objects from file. File should be opened and closed by the caller.

Definition at line 1347 of file TGo4AnalysisObjectManager.cxx.

References TGo4PolyCond::CleanupSpecials(), fgcTOPFOLDER, fxGo4Dir, GO4TRACE, LoadFolder(), and ResetCurrentDynList().

Referenced by TGo4Analysis::LoadObjects().

TGo4PolyCond * TGo4AnalysisObjectManager::MakePolyCond ( const char *  foldername,
const char *  conditionname,
Int_t  size,
Float_t(*)  points[2],
const char *  bindhistogram = 0,
Bool_t  invert = kFALSE 
)

Create polygon 2-dim condition in conditions folder. If conditions exists in autosave file, it will be taken from autosave file. If type of existing condition does not match, condition will be removed and new will be created. Points of polygon are taken from two dimentional array, which can be declared in program like: Float_t points[4][2] = {{ 0., 0.}, { 0., 4000.}, {40000., 4000.}, {40000., 0.}}; If first and last points will be connected, if they didnot match each other

Parameters are: folderame - name of folder, where condition should be created conditionsname - name of condition size - number of points in polygon points - array of (x,y) coordinate of polygon bindhistogram - name of histogram, connected to condition [optional] invert - invert condition

Definition at line 886 of file TGo4AnalysisObjectManager.cxx.

References AddAnalysisCondition(), fxConditionDir, and TestObject().

TH1 * TGo4AnalysisObjectManager::MakeTH1 ( const char *  histotype,
const char *  foldername,
const char *  histoname,
Int_t  nbinsx,
Axis_t  xlow,
Axis_t  xup,
const char *  title = 0,
const char *  xtitle = 0,
const char *  ytitle = 0 
)

Create 1-dim histogram in histogram folder. If histogram exists in autosave file, it will be taken from autosavefile. If type of existing histogram does not match with provided, old histogram will be removed and new proper will be created. Parameters are: histotype = "C", "D", "F", "I", "S" corresponds to different TH1* types folderame - name of folder, where histogram should be created histoname - name of histogram nbinsx - number of histogram bins xlow - histogram lower limit xup - histogram upper limit title - histogram tille [optional] xtitle - title on x axis [optional] ytitle - title on y axis [optional]

Definition at line 557 of file TGo4AnalysisObjectManager.cxx.

References AddHistogram(), fxHistogramDir, and TestObject().

TH2 * TGo4AnalysisObjectManager::MakeTH2 ( const char *  histotype,
const char *  foldername,
const char *  histoname,
Int_t  nbinsx,
Axis_t  xlow,
Axis_t  xup,
Int_t  nbinsy,
Axis_t  ylow,
Axis_t  yup,
const char *  title = 0,
const char *  xtitle = 0,
const char *  ytitle = 0 
)

Create 2-dim histogram in histogram folder. If histogram exists in autosave file, it will be taken from autosavefile. If type of existing histogram does not match with provided, old histogram will be removed and new proper will be created. Parameters are: histotype = "C", "D", "F", "I", "S" corresonds to different TH1* types folderame - name of folder, where histogram should be created histoname - name of histogram nbinsx - number of bins on x axis xlow - lower limit on x axis xup - upper limit on x axis nbinsy - number of bins on y axis ylow - lower limit on y axis yup - upper limit on y axis title - histogram tille [optional] xtitle - title on x axis [optional] ytitle - title on y axis [optional]

Definition at line 601 of file TGo4AnalysisObjectManager.cxx.

References AddHistogram(), fxHistogramDir, and TestObject().

TGo4WinCond * TGo4AnalysisObjectManager::MakeWindowCond ( const char *  foldername,
const char *  conditionname,
Double_t  xlow,
Double_t  xup,
const char *  bindhistogram = 0,
Bool_t  invert = kFALSE 
)

Create 1-dim window condition in conditions folder. If conditions exists in autosave file, it will be taken from autosave file. If type of existing condition does not match, condition will be removed and new will be created. Parameters are: folderame - name of folder, where condition should be created conditionsname - name of condition xlow - lower limit of condition xup - upper limit on condition bindhistogram - name of histogram, connected to condition [optional] invert - invert condition

Definition at line 842 of file TGo4AnalysisObjectManager.cxx.

References AddAnalysisCondition(), fxConditionDir, TGo4Condition::Invert(), TGo4Condition::SetHistogram(), TGo4WinCond::SetValues(), and TestObject().

TGo4WinCond * TGo4AnalysisObjectManager::MakeWindowCond ( const char *  foldername,
const char *  conditionname,
Double_t  xlow,
Double_t  xup,
Double_t  ylow,
Double_t  yup,
const char *  bindhistogram = 0,
Bool_t  invert = kFALSE 
)

Create 2-dim window condition in conditions folder. If conditions exists in autosave file, it will be taken from autosave file. If type of existing condition does not match, condition will be removed and new will be created. Parameters are: folderame - name of folder, where condition should be created conditionsname - name of condition xlow - lower limit on x axis xup - upper limit on x axis ylow - lower limit on y axis yup - upper limit on y axis bindhistogram - name of histogram, connected to condition [optional] invert - invert condition

Definition at line 863 of file TGo4AnalysisObjectManager.cxx.

References AddAnalysisCondition(), fxConditionDir, TGo4Condition::Invert(), TGo4Condition::SetHistogram(), TGo4WinCond::SetValues(), and TestObject().

TObject * TGo4AnalysisObjectManager::NextMatchingObject ( const char *  expr,
const char *  folder,
Bool_t  reset 
)

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 2032 of file TGo4AnalysisObjectManager.cxx.

References CreateObjectList(), fxMatchIterator, and fxMatchList.

Referenced by TGo4Analysis::NextMatchingObject().

void TGo4AnalysisObjectManager::PrintConditions ( const char *  expression = 0)

Print all condition counters to the terminal. Expression may filter only objects with names matching.

Definition at line 2007 of file TGo4AnalysisObjectManager.cxx.

References fxConditionDir, GO4TRACE, and PrintFolder().

Referenced by TGo4Analysis::PrintConditions().

void TGo4AnalysisObjectManager::PrintDynamicList ( )

Print entries of current dynamic list.

Definition at line 1389 of file TGo4AnalysisObjectManager.cxx.

References fxDynListDir, and TGo4DynamicList::PrintEntries().

Referenced by TGo4Analysis::PrintDynamicList().

Int_t TGo4AnalysisObjectManager::PrintFolder ( TFolder *  fold,
Option_t *  opt,
const char *  expression = 0 
)
private

Printout all objects in folder fold on the terminal. Option for root Print can be specified. Optionally, a filtering expression can be defined. Return value gives total size of all printed objects in bytes (including subfolders).

Definition at line 1833 of file TGo4AnalysisObjectManager.cxx.

References CreateObjectStatus(), fxDirMutex, TGo4ObjectStatus::GetObjectSize(), GO4TRACE, and IsMatching().

Referenced by PrintConditions(), PrintHistograms(), and PrintParameters().

void TGo4AnalysisObjectManager::PrintHistograms ( const char *  expression = 0)

Printout of all histogram statistic counters on the terminal. Expression may filter only objects with names matching.

Definition at line 2015 of file TGo4AnalysisObjectManager.cxx.

References fxHistogramDir, GO4TRACE, and PrintFolder().

Referenced by TGo4Analysis::PrintHistograms().

void TGo4AnalysisObjectManager::PrintParameters ( const char *  expression = 0)

Print all parameters to the terminal. Expression may filter only objects with names matching.

Definition at line 2023 of file TGo4AnalysisObjectManager.cxx.

References fxParameterDir, GO4TRACE, and PrintFolder().

Referenced by TGo4Analysis::PrintParameters().

void TGo4AnalysisObjectManager::ProcessDynamicList ( )

Loop over the dynamic list and process the actions linked to the entries.

Definition at line 1379 of file TGo4AnalysisObjectManager.cxx.

References fiDynListCount, fiDynListInterval, fxDynListDir, GetDynListInterval(), TGo4DynamicList::ProcessEntries(), and ResetBackStores().

Referenced by TGo4Analysis::MainCycle().

Bool_t TGo4AnalysisObjectManager::ProtectFolder ( TFolder *  fold,
const Option_t *  flags 
)
private

Change protection properties of all objects in this folder as specified. 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" Properties not appearing in flags are not changed.

Definition at line 1969 of file TGo4AnalysisObjectManager.cxx.

References fxDirMutex, and ProtectObject().

Referenced by ProtectObjects().

Bool_t TGo4AnalysisObjectManager::ProtectObject ( TObject *  ob,
const Option_t *  flags 
)
private

Change protection properties of object name as specified. 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" Properties not appearing in flags are not changed.

Definition at line 1983 of file TGo4AnalysisObjectManager.cxx.

References TGo4Status::kGo4CanDelete, and TGo4Status::kGo4NoReset.

Referenced by ProtectFolder(), and ProtectObjects().

Bool_t TGo4AnalysisObjectManager::ProtectObjects ( const char *  name,
const Option_t *  flags 
)

Change protection properties of object name as specified. 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" Properties not appearing in flags are not changed.

Definition at line 292 of file TGo4AnalysisObjectManager.cxx.

References fxDirMutex, fxGo4Dir, ProtectFolder(), and ProtectObject().

Referenced by TGo4Analysis::ProtectObjects().

Bool_t TGo4AnalysisObjectManager::PutToFolder ( TObject *  ob,
TFolder *  destination,
Bool_t  replace = kFALSE 
)
private

Method used by both LoadFolder variants to assign object ob into destination folder by object type. If replace is kTRUE, previous objects of same name are replaced by ob.

Definition at line 1697 of file TGo4AnalysisObjectManager.cxx.

References AddDynamicEntry(), AddObjectToFolder(), fbSuppressLoadHistograms, TGo4Analysis::Instance(), TGo4Analysis::Message(), SetAnalysisCondition(), SetParameter(), and SetPicture().

Referenced by LoadFolder().

void TGo4AnalysisObjectManager::RecursiveRemove ( TObject *  obj)
virtual

Method used in case when object is cleaned up by the ROOT

Definition at line 202 of file TGo4AnalysisObjectManager.cxx.

References fxCanvasDir.

Bool_t TGo4AnalysisObjectManager::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 924 of file TGo4AnalysisObjectManager.cxx.

References fxConditionDir, GO4TRACE, and RemoveObjectFromFolder().

Referenced by TGo4Analysis::RemoveAnalysisCondition().

Bool_t TGo4AnalysisObjectManager::RemoveCanvas ( const char *  name)

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

Definition at line 1340 of file TGo4AnalysisObjectManager.cxx.

References fxCanvasDir, GO4TRACE, and RemoveObjectFromFolder().

Referenced by TGo4Analysis::RemoveCanvas().

Bool_t TGo4AnalysisObjectManager::RemoveDynamicEntry ( const char *  entryname)

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. If listname is not given, the current dynamic list is used.

Definition at line 1454 of file TGo4AnalysisObjectManager.cxx.

References fxDynListDir, and RemoveObjectFromFolder().

Referenced by TGo4Analysis::RemoveDynamicEntry().

Bool_t TGo4AnalysisObjectManager::RemoveEventProcessor ( TGo4EventProcessor pro)

Remove reference to event processor from go4 folder structure.

Definition at line 1062 of file TGo4AnalysisObjectManager.cxx.

References fxDirMutex, fxProcessorDir, and GO4TRACE.

Referenced by TGo4Analysis::RemoveEventProcessor().

Bool_t TGo4AnalysisObjectManager::RemoveEventSource ( TGo4EventSource source)

Remove reference to event source from go4 folder structure.

Definition at line 1040 of file TGo4AnalysisObjectManager.cxx.

References fxDirMutex, fxSourceDir, and GO4TRACE.

Referenced by TGo4Analysis::RemoveEventSource().

Bool_t TGo4AnalysisObjectManager::RemoveEventStore ( TGo4EventStore store)

Remove reference to event store from go4 folder structure.

Definition at line 1017 of file TGo4AnalysisObjectManager.cxx.

References fxDirMutex, fxStoreDir, and GO4TRACE.

Referenced by TGo4Analysis::RemoveEventStore().

Bool_t TGo4AnalysisObjectManager::RemoveEventStructure ( TGo4EventElement ev)

Remove reference to event structure from go4 folder structure.

Definition at line 1084 of file TGo4AnalysisObjectManager.cxx.

References CleanupDynamicLists(), fxDirMutex, fxEventDir, and GO4TRACE.

Referenced by TGo4Analysis::RemoveEventStructure().

void TGo4AnalysisObjectManager::RemoveFromDir ( TFolder *  fold,
TDirectory *  dir 
)
private

Remove all objects in folder fold from directory dir, recursively. Prevents the deletion of all objects in memory folders after SaveFolder, when dir is closed.

Definition at line 1817 of file TGo4AnalysisObjectManager.cxx.

Referenced by SaveObjects().

Bool_t TGo4AnalysisObjectManager::RemoveHistogram ( const char *  name,
Bool_t  del = kTRUE 
)

Removes histogram from histogram dir by name. Returns kFALSE if no such histogram. Histogram object is deleted on heap only if del is true. Otherwise, user owns the histogram afterwords. Dynamic list entry for that histogram object is also removed.

Definition at line 764 of file TGo4AnalysisObjectManager.cxx.

References fxHistogramDir, GO4TRACE, and RemoveObjectFromFolder().

Referenced by TGo4Analysis::RemoveHistogram().

Bool_t TGo4AnalysisObjectManager::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 218 of file TGo4AnalysisObjectManager.cxx.

References fxUserDir, and RemoveObjectFromFolder().

Referenced by TGo4Analysis::RemoveObject().

Bool_t TGo4AnalysisObjectManager::RemoveObjectFromFolder ( const char *  fullname,
TFolder *  fold,
Bool_t  isDel 
)
private

Remove object specified by full name ("subfolder/subssubfolder/name") from folder fold. If isDel flag is kTRUE, object will be deleted. Return kTRUE if object was found and removed, otherwise kFALSE. Used by RemoveHistogram etc. methods.

Definition at line 1584 of file TGo4AnalysisObjectManager.cxx.

References CleanupDynamicLists(), fguSUBFOLDERMAXLEN, fxDirMutex, GO4TRACE, TGo4Analysis::Instance(), and TGo4Analysis::Message().

Referenced by RemoveAnalysisCondition(), RemoveCanvas(), RemoveDynamicEntry(), RemoveHistogram(), RemoveObject(), RemoveParameter(), RemovePicture(), and TestObject().

Bool_t TGo4AnalysisObjectManager::RemoveParameter ( const char *  name)

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

Definition at line 1256 of file TGo4AnalysisObjectManager.cxx.

References fxParameterDir, GO4TRACE, and RemoveObjectFromFolder().

Referenced by TGo4Analysis::RemoveParameter().

Bool_t TGo4AnalysisObjectManager::RemovePicture ( const char *  name)

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

Definition at line 1312 of file TGo4AnalysisObjectManager.cxx.

References fxPictureDir, GO4TRACE, and RemoveObjectFromFolder().

Referenced by TGo4Analysis::RemovePicture().

Bool_t TGo4AnalysisObjectManager::RemoveTree ( TTree *  tree,
const char *  stepname = 0 
)

Remove reference to a tree in the go4 folder structure. If name of analysis step is given, tree will be assigned to folder dedicated to that step. In stepname is zero, the tree will be put into general tree folder.

Definition at line 740 of file TGo4AnalysisObjectManager.cxx.

References fxDirMutex, fxTreeDir, and GO4TRACE.

Referenced by TGo4Analysis::RemoveTree().

Bool_t TGo4AnalysisObjectManager::ResetBackStores ( Bool_t  clearflag = kFALSE)

Reset all registered backstore instances.Called by dynamic list processing.

Definition at line 1139 of file TGo4AnalysisObjectManager.cxx.

References fxStoreDir, GO4TRACE, and TGo4BackStore::Reset().

Referenced by ProcessDynamicList(), and TGo4Analysis::ResetBackStores().

void TGo4AnalysisObjectManager::ResetCurrentDynList ( )

Reset the current dynamic list.

Definition at line 1374 of file TGo4AnalysisObjectManager.cxx.

References fxDynListDir, and TGo4DynamicList::ResetEntries().

Referenced by CloseAnalysis(), and LoadObjects().

Bool_t TGo4AnalysisObjectManager::SaveFolder ( TFolder *  source)
private

Save this folder as a new subdirectory (TDirectory) of the current directory i.e. the currently open file. This is most likely more performant than streaming top folder completely into file

Definition at line 1759 of file TGo4AnalysisObjectManager.cxx.

References AppendToDir(), fxDirMutex, TGo4Analysis::Instance(), and TGo4Analysis::Message().

Referenced by SaveObjects().

void TGo4AnalysisObjectManager::SaveObjects ( TFile *  file)

Save folder structure to given file.

Definition at line 1160 of file TGo4AnalysisObjectManager.cxx.

References fxAnalysisDir, fxGo4Dir, fxTreeDir, TGo4Analysis::Instance(), TGo4Analysis::Message(), RemoveFromDir(), and SaveFolder().

Referenced by TGo4Analysis::AutoSave().

Bool_t TGo4AnalysisObjectManager::SetAnalysisCondition ( const char *  name,
TGo4Condition con,
Bool_t  counter = kTRUE,
TFolder *  parent = 0 
)

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. optional parent folder can be specified. By default, condition is searched relative to Conditions folder.

Definition at line 778 of file TGo4AnalysisObjectManager.cxx.

References AddObjectToFolder(), TGo4PolyCond::CleanupSpecials(), fxConditionDir, fxDirMutex, fxUserDir, GO4TRACE, and TGo4Condition::UpdateFrom().

Referenced by PutToFolder(), and TGo4Analysis::SetAnalysisCondition().

void TGo4AnalysisObjectManager::SetDynListInterval ( Int_t  val)
inline

Definition at line 550 of file TGo4AnalysisObjectManager.h.

References fiDynListInterval.

Referenced by TGo4Analysis::SetDynListInterval().

Bool_t TGo4AnalysisObjectManager::SetParameter ( const char *  name,
TGo4Parameter par,
TFolder *  parent = 0 
)

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. Optional parent folder can be specified. by default, parameter is searched relative to Parameters folder.

Definition at line 1188 of file TGo4AnalysisObjectManager.cxx.

References AddObjectToFolder(), fxParameterDir, GO4TRACE, TGo4Log::Info(), and TGo4Parameter::UpdateFrom().

Referenced by PutToFolder(), and TGo4Analysis::SetParameter().

Bool_t TGo4AnalysisObjectManager::SetParameterStatus ( const char *  name,
TGo4ParameterStatus par,
TFolder *  parent = 0 
)

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. Optional parent folder can be specified. by default, parameter is searched relative to Parameters folder.

Definition at line 1217 of file TGo4AnalysisObjectManager.cxx.

References AddObjectToFolder(), TGo4ParameterStatus::CreateParameter(), fxParameterDir, GO4TRACE, and TGo4ParameterStatus::UpdateParameterValues().

Referenced by TGo4Analysis::SetParameterStatus().

Bool_t TGo4AnalysisObjectManager::SetPicture ( const char *  name,
TGo4Picture pic,
TFolder *  parent = 0 
)

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. Optional parent folder can be specified. by default, picture is searched relative to Pictures folder.

Definition at line 1271 of file TGo4AnalysisObjectManager.cxx.

References AddObjectToFolder(), fxPictureDir, GO4TRACE, and TGo4Picture::UpdateFrom().

Referenced by PutToFolder(), and TGo4Analysis::SetPicture().

void TGo4AnalysisObjectManager::SetSortedOrder ( Bool_t  on = kTRUE)
inline

Configure sorting order for newly created sub-folders

Definition at line 645 of file TGo4AnalysisObjectManager.h.

References fbSortedOrder.

Referenced by TGo4Analysis::SetSortedOrder().

TObject * TGo4AnalysisObjectManager::TestObject ( TFolder *  folder,
const char *&  pathname,
const char *  objectname,
const TClass *  cl 
)
private

Test, if object exists in provided folder. If object exists and corresponds to provided class, it will be returned, otherwise it will be destroyed Used by different Make* functions

Definition at line 2115 of file TGo4AnalysisObjectManager.cxx.

References fbCreatedinMake, FindObjectInFolder(), and RemoveObjectFromFolder().

Referenced by MakePolyCond(), MakeTH1(), MakeTH2(), and MakeWindowCond().

Member Data Documentation

Bool_t TGo4AnalysisObjectManager::fbCreatedinMake
private

Boolean flag indicates, if object was created in last calls of one of Make* functions

Definition at line 830 of file TGo4AnalysisObjectManager.h.

Referenced by CreatedInMake(), and TestObject().

Bool_t TGo4AnalysisObjectManager::fbSortedOrder
private

Is sub-folder created is sorted order

Definition at line 843 of file TGo4AnalysisObjectManager.h.

Referenced by IsSortedOrder(), and SetSortedOrder().

Bool_t TGo4AnalysisObjectManager::fbSuppressLoadHistograms
private

If this is set to true, any found histogram will not be loaded from the file current TDirectory. To be used to avoid Picture referenced Histograms to appear in the Pictures folder

Definition at line 838 of file TGo4AnalysisObjectManager.h.

Referenced by LoadFolder(), and PutToFolder().

const char * TGo4AnalysisObjectManager::fgcANALYSISFOLDER = "EventObjects"
static

top analysis objects reference folder name

Definition at line 681 of file TGo4AnalysisObjectManager.h.

Referenced by GetANALYSISFOLDER(), and TGo4AnalysisObjectManager().

const char * TGo4AnalysisObjectManager::fgcCANVFOLDER = "Canvases"
static

TCanvas folder name

Definition at line 678 of file TGo4AnalysisObjectManager.h.

Referenced by GetCANVFOLDER(), and TGo4AnalysisObjectManager().

const char * TGo4AnalysisObjectManager::fgcCONDFOLDER = "Conditions"
static

Analysis conditions folder name

Definition at line 666 of file TGo4AnalysisObjectManager.h.

Referenced by GetCONDFOLDER(), and TGo4AnalysisObjectManager().

const char * TGo4AnalysisObjectManager::fgcDYNFOLDER = "DynamicLists"
static

Dynamic lists folder name

Definition at line 663 of file TGo4AnalysisObjectManager.h.

Referenced by GetDYNFOLDER(), and TGo4AnalysisObjectManager().

const char * TGo4AnalysisObjectManager::fgcEVENTFOLDER = "Events"
static

Event references folder name

Definition at line 684 of file TGo4AnalysisObjectManager.h.

Referenced by GetEVENTFOLDER(), and TGo4AnalysisObjectManager().

const char * TGo4AnalysisObjectManager::fgcHISTFOLDER = "Histograms"
static

Histograms folder name

Definition at line 660 of file TGo4AnalysisObjectManager.h.

Referenced by GetHISTFOLDER(), and TGo4AnalysisObjectManager().

const char * TGo4AnalysisObjectManager::fgcPARAFOLDER = "Parameters"
static

Analysis user parameters folder name

Definition at line 669 of file TGo4AnalysisObjectManager.h.

Referenced by GetPARAFOLDER(), and TGo4AnalysisObjectManager().

const char * TGo4AnalysisObjectManager::fgcPICTFOLDER = "Pictures"
static

Picture objects folder name

Definition at line 675 of file TGo4AnalysisObjectManager.h.

Referenced by GetPICTFOLDER(), LoadFolder(), and TGo4AnalysisObjectManager().

const char * TGo4AnalysisObjectManager::fgcPROCFOLDER = "EventProcessors"
static

Event processor reference folder name

Definition at line 693 of file TGo4AnalysisObjectManager.h.

Referenced by GetPROCFOLDER(), and TGo4AnalysisObjectManager().

const char * TGo4AnalysisObjectManager::fgcSRCFOLDER = "EventSources"
static

Event source reference folder name

Definition at line 687 of file TGo4AnalysisObjectManager.h.

Referenced by GetSRCFOLDER(), and TGo4AnalysisObjectManager().

const char * TGo4AnalysisObjectManager::fgcSTOREFOLDER = "EventStores"
static

Event store reference folder name

Definition at line 690 of file TGo4AnalysisObjectManager.h.

Referenced by GetSTOREFOLDER(), and TGo4AnalysisObjectManager().

const char * TGo4AnalysisObjectManager::fgcTMPFOLDER = "Go4-tmp"
static

Temporary dummy folder name

Definition at line 699 of file TGo4AnalysisObjectManager.h.

Referenced by GetTMPFOLDER(), and TGo4AnalysisObjectManager().

const char * TGo4AnalysisObjectManager::fgcTOPDYNAMICLIST = "Go4DynamicList"
static

Default name of the default (toplevel) dynamic list

Definition at line 654 of file TGo4AnalysisObjectManager.h.

Referenced by GetTOPDYNAMICLIST().

const char * TGo4AnalysisObjectManager::fgcTOPFOLDER = "Go4"
static

Top level folder name

Definition at line 657 of file TGo4AnalysisObjectManager.h.

Referenced by CreateObjectList(), GetAsTObject(), GetTOPFOLDER(), LoadObjects(), and TGo4AnalysisObjectManager().

const char * TGo4AnalysisObjectManager::fgcTREEFOLDER = "Trees"
static

Tree reference folder name

Definition at line 672 of file TGo4AnalysisObjectManager.h.

Referenced by GetTREEFOLDER(), and TGo4AnalysisObjectManager().

const char * TGo4AnalysisObjectManager::fgcUSRFOLDER = "UserObjects"
static

User objects folder name

Definition at line 696 of file TGo4AnalysisObjectManager.h.

Referenced by GetUSRFOLDER(), and TGo4AnalysisObjectManager().

Int_t TGo4AnalysisObjectManager::fiDynListCount
private

Event counter for dynamic list processing. After each fgiDYNLISTINTERVAL counts the entries in the dynamic list are updated with the previous events (e.g. loop over a tree for this range)

Definition at line 819 of file TGo4AnalysisObjectManager.h.

Referenced by CloseAnalysis(), and ProcessDynamicList().

Int_t TGo4AnalysisObjectManager::fiDynListInterval
private

Interval for dynamic list processing

Definition at line 824 of file TGo4AnalysisObjectManager.h.

Referenced by GetDynListInterval(), ProcessDynamicList(), and SetDynListInterval().

TFolder* TGo4AnalysisObjectManager::fxAnalysisDir
private

Top Directory for all references to event classes.

Definition at line 792 of file TGo4AnalysisObjectManager.h.

Referenced by SaveObjects(), and TGo4AnalysisObjectManager().

TFolder* TGo4AnalysisObjectManager::fxCanvasDir
private

Directory containing TCanvases.

Definition at line 767 of file TGo4AnalysisObjectManager.h.

Referenced by AddCanvas(), GetCanvas(), RecursiveRemove(), RemoveCanvas(), TGo4AnalysisObjectManager(), and ~TGo4AnalysisObjectManager().

TFolder* TGo4AnalysisObjectManager::fxConditionDir
private

Directory containing all condition objects to be used by dynamic list and by user analysis.

Definition at line 736 of file TGo4AnalysisObjectManager.h.

Referenced by AddAnalysisCondition(), GetAnalysisCondition(), MakePolyCond(), MakeWindowCond(), PrintConditions(), RemoveAnalysisCondition(), SetAnalysisCondition(), TGo4AnalysisObjectManager(), and ~TGo4AnalysisObjectManager().

TMutex* TGo4AnalysisObjectManager::fxDirMutex
private
TFolder* TGo4AnalysisObjectManager::fxDynListDir
private

Directory containing all action objects to be used by dynamic list and by user analysis.

Definition at line 747 of file TGo4AnalysisObjectManager.h.

Referenced by AddDynamicEntry(), CleanupDynamicLists(), PrintDynamicList(), ProcessDynamicList(), RemoveDynamicEntry(), ResetCurrentDynList(), TGo4AnalysisObjectManager(), and ~TGo4AnalysisObjectManager().

TFolder* TGo4AnalysisObjectManager::fxEventDir
private

Directory containing references to event structures.

Definition at line 787 of file TGo4AnalysisObjectManager.h.

Referenced by AddEventStructure(), GetEventStructure(), RemoveEventStructure(), TGo4AnalysisObjectManager(), and ~TGo4AnalysisObjectManager().

TFolder* TGo4AnalysisObjectManager::fxGo4Dir
private
TFolder* TGo4AnalysisObjectManager::fxHistogramDir
private

Directory containing all histogram objects to be used by dynamic list and user analysis.

Definition at line 730 of file TGo4AnalysisObjectManager.h.

Referenced by AddHistogram(), GetHistogram(), MakeTH1(), MakeTH2(), PrintHistograms(), RemoveHistogram(), TGo4AnalysisObjectManager(), and ~TGo4AnalysisObjectManager().

TIterator* TGo4AnalysisObjectManager::fxMatchIterator
private

Iterator for list of matching objects.

Definition at line 811 of file TGo4AnalysisObjectManager.h.

Referenced by NextMatchingObject(), and ~TGo4AnalysisObjectManager().

TList* TGo4AnalysisObjectManager::fxMatchList
private

List of matching objects for name expression.

Definition at line 808 of file TGo4AnalysisObjectManager.h.

Referenced by NextMatchingObject(), and ~TGo4AnalysisObjectManager().

TFolder* TGo4AnalysisObjectManager::fxParameterDir
private
TFolder* TGo4AnalysisObjectManager::fxPictureDir
private

Directory containing the pictures.

Definition at line 762 of file TGo4AnalysisObjectManager.h.

Referenced by AddPicture(), GetPicture(), RemovePicture(), SetPicture(), TGo4AnalysisObjectManager(), and ~TGo4AnalysisObjectManager().

TFolder* TGo4AnalysisObjectManager::fxProcessorDir
private

Directory containing references to event processors.

Definition at line 782 of file TGo4AnalysisObjectManager.h.

Referenced by AddEventProcessor(), RemoveEventProcessor(), TGo4AnalysisObjectManager(), and ~TGo4AnalysisObjectManager().

TFolder* TGo4AnalysisObjectManager::fxSourceDir
private

Directory containing references to event sources.

Definition at line 777 of file TGo4AnalysisObjectManager.h.

Referenced by AddEventSource(), RemoveEventSource(), TGo4AnalysisObjectManager(), and ~TGo4AnalysisObjectManager().

TFolder* TGo4AnalysisObjectManager::fxStoreDir
private

Directory containing references to event stores.

Definition at line 772 of file TGo4AnalysisObjectManager.h.

Referenced by AddEventStore(), RemoveEventStore(), ResetBackStores(), TGo4AnalysisObjectManager(), and ~TGo4AnalysisObjectManager().

TFolder* TGo4AnalysisObjectManager::fxTempFolder
private
TFolder* TGo4AnalysisObjectManager::fxTreeDir
private

Directory containing references to trees.

Definition at line 757 of file TGo4AnalysisObjectManager.h.

Referenced by AddTree(), CreateTreeStructure(), GetTree(), RemoveTree(), SaveObjects(), TGo4AnalysisObjectManager(), and ~TGo4AnalysisObjectManager().

TFolder* TGo4AnalysisObjectManager::fxUserDir
private

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