Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes

TGo4AnalysisObjectManager Class Reference

#include <TGo4AnalysisObjectManager.h>

List of all members.

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
virtual void RecursiveRemove (TObject *obj)

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

Detailed Description

This object is responsible for the organisation 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 131 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 759 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 1307 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 1383 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 1043 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 1021 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 998 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 1065 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 534 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 aferwards and will be saved automatically. Object is accessible by name from the go4 display and from the analysis itself. Subfolder of UserObjects may be specified. If replace is true, old object of same name will be deleted and replaced by the added one.

Definition at line 194 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 1481 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 1169 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 1251 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 721 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 1425 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 1775 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 1968 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 1835 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 1850 of file TGo4AnalysisObjectManager.cxx.

References GO4TRACE, TGo4Status::kGo4NoReset, TGo4Picture::Reset(), and TGo4DynamicEntry::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 243 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 1139 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 635 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 290 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 643 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 462 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 950 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 936 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 2019 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 2031 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 917 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 923 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 427 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 446 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 1915 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 1931 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 260 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 2080 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 2113 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 1449 of file TGo4AnalysisObjectManager.cxx.

References fxDirMutex, and GO4TRACE.

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

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

Referenced by TGo4Analysis::GetAnalysisCondition().

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

References FindObjectInFolder(), fxCanvasDir, and GO4TRACE.

Referenced by TGo4Analysis::GetCanvas().

Int_t TGo4AnalysisObjectManager::GetDynListInterval (  )  const [inline]
TGo4EventElement * TGo4AnalysisObjectManager::GetEventStructure ( const char *  name  ) 

Search reference to event structure in folder.

Definition at line 1085 of file TGo4AnalysisObjectManager.cxx.

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

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

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

Search histogram in histogram list (directory).

Definition at line 737 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 237 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 993 of file TGo4AnalysisObjectManager.cxx.

References fxGo4Dir.

Referenced by TGo4Analysis::GetObjectFolder(), 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 1235 of file TGo4AnalysisObjectManager.cxx.

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

Referenced by TGo4Analysis::GetParameter().

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

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

Referenced by TGo4Analysis::GetPicture().

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

Search tree in tree folder.

Definition at line 745 of file TGo4AnalysisObjectManager.cxx.

References FindObjectInFolder(), fxTreeDir, and GO4TRACE.

Referenced by TGo4Analysis::GetTree().

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

Finds out if string is matching the expression

Definition at line 2062 of file TGo4AnalysisObjectManager.cxx.

Referenced by CreateObjectList(), and PrintFolder().

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 1582 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 1610 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 1336 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 873 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" corresonds 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 544 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 588 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 829 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 850 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 2006 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 1981 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 1378 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 1805 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 1989 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 1997 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 1368 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 1943 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 1957 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 275 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 1669 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 185 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 911 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 1329 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 1443 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 1049 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 1027 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 1004 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 1071 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 1789 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 751 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 201 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 1556 of file TGo4AnalysisObjectManager.cxx.

References CleanupDynamicLists(), 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 1245 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 1301 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 727 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 1126 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 1363 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 1731 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 1147 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 765 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 549 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 1175 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 1204 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 1260 of file TGo4AnalysisObjectManager.cxx.

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

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

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

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

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


Member Data Documentation

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

Definition at line 808 of file TGo4AnalysisObjectManager.h.

Referenced by CreatedInMake(), and TestObject().

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 816 of file TGo4AnalysisObjectManager.h.

Referenced by LoadFolder(), and PutToFolder().

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

top analysis objects reference folder name

Definition at line 676 of file TGo4AnalysisObjectManager.h.

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

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

TCanvas folder name

Definition at line 673 of file TGo4AnalysisObjectManager.h.

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

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

Analysis conditions folder name

Definition at line 661 of file TGo4AnalysisObjectManager.h.

Referenced by TGo4MbsHist::ScanGo4Folder(), and TGo4AnalysisObjectManager().

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

Dynamic lists folder name

Definition at line 658 of file TGo4AnalysisObjectManager.h.

Referenced by TGo4MbsHist::ScanGo4Folder(), and TGo4AnalysisObjectManager().

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

Event references folder name

Definition at line 679 of file TGo4AnalysisObjectManager.h.

Referenced by TGo4Sniffer::ScanRoot(), and TGo4AnalysisObjectManager().

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

Histograms folder name

Definition at line 655 of file TGo4AnalysisObjectManager.h.

Referenced by TGo4Sniffer::ScanRoot(), and TGo4AnalysisObjectManager().

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

Analysis user parameters folder name

Definition at line 664 of file TGo4AnalysisObjectManager.h.

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

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

Picture objects folder name

Definition at line 670 of file TGo4AnalysisObjectManager.h.

Referenced by LoadFolder(), TGo4MbsHist::ScanGo4Folder(), and TGo4AnalysisObjectManager().

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

Event processor reference folder name

Definition at line 688 of file TGo4AnalysisObjectManager.h.

Referenced by TGo4AnalysisObjectManager().

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

Event source reference folder name

Definition at line 682 of file TGo4AnalysisObjectManager.h.

Referenced by TGo4AnalysisObjectManager().

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

Event store reference folder name

Definition at line 685 of file TGo4AnalysisObjectManager.h.

Referenced by TGo4AnalysisObjectManager().

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

Temporary dummy folder name

Definition at line 694 of file TGo4AnalysisObjectManager.h.

Referenced by TGo4AnalysisObjectManager().

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

Default name of the default (toplevel) dynamic list

Definition at line 649 of file TGo4AnalysisObjectManager.h.

const char * TGo4AnalysisObjectManager::fgcTOPFOLDER = "Go4" [static]
const char * TGo4AnalysisObjectManager::fgcTREEFOLDER = "Trees" [static]

Tree reference folder name

Definition at line 667 of file TGo4AnalysisObjectManager.h.

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

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

User objects folder name

Definition at line 691 of file TGo4AnalysisObjectManager.h.

Referenced by TGo4Sniffer::ScanRoot(), and TGo4AnalysisObjectManager().

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 797 of file TGo4AnalysisObjectManager.h.

Referenced by CloseAnalysis(), and ProcessDynamicList().

Interval for dynamic list processing

Definition at line 802 of file TGo4AnalysisObjectManager.h.

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

Top Directory for all references to event classes.

Definition at line 770 of file TGo4AnalysisObjectManager.h.

Referenced by SaveObjects(), and TGo4AnalysisObjectManager().

Directory containing TCanvases.

Definition at line 745 of file TGo4AnalysisObjectManager.h.

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

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

Definition at line 714 of file TGo4AnalysisObjectManager.h.

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

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

Definition at line 725 of file TGo4AnalysisObjectManager.h.

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

Directory containing references to event structures.

Definition at line 765 of file TGo4AnalysisObjectManager.h.

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

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

Definition at line 708 of file TGo4AnalysisObjectManager.h.

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

Iterator for list of matching objects.

Definition at line 789 of file TGo4AnalysisObjectManager.h.

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

List of matching objects for name expression.

Definition at line 786 of file TGo4AnalysisObjectManager.h.

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

Directory containing the pictures.

Definition at line 740 of file TGo4AnalysisObjectManager.h.

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

Directory containing references to event processors.

Definition at line 760 of file TGo4AnalysisObjectManager.h.

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

Directory containing references to event sources.

Definition at line 755 of file TGo4AnalysisObjectManager.h.

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

Directory containing references to event stores.

Definition at line 750 of file TGo4AnalysisObjectManager.h.

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

Directory containing references to trees.

Definition at line 735 of file TGo4AnalysisObjectManager.h.

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


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines