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

TGo4DynamicList Class Reference

Aggregate which is responsible for the dynamically created analysis objects like histograms. More...

#include <TGo4DynamicList.h>

Inheritance diagram for TGo4DynamicList:

TGo4DynamicEntry List of all members.

Public Methods

 TGo4DynamicList ()
 default ctor for streamer. More...

 TGo4DynamicList (const Text_t *name)
virtual ~TGo4DynamicList ()
TNamed * GetObject (const Text_t *name)
 Get the object which is kept in the list entry by name. More...

TGo4DynamicEntryGetEntry (const Text_t *name)
 Returns the list entry instance of the name. More...

void DeleteEntry (const Text_t *name)
 The list entry of name is removed from list; all heap objects are deleted. More...

Bool_t AddEntry (TGo4DynamicEntry *en)
 An external dynamic entry object is added to the list. More...

virtual Int_t Process ()
 Iterates all entries of the list and processes the objects, depending on coordinate values and analysis condition. More...

virtual void Clear (Option_t *option="")
 Removes all entries and deletes them. More...

Bool_t IsEmpty () const
 Check if there are any entries in the list. More...

TGo4DynamicEntryStatusCreateStatus ()
 Create a status object containing information such as the object names. More...

virtual void Reset ()
 Resets this entry to an initial status. More...

void ResetIterator ()
 Resets internal list iterator. More...

TGo4DynamicEntryNextEntry ()
 Delivers next entry in list. More...

virtual void CleanupCondition (TGo4Condition *con)
 Remove reference to condition con from all dynamic list entries. More...

virtual void CleanupHistogram (TH1 *his)
 Remove reference to histogram his from all dynamic list entries. More...

virtual void SetStatus (TGo4DynamicEntryStatus *state)
 Set this dynamic entry to the values of status object state. More...

virtual Bool_t SetEntryStatus (const Text_t *name, TGo4DynamicEntryStatus *state)
 Set dynamic entry of name to the given entry status. More...

TGo4DynamicEntryStatusCreateEntryStatus (const Text_t *name)
 Creates an entry status object for entry of name and returns it. More...

virtual void CleanupEvent (TGo4EventElement *ev)
 If event ev matches one internal event, the reference to event will be reset to 0. More...


Private Methods

void UpdateStatus (TGo4DynamicEntryStatus *state)
 Create a status object containing information such as the object names. More...


Private Attributes

TObjArray * fxList
 array to keep the list dynamic list entries. More...

TMutex * fxListMutex
 mutex protecting the dynamic list. More...

TIterator * fxListIterator
TFolder * fxTempFolder
 temporary folder for status creation. More...


Detailed Description

Aggregate which is responsible for the dynamically created analysis objects like histograms.

Dynamic list may contain other dynamic lists, which are processed iteratively.

Author:
J. Adamczewski
Since:
1/2001

Definition at line 41 of file TGo4DynamicList.h.


Constructor & Destructor Documentation

TGo4DynamicList::TGo4DynamicList  
 

default ctor for streamer.

Definition at line 43 of file TGo4DynamicList.cxx.

References TRACE.

TGo4DynamicList::TGo4DynamicList const Text_t *    name
 

Definition at line 31 of file TGo4DynamicList.cxx.

References fxList, fxListIterator, fxListMutex, fxTempFolder, and TRACE.

TGo4DynamicList::~TGo4DynamicList   [virtual]
 

Definition at line 51 of file TGo4DynamicList.cxx.

References fxList, fxListIterator, fxListMutex, fxTempFolder, and TRACE.


Member Function Documentation

TNamed * TGo4DynamicList::GetObject const Text_t *    name
 

Get the object which is kept in the list entry by name.

Returns 0 if no such name.

Definition at line 146 of file TGo4DynamicList.cxx.

References TRACE.

TGo4DynamicEntry * TGo4DynamicList::GetEntry const Text_t *    name
 

Returns the list entry instance of the name.

Definition at line 136 of file TGo4DynamicList.cxx.

References fxList, and TRACE.

Referenced by AddEntry(), TGo4AnalysisObjectManager::ClearObjects(), CreateEntryStatus(), and SetEntryStatus().

void TGo4DynamicList::DeleteEntry const Text_t *    name
 

The list entry of name is removed from list; all heap objects are deleted.

Definition at line 127 of file TGo4DynamicList.cxx.

References fxList, and TRACE.

Referenced by TGo4AnalysisObjectManager::PutToFolder(), and TGo4AnalysisObjectManager::RemoveDynamicEntry().

Bool_t TGo4DynamicList::AddEntry TGo4DynamicEntry   en
 

An external dynamic entry object is added to the list.

Responsibility for the entry is passed to the list, i.e. it should not be deleted from outside.

Definition at line 103 of file TGo4DynamicList.cxx.

References fxList, GetEntry(), and TRACE.

Referenced by TGo4AnalysisObjectManager::AddDynamicHistogram(), TGo4AnalysisObjectManager::AddTreeHistogram(), TGo4AnalysisObjectManager::PutToFolder(), and SetEntryStatus().

Int_t TGo4DynamicList::Process   [virtual]
 

Iterates all entries of the list and processes the objects, depending on coordinate values and analysis condition.

Implements TGo4DynamicEntry.

Definition at line 71 of file TGo4DynamicList.cxx.

References NextEntry(), TGo4DynamicEntry::Process(), ResetIterator(), and TRACE.

Referenced by TGo4AnalysisObjectManager::ProcessDynamicList().

void TGo4DynamicList::Clear Option_t *    option = "" [virtual]
 

Removes all entries and deletes them.

Definition at line 157 of file TGo4DynamicList.cxx.

References fxList, Reset(), and TRACE.

Bool_t TGo4DynamicList::IsEmpty   const [inline]
 

Check if there are any entries in the list.

Definition at line 72 of file TGo4DynamicList.h.

References fxList.

Referenced by TGo4AnalysisObjectManager::ProcessDynamicList().

void TGo4DynamicList::UpdateStatus TGo4DynamicEntryStatus   state [private, virtual]
 

Create a status object containing information such as the object names.

Can be sent to the Display to show the existing objects and their relations. Memento mechanism is _not_ provided here, since we would not change the object names afterwards.

Reimplemented from TGo4DynamicEntry.

Definition at line 170 of file TGo4DynamicList.cxx.

References TGo4DynamicEntry::CreateStatus(), TGo4DynamicListStatus::fxFolder, fxTempFolder, NextEntry(), ResetIterator(), TRACE, and TGo4DynamicEntry::UpdateStatus().

Referenced by CreateStatus().

TGo4DynamicEntryStatus * TGo4DynamicList::CreateStatus   [virtual]
 

Create a status object containing information such as the object names.

Can be sent to the Display to show the existing objects and their relations. Memento mechanism is _not_ provided here, since we would not change the object names afterwards.

Implements TGo4DynamicEntry.

Definition at line 210 of file TGo4DynamicList.cxx.

References TRACE, and UpdateStatus().

Referenced by TGo4AnalysisObjectManager::CreateNamesFolder(), and TGo4AnalysisObjectManager::PrintDynamicList().

void TGo4DynamicList::Reset   [virtual]
 

Resets this entry to an initial status.

Reimplemented from TGo4DynamicEntry.

Definition at line 219 of file TGo4DynamicList.cxx.

References NextEntry(), TGo4DynamicEntry::Reset(), ResetIterator(), and TRACE.

Referenced by Clear(), TGo4AnalysisObjectManager::CloseAnalysis(), TGo4AnalysisObjectManager::LoadObjects(), TGo4AnalysisObjectManager::PutToFolder(), TGo4Analysis::RemoveTree(), and TGo4AnalysisObjectManager::ResetCurrentDynList().

void TGo4DynamicList::ResetIterator  
 

Resets internal list iterator.

Definition at line 328 of file TGo4DynamicList.cxx.

References fxList, and fxListIterator.

Referenced by CleanupCondition(), CleanupEvent(), CleanupHistogram(), Process(), TGo4AnalysisObjectManager::RemoveFromDir(), Reset(), TGo4AnalysisObjectManager::SaveFolder(), and UpdateStatus().

TGo4DynamicEntry * TGo4DynamicList::NextEntry  
 

Delivers next entry in list.

0 if no more entry

Definition at line 338 of file TGo4DynamicList.cxx.

References fxListIterator.

Referenced by CleanupCondition(), CleanupEvent(), CleanupHistogram(), Process(), TGo4AnalysisObjectManager::RemoveFromDir(), Reset(), TGo4AnalysisObjectManager::SaveFolder(), and UpdateStatus().

void TGo4DynamicList::CleanupCondition TGo4Condition   con [virtual]
 

Remove reference to condition con from all dynamic list entries.

Reimplemented from TGo4DynamicEntry.

Definition at line 232 of file TGo4DynamicList.cxx.

References TGo4DynamicEntry::CleanupCondition(), NextEntry(), ResetIterator(), and TRACE.

Referenced by TGo4AnalysisObjectManager::CleanupDynamicLists().

void TGo4DynamicList::CleanupHistogram TH1 *    his [virtual]
 

Remove reference to histogram his from all dynamic list entries.

Reimplemented from TGo4DynamicEntry.

Definition at line 245 of file TGo4DynamicList.cxx.

References TGo4DynamicEntry::CleanupHistogram(), NextEntry(), and ResetIterator().

Referenced by TGo4AnalysisObjectManager::CleanupDynamicLists().

void TGo4DynamicList::SetStatus TGo4DynamicEntryStatus   state [virtual]
 

Set this dynamic entry to the values of status object state.

Reimplemented from TGo4DynamicEntry.

Definition at line 257 of file TGo4DynamicList.cxx.

References TGo4DynamicListStatus::GetTopFolder(), SetEntryStatus(), and TGo4DynamicEntry::SetStatus().

Referenced by TGo4DynamicListStatus::CreateDynamicEntry().

Bool_t TGo4DynamicList::SetEntryStatus const Text_t *    name,
TGo4DynamicEntryStatus   state
[virtual]
 

Set dynamic entry of name to the given entry status.

Definition at line 285 of file TGo4DynamicList.cxx.

References AddEntry(), TGo4DynamicEntryStatus::CreateDynamicEntry(), GetEntry(), TGo4DynamicEntry::SetStatus(), and TRACE.

Referenced by TGo4AnalysisObjectManager::SetDynamicEntryStatus(), and SetStatus().

TGo4DynamicEntryStatus * TGo4DynamicList::CreateEntryStatus const Text_t *    name
 

Creates an entry status object for entry of name and returns it.

Definition at line 304 of file TGo4DynamicList.cxx.

References TGo4DynamicEntry::CreateStatus(), GetEntry(), and TRACE.

Referenced by TGo4ComGetDynamicEntryStatus::ExeCom().

void TGo4DynamicList::CleanupEvent TGo4EventElement   ev [virtual]
 

If event ev matches one internal event, the reference to event will be reset to 0.

This is used when external event is deleted to avoid dead pointers. May be overloaded if subclasses also keep pointers to event structures.

Reimplemented from TGo4DynamicEntry.

Definition at line 314 of file TGo4DynamicList.cxx.

References TGo4DynamicEntry::CleanupEvent(), NextEntry(), ResetIterator(), and TRACE.

Referenced by TGo4AnalysisObjectManager::CleanupDynamicLists(), and TGo4AnalysisObjectManager::RemoveEventStructure().


Member Data Documentation

TObjArray* TGo4DynamicList::fxList [private]
 

array to keep the list dynamic list entries.

Definition at line 82 of file TGo4DynamicList.h.

Referenced by AddEntry(), Clear(), DeleteEntry(), GetEntry(), IsEmpty(), ResetIterator(), TGo4DynamicList(), and ~TGo4DynamicList().

TMutex* TGo4DynamicList::fxListMutex [private]
 

mutex protecting the dynamic list.

Definition at line 85 of file TGo4DynamicList.h.

Referenced by TGo4DynamicList(), and ~TGo4DynamicList().

TIterator* TGo4DynamicList::fxListIterator [private]
 

Definition at line 87 of file TGo4DynamicList.h.

Referenced by NextEntry(), ResetIterator(), TGo4DynamicList(), and ~TGo4DynamicList().

TFolder* TGo4DynamicList::fxTempFolder [private]
 

temporary folder for status creation.

Definition at line 90 of file TGo4DynamicList.h.

Referenced by TGo4DynamicList(), UpdateStatus(), and ~TGo4DynamicList().


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