GSI Object Oriented Online Offline (Go4)  GO4-5.3.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
TGo4FileStore Class Reference

#include <TGo4FileStore.h>

+ Inheritance diagram for TGo4FileStore:

Public Member Functions

 TGo4FileStore ()
 
 TGo4FileStore (const char *name, Int_t splitlevel=1, Int_t compression=1, Bool_t overwrite=kFALSE, Int_t autosavesize=10000, 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 interval)
 
virtual TTree * GetTree ()
 
- Public Member Functions inherited from TGo4EventStore
 TGo4EventStore ()
 
 TGo4EventStore (const char *name)
 
virtual ~TGo4EventStore ()
 
virtual void Clear (Option_t *opt="")
 

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
 
TGo4EventElementfxEvent
 
Int_t fiSplit
 
Int_t fiBufsize
 
Int_t fiFillCount
 

Additional Inherited Members

- Protected Types inherited from TGo4EventStore
enum  { fguTXTLEN = 256 }
 

Detailed Description

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...

Author
J. Adamczewski
Since
1/2001

Definition at line 36 of file TGo4FileStore.h.

Constructor & Destructor Documentation

TGo4FileStore::TGo4FileStore ( )

Definition at line 33 of file TGo4FileStore.cxx.

References fgiFILESPLITSIZE, and GO4TRACE.

TGo4FileStore::TGo4FileStore ( const char *  name,
Int_t  splitlevel = 1,
Int_t  compression = 1,
Bool_t  overwrite = kFALSE,
Int_t  autosavesize = 10000,
Int_t  bufsize = 64000 
)
TGo4FileStore::TGo4FileStore ( TGo4FileStoreParameter par)
TGo4FileStore::~TGo4FileStore ( )
virtual

Definition at line 158 of file TGo4FileStore.cxx.

References fxFile, fxTree, and GO4TRACE.

Member Function Documentation

Long64_t TGo4FileStore::GetMaxTreeSize ( )
static

Definition at line 265 of file TGo4FileStore.cxx.

References fgiFILESPLITSIZE.

virtual TTree* TGo4FileStore::GetTree ( )
inlinevirtual

Access to the Tree structure, for framework

Reimplemented from TGo4EventStore.

Definition at line 93 of file TGo4FileStore.h.

References fxTree.

void TGo4FileStore::SetAutoSave ( Int_t  interval)

Set the tree autosave interval. May be changed on the fly. for new ROOT versions: interval>0 means number of entries, interval<0: number of bytes

Definition at line 171 of file TGo4FileStore.cxx.

References fxTree, and GO4TRACE.

void TGo4FileStore::SetCompression ( Int_t  comp)

Set the file compression level. May be changed on the fly.

Definition at line 177 of file TGo4FileStore.cxx.

References fxFile, and GO4TRACE.

void TGo4FileStore::SetMaxTreeSize ( Long64_t  sz)
static

Definition at line 260 of file TGo4FileStore.cxx.

References fgiFILESPLITSIZE.

Referenced by main().

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 183 of file TGo4FileStore.cxx.

References TGo4Log::Debug(), fbBranchExists, fgcEVBRANCHNAME, fiBufsize, fiFillCount, fiSplit, fxEvent, fxTree, GO4TRACE, and TGo4EventElement::makeBranch().

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 220 of file TGo4FileStore.cxx.

References WriteToStore().

Int_t TGo4FileStore::Store ( TGo4Condition conny)
virtual

Saves a condition correllated with the current event into the storage.

Reimplemented from TGo4EventStore.

Definition at line 226 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 232 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 238 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 246 of file TGo4FileStore.cxx.

References fiFillCount, fxFile, and fxTree.

Referenced by Store().

Member Data Documentation

Bool_t TGo4FileStore::fbBranchExists
private

True if branch already exists. Used for automatic creation of new event branch within Store method.

Definition at line 106 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 81 of file TGo4FileStore.h.

Referenced by Store().

const char * TGo4FileStore::fgcFILESUF = ".root"
static

Standard suffix for file name

Definition at line 84 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 87 of file TGo4FileStore.h.

Referenced by TGo4FileStore().

Long64_t TGo4FileStore::fgiFILESPLITSIZE = 1900000000
static

size in bytes for root tree-filesplit mechanism.

Definition at line 90 of file TGo4FileStore.h.

Referenced by GetMaxTreeSize(), SetMaxTreeSize(), and TGo4FileStore().

Int_t TGo4FileStore::fiBufsize
private

buffer size for tree branch.

Definition at line 115 of file TGo4FileStore.h.

Referenced by Store(), and TGo4FileStore().

Int_t TGo4FileStore::fiFillCount
private

counter of filled events.

Definition at line 118 of file TGo4FileStore.h.

Referenced by Store(), TGo4FileStore(), and WriteToStore().

Int_t TGo4FileStore::fiSplit
private

TBranch splitlevel.

Definition at line 112 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 109 of file TGo4FileStore.h.

Referenced by Store().

TFile* TGo4FileStore::fxFile
private

Definition at line 100 of file TGo4FileStore.h.

Referenced by SetCompression(), TGo4FileStore(), WriteToStore(), and ~TGo4FileStore().

TTree* TGo4FileStore::fxTree
private

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