#include <TGo4FileStore.h>
Public Member Functions | |
TGo4FileStore () | |
TGo4FileStore (const char *name, Int_t splitlevel=1, Int_t compression=1, Bool_t overwrite=kFALSE, Int_t autosavesize=10000000, Int_t bufsize=64000) | |
TGo4FileStore (TGo4FileStoreParameter *par) | |
virtual | ~TGo4FileStore () |
virtual Int_t | Store (TGo4EventElement *event) |
virtual Int_t | Store (TGo4Parameter *cali) |
virtual Int_t | Store (TGo4Condition *conny) |
virtual Int_t | Store (TGo4Fitter *fitter) |
virtual Int_t | Store (TFolder *fold) |
void | SetCompression (Int_t comp) |
void | SetAutoSave (Int_t bytesinterval) |
virtual TTree * | GetTree () |
Static Public Member Functions | |
static void | SetMaxTreeSize (Long64_t sz) |
static Long64_t | GetMaxTreeSize () |
Static Public Attributes | |
static const char * | fgcEVBRANCHNAME = "Go4EventBranch." |
static const char * | fgcFILESUF = ".root" |
static const char * | fgcTREESUF = "xTree" |
static Long64_t | fgiFILESPLITSIZE = 1900000000 |
Private Member Functions | |
void | WriteToStore (TNamed *ob) |
Private Attributes | |
TFile * | fxFile |
TTree * | fxTree |
Bool_t | fbBranchExists |
TGo4EventElement * | fxEvent |
Int_t | fiSplit |
Int_t | fiBufsize |
Int_t | fiFillCount |
Event store which fills entries to an own root TTree in a TFile. In contrast to TreeStore, we do not use the main go4 tree, but an independent one which need not correspond with the entry indices of all previous events. Disadvantage: difficult to correlate to input events; advantage: one entry of this tree may be composed from several subsequent input event entries...
Definition at line 36 of file TGo4FileStore.h.
TGo4FileStore::TGo4FileStore | ( | ) |
Definition at line 34 of file TGo4FileStore.cxx.
References fgiFILESPLITSIZE, GO4TRACE, and SetMaxTreeSize().
TGo4FileStore::TGo4FileStore | ( | const char * | name, | |
Int_t | splitlevel = 1 , |
|||
Int_t | compression = 1 , |
|||
Bool_t | overwrite = kFALSE , |
|||
Int_t | autosavesize = 10000000 , |
|||
Int_t | bufsize = 64000 | |||
) |
Definition at line 50 of file TGo4FileStore.cxx.
References TGo4Log::Debug(), fgcFILESUF, fgcTREESUF, fgiFILESPLITSIZE, fiFillCount, fxFile, fxTree, GO4TRACE, TGo4Log::Info(), and SetMaxTreeSize().
TGo4FileStore::TGo4FileStore | ( | TGo4FileStoreParameter * | par | ) |
Definition at line 103 of file TGo4FileStore.cxx.
References TGo4Log::Debug(), TGo4Log::Error(), fgcFILESUF, fgcTREESUF, fgiFILESPLITSIZE, fiBufsize, fiFillCount, fiSplit, fxFile, fxTree, TGo4FileStoreParameter::GetAutosaveSize(), TGo4FileStoreParameter::GetBufsize(), TGo4FileStoreParameter::GetCompression(), TGo4FileStoreParameter::GetSplitlevel(), GO4TRACE, TGo4Log::Info(), TGo4FileStoreParameter::IsOverwriteMode(), and SetMaxTreeSize().
TGo4FileStore::~TGo4FileStore | ( | ) | [virtual] |
Definition at line 159 of file TGo4FileStore.cxx.
Long64_t TGo4FileStore::GetMaxTreeSize | ( | ) | [static] |
Definition at line 267 of file TGo4FileStore.cxx.
References fgiFILESPLITSIZE.
virtual TTree* TGo4FileStore::GetTree | ( | ) | [inline, virtual] |
Access to the Tree structure, for framework
Reimplemented from TGo4EventStore.
Definition at line 92 of file TGo4FileStore.h.
References fxTree.
void TGo4FileStore::SetAutoSave | ( | Int_t | bytesinterval | ) |
Set the tree autosave byte interval. May be changed on the fly.
Definition at line 172 of file TGo4FileStore.cxx.
void TGo4FileStore::SetCompression | ( | Int_t | comp | ) |
Set the file compression level. May be changed on the fly.
Definition at line 178 of file TGo4FileStore.cxx.
void TGo4FileStore::SetMaxTreeSize | ( | Long64_t | sz | ) | [static] |
Definition at line 262 of file TGo4FileStore.cxx.
References fgiFILESPLITSIZE.
Referenced by main(), and TGo4FileStore().
Int_t TGo4FileStore::Store | ( | TGo4EventElement * | event | ) | [virtual] |
Stores eventelement event into the storage implementation. May be a file, a root tree, a socket to a viewer...
Implements TGo4EventStore.
Definition at line 184 of file TGo4FileStore.cxx.
References TGo4Log::Debug(), fbBranchExists, fgcEVBRANCHNAME, fiBufsize, fiFillCount, fiSplit, fxEvent, fxTree, and GO4TRACE.
Int_t TGo4FileStore::Store | ( | TGo4Condition * | conny | ) | [virtual] |
Saves a condition correllated with the current event into the storage.
Reimplemented from TGo4EventStore.
Definition at line 228 of file TGo4FileStore.cxx.
References WriteToStore().
Int_t TGo4FileStore::Store | ( | TFolder * | fold | ) | [virtual] |
Saves a complete objects folder correllated with the current event into the storage.
Reimplemented from TGo4EventStore.
Definition at line 240 of file TGo4FileStore.cxx.
References WriteToStore().
Int_t TGo4FileStore::Store | ( | TGo4Fitter * | fitter | ) | [virtual] |
Saves a fitter correllated with the current event into the storage.
Reimplemented from TGo4EventStore.
Definition at line 234 of file TGo4FileStore.cxx.
References WriteToStore().
Int_t TGo4FileStore::Store | ( | TGo4Parameter * | cali | ) | [virtual] |
Saves a calibration object correllated with the current event into the storage.
Reimplemented from TGo4EventStore.
Definition at line 222 of file TGo4FileStore.cxx.
References WriteToStore().
void TGo4FileStore::WriteToStore | ( | TNamed * | ob | ) | [private] |
used by all Store methods to write with referencing event number in name
Definition at line 248 of file TGo4FileStore.cxx.
References fiFillCount, fxFile, and fxTree.
Referenced by Store().
Bool_t TGo4FileStore::fbBranchExists [private] |
True if branch already exists. Used for automatic creation of new event branch within Store method.
Definition at line 105 of file TGo4FileStore.h.
Referenced by Store().
const char * TGo4FileStore::fgcEVBRANCHNAME = "Go4EventBranch." [static] |
Standard go4 name of the branch used in all treestore and treesource implementations.
Definition at line 80 of file TGo4FileStore.h.
Referenced by Store().
const char * TGo4FileStore::fgcFILESUF = ".root" [static] |
Standard suffix for file name
Definition at line 83 of file TGo4FileStore.h.
Referenced by TGo4FileSource::ProducesFilesList(), and TGo4FileStore().
const char * TGo4FileStore::fgcTREESUF = "xTree" [static] |
Standard go4 suffix for tree name
Definition at line 86 of file TGo4FileStore.h.
Referenced by TGo4FileStore().
Long64_t TGo4FileStore::fgiFILESPLITSIZE = 1900000000 [static] |
size in bytes for root tree-filesplit mechanism.
Definition at line 89 of file TGo4FileStore.h.
Referenced by GetMaxTreeSize(), SetMaxTreeSize(), and TGo4FileStore().
Int_t TGo4FileStore::fiBufsize [private] |
buffer size for tree branch.
Definition at line 114 of file TGo4FileStore.h.
Referenced by Store(), and TGo4FileStore().
Int_t TGo4FileStore::fiFillCount [private] |
counter of filled events.
Definition at line 117 of file TGo4FileStore.h.
Referenced by Store(), TGo4FileStore(), and WriteToStore().
Int_t TGo4FileStore::fiSplit [private] |
TBranch splitlevel.
Definition at line 111 of file TGo4FileStore.h.
Referenced by Store(), and TGo4FileStore().
TGo4EventElement* TGo4FileStore::fxEvent [private] |
Points to event structure to be filled into branch.
Definition at line 108 of file TGo4FileStore.h.
Referenced by Store().
TFile* TGo4FileStore::fxFile [private] |
Definition at line 99 of file TGo4FileStore.h.
Referenced by SetCompression(), TGo4FileStore(), WriteToStore(), and ~TGo4FileStore().
TTree* TGo4FileStore::fxTree [private] |
Definition at line 101 of file TGo4FileStore.h.
Referenced by GetTree(), SetAutoSave(), Store(), TGo4FileStore(), WriteToStore(), and ~TGo4FileStore().