GSI Object Oriented Online Offline (Go4)  GO4-6.3.0
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
TGo4MainTree Class Reference

#include <TGo4MainTree.h>

+ Inheritance diagram for TGo4MainTree:

Public Member Functions

virtual ~TGo4MainTree ()
 
Int_t GetCurrentIndex () const
 
Int_t IncCurrentIndex ()
 
void SetCurrentIndex (Int_t number=0)
 
Int_t GetMaxIndex ()
 
void SetAutoSave (Int_t bytesinterval)
 
void Update ()
 
Int_t Write (const char *dummy=nullptr, Int_t option=0, Int_t bufsize=0) override
 
Int_t Write (const char *dummy=nullptr, Int_t option=0, Int_t bufsize=0) const override
 

Static Public Member Functions

static TGo4MainTreeInstance ()
 
static Bool_t Exists ()
 

Static Public Attributes

static const char * fgcTREENAME = "Main"
 
static const char * fgcFILENAME = "Go4MainTree.root"
 
static const Int_t fgiCOMPRESS = 5
 
static const Int_t fgiAUTOSAVESIZE = 10000000
 

Protected Member Functions

TTree * GetTree () const
 
 TGo4MainTree ()
 

Private Attributes

TFile * fxFile {nullptr}
 
TTree * fxTree {nullptr}
 
Int_t fiMaxIndex {0}
 
Int_t fiCurrentIndex {0}
 

Static Private Attributes

static TGo4MainTreefxInstance = nullptr
 

Friends

class TGo4TreeSource
 
class TGo4TreeStore
 

Detailed Description

Singleton containing and managing the main tree of the go4 analysis. All analysis steps may get and save their events as branches of this tree. The treesource and treestore instances are managing just one branch of this tree for each of their subevents. Branches of this tree might be saved into different root files.

Author
J. Adamczewski
Since
16-feb-2001

Definition at line 32 of file TGo4MainTree.h.

Constructor & Destructor Documentation

◆ TGo4MainTree()

TGo4MainTree::TGo4MainTree ( )
protected

◆ ~TGo4MainTree()

TGo4MainTree::~TGo4MainTree ( )
virtual

Definition at line 51 of file TGo4MainTree.cxx.

References fxFile, GO4TRACE, and Write().

Referenced by GetTree().

Member Function Documentation

◆ Exists()

static Bool_t TGo4MainTree::Exists ( )
inlinestatic

True if instance of tree already exists. Used by framework to check if MainTree was created by any treestore/source instance, before the instance is requested. Otherwise framework would create maintree without need.

Definition at line 64 of file TGo4MainTree.h.

References fxInstance.

Referenced by TGo4AnalysisStepManager::AutoSave(), and TGo4AnalysisStepManager::ProcessAnalysisSteps().

◆ GetCurrentIndex()

Int_t TGo4MainTree::GetCurrentIndex ( ) const
inline

◆ GetMaxIndex()

Int_t TGo4MainTree::GetMaxIndex ( )

Definition at line 102 of file TGo4MainTree.cxx.

References fiMaxIndex, and fxTree.

Referenced by SetCurrentIndex(), Update(), and TGo4TreeSource::~TGo4TreeSource().

◆ GetTree()

TTree* TGo4MainTree::GetTree ( ) const
inlineprotected

Access to the tree. For friends only, i.e TreeSource and TreeStore.

Definition at line 39 of file TGo4MainTree.h.

References fxTree, TGo4MainTree(), and ~TGo4MainTree().

Referenced by TGo4TreeSource::Open(), and TGo4TreeStore::TGo4TreeStore().

◆ IncCurrentIndex()

Int_t TGo4MainTree::IncCurrentIndex ( )
inline

Increments current index in the main tree by one. Returns the value of the index after incrementation. To be used by event loop controlling framework.

Definition at line 71 of file TGo4MainTree.h.

References fiCurrentIndex.

Referenced by Update().

◆ Instance()

TGo4MainTree * TGo4MainTree::Instance ( )
static

◆ SetAutoSave()

void TGo4MainTree::SetAutoSave ( Int_t  bytesinterval)

Set the tree autosave byte interval. May be changed on the fly.

Definition at line 66 of file TGo4MainTree.cxx.

References fxTree, GO4TRACE, and Instance().

Referenced by SetCurrentIndex().

◆ SetCurrentIndex()

void TGo4MainTree::SetCurrentIndex ( Int_t  number = 0)
inline

Definition at line 73 of file TGo4MainTree.h.

References fiCurrentIndex, GetMaxIndex(), SetAutoSave(), Update(), and Write().

◆ Update()

void TGo4MainTree::Update ( )

Update the tree entry information without processing any branch. i.e. increment the entry counter with all branches disabled. To be called by framework once within the event loop.

Definition at line 89 of file TGo4MainTree.cxx.

References fxTree, GetCurrentIndex(), GetMaxIndex(), GO4TRACE, and IncCurrentIndex().

Referenced by TGo4AnalysisStepManager::ProcessAnalysisSteps(), and SetCurrentIndex().

◆ Write() [1/2]

Int_t TGo4MainTree::Write ( const char *  dummy = nullptr,
Int_t  option = 0,
Int_t  bufsize = 0 
)
override

Write tree content to file.

Definition at line 73 of file TGo4MainTree.cxx.

References fxFile, fxTree, and GO4TRACE.

Referenced by TGo4AnalysisStepManager::AutoSave(), SetCurrentIndex(), and ~TGo4MainTree().

◆ Write() [2/2]

Int_t TGo4MainTree::Write ( const char *  dummy = nullptr,
Int_t  option = 0,
Int_t  bufsize = 0 
) const
override

Definition at line 81 of file TGo4MainTree.cxx.

References fxFile, fxTree, and GO4TRACE.

Friends And Related Function Documentation

◆ TGo4TreeSource

friend class TGo4TreeSource
friend

Definition at line 33 of file TGo4MainTree.h.

◆ TGo4TreeStore

friend class TGo4TreeStore
friend

Definition at line 34 of file TGo4MainTree.h.

Member Data Documentation

◆ fgcFILENAME

const char * TGo4MainTree::fgcFILENAME = "Go4MainTree.root"
static

Standard suffix for file name

Definition at line 51 of file TGo4MainTree.h.

Referenced by TGo4MainTree().

◆ fgcTREENAME

const char * TGo4MainTree::fgcTREENAME = "Main"
static

Standard go4 name of the main tree

Definition at line 48 of file TGo4MainTree.h.

Referenced by TGo4MainTree().

◆ fgiAUTOSAVESIZE

const Int_t TGo4MainTree::fgiAUTOSAVESIZE = 10000000
static

Default tree autosave size

Definition at line 57 of file TGo4MainTree.h.

Referenced by TGo4MainTree().

◆ fgiCOMPRESS

const Int_t TGo4MainTree::fgiCOMPRESS = 5
static

Default compression level

Definition at line 54 of file TGo4MainTree.h.

Referenced by TGo4MainTree().

◆ fiCurrentIndex

Int_t TGo4MainTree::fiCurrentIndex {0}
private

Index number of the current event.

Definition at line 102 of file TGo4MainTree.h.

Referenced by GetCurrentIndex(), IncCurrentIndex(), and SetCurrentIndex().

◆ fiMaxIndex

Int_t TGo4MainTree::fiMaxIndex {0}
private

Number of events stored in the Tree. Used to check if the complete tree is already read.

Definition at line 99 of file TGo4MainTree.h.

Referenced by GetMaxIndex(), and TGo4MainTree().

◆ fxFile

TFile* TGo4MainTree::fxFile {nullptr}
private

Definition at line 93 of file TGo4MainTree.h.

Referenced by TGo4TreeStore::Store(), TGo4MainTree(), Write(), and ~TGo4MainTree().

◆ fxInstance

TGo4MainTree * TGo4MainTree::fxInstance = nullptr
staticprivate

Definition at line 91 of file TGo4MainTree.h.

Referenced by Exists(), and Instance().

◆ fxTree

TTree* TGo4MainTree::fxTree {nullptr}
private

Definition at line 95 of file TGo4MainTree.h.

Referenced by GetMaxIndex(), GetTree(), SetAutoSave(), TGo4MainTree(), Update(), and Write().


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