GSI Object Oriented Online Offline (Go4) GO4-6.4.0
|
Singleton containing and managing the main tree of the go4 analysis. More...
#include <TGo4MainTree.h>
Public Member Functions | |
virtual | ~TGo4MainTree () |
Int_t | GetCurrentIndex () const |
Int_t | GetMaxIndex () |
Int_t | IncCurrentIndex () |
Increments current index in the main tree by one. | |
void | SetAutoSave (Int_t bytesinterval) |
Set the tree autosave byte interval. | |
void | SetCurrentIndex (Int_t number=0) |
void | Update () |
Update the tree entry information without processing any branch. | |
Int_t | Write (const char *dummy=nullptr, Int_t option=0, Int_t bufsize=0) const override |
Int_t | Write (const char *dummy=nullptr, Int_t option=0, Int_t bufsize=0) override |
Write tree content to file. | |
Static Public Member Functions | |
static Bool_t | Exists () |
True if instance of tree already exists. | |
static TGo4MainTree * | Instance () |
Static Public Attributes | |
static const char * | fgcFILENAME = "Go4MainTree.root" |
Standard suffix for file name. | |
static const char * | fgcTREENAME = "Main" |
Standard go4 name of the main tree. | |
static const Int_t | fgiAUTOSAVESIZE = 10000000 |
Default tree autosave size. | |
static const Int_t | fgiCOMPRESS = 5 |
Default compression level. | |
Protected Member Functions | |
TGo4MainTree () | |
TTree * | GetTree () const |
Access to the tree. | |
Private Attributes | |
Int_t | fiCurrentIndex {0} |
Index number of the current event. | |
Int_t | fiMaxIndex {0} |
Number of events stored in the Tree. | |
TFile * | fxFile {nullptr} |
TTree * | fxTree {nullptr} |
Static Private Attributes | |
static TGo4MainTree * | fxInstance = nullptr |
Friends | |
class | TGo4TreeSource |
class | TGo4TreeStore |
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.
Definition at line 33 of file TGo4MainTree.h.
|
protected |
Definition at line 29 of file TGo4MainTree.cxx.
References TGo4Log::Debug(), fgcFILENAME, fgcTREENAME, fgiAUTOSAVESIZE, fgiCOMPRESS, fiCurrentIndex, fiMaxIndex, fxFile, fxTree, GO4TRACE, and TGo4Log::Info().
Referenced by Instance().
|
virtual |
Definition at line 51 of file TGo4MainTree.cxx.
|
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 65 of file TGo4MainTree.h.
References fxInstance.
Referenced by TGo4AnalysisStepManager::AutoSave(), and TGo4AnalysisStepManager::ProcessAnalysisSteps().
|
inline |
Int_t TGo4MainTree::GetMaxIndex | ( | ) |
Definition at line 102 of file TGo4MainTree.cxx.
References fiMaxIndex, and fxTree.
Referenced by Update().
|
inlineprotected |
Access to the tree.
For friends only, i.e TreeSource and TreeStore.
Definition at line 40 of file TGo4MainTree.h.
References fxTree.
|
inline |
Increments current index in the main tree by one.
Returns the value of the index after incrementing. To be used by event loop controlling framework.
Definition at line 72 of file TGo4MainTree.h.
References fiCurrentIndex.
Referenced by Update().
|
static |
Definition at line 58 of file TGo4MainTree.cxx.
References TGo4MainTree(), fxInstance, and GO4TRACE.
Referenced by TGo4TreeStore::TGo4TreeStore(), TGo4TreeStore::TGo4TreeStore(), TGo4AnalysisStepManager::AutoSave(), TGo4TreeSource::Open(), TGo4AnalysisStepManager::ProcessAnalysisSteps(), and 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().
|
inline |
Definition at line 74 of file TGo4MainTree.h.
References fiCurrentIndex.
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().
|
override |
Definition at line 81 of file TGo4MainTree.cxx.
|
override |
Write tree content to file.
Definition at line 73 of file TGo4MainTree.cxx.
References fxFile, fxTree, and GO4TRACE.
Referenced by ~TGo4MainTree(), and TGo4AnalysisStepManager::AutoSave().
|
friend |
Definition at line 34 of file TGo4MainTree.h.
References TGo4TreeSource.
Referenced by TGo4TreeSource.
|
friend |
Definition at line 35 of file TGo4MainTree.h.
References TGo4TreeStore.
Referenced by TGo4TreeStore.
|
static |
Standard suffix for file name.
Definition at line 52 of file TGo4MainTree.h.
Referenced by TGo4MainTree().
|
static |
Standard go4 name of the main tree.
Definition at line 49 of file TGo4MainTree.h.
Referenced by TGo4MainTree().
|
static |
Default tree autosave size.
Definition at line 58 of file TGo4MainTree.h.
Referenced by TGo4MainTree().
|
static |
Default compression level.
Definition at line 55 of file TGo4MainTree.h.
Referenced by TGo4MainTree().
|
private |
Index number of the current event.
Definition at line 103 of file TGo4MainTree.h.
Referenced by TGo4MainTree(), GetCurrentIndex(), IncCurrentIndex(), and SetCurrentIndex().
|
private |
Number of events stored in the Tree.
Used to check if the complete tree is already read.
Definition at line 100 of file TGo4MainTree.h.
Referenced by TGo4MainTree(), and GetMaxIndex().
|
private |
Definition at line 94 of file TGo4MainTree.h.
Referenced by TGo4MainTree(), ~TGo4MainTree(), Write(), and Write().
|
staticprivate |
Definition at line 92 of file TGo4MainTree.h.
Referenced by Exists(), and Instance().
|
private |
Definition at line 96 of file TGo4MainTree.h.
Referenced by TGo4MainTree(), GetMaxIndex(), GetTree(), SetAutoSave(), Update(), Write(), and Write().