GSI Object Oriented Online Offline (Go4) GO4-6.4.5
Loading...
Searching...
No Matches
TGo4TreeStore.h
Go to the documentation of this file.
1// $Id$
2//-----------------------------------------------------------------------
3// The GSI Online Offline Object Oriented (Go4) Project
4// Experiment Data Processing at EE department, GSI
5//-----------------------------------------------------------------------
6// Copyright (C) 2000- GSI Helmholtzzentrum fuer Schwerionenforschung GmbH
7// Planckstr. 1, 64291 Darmstadt, Germany
8// Contact: http://go4.gsi.de
9//-----------------------------------------------------------------------
10// This software can be used under the license agreements as stated
11// in Go4License.txt file which is part of the distribution.
12//-----------------------------------------------------------------------
13
14#ifndef TGO4TREESTORE_H
15#define TGO4TREESTORE_H
16
17#include "TGo4EventStore.h"
18
19class TFile;
20class TTree;
21class TBranch;
22class TGo4MainTree;
24class TGo4Parameter;
27
41class TGo4TreeStore : public TGo4EventStore {
42 public:
43
44 TGo4TreeStore(const char *name,
45 TGo4EventElement *event,
46 Int_t splitlevel = 1,
47 Int_t bufsize = 64000,
48 const char *filename = nullptr,
49 Int_t compression = 5);
50
52
54
55 virtual ~TGo4TreeStore();
56
59
62 Int_t Store(TGo4EventElement *event) override;
63
65 void SetCompression(Int_t comp);
66
69 Int_t Store(TGo4Parameter *cali) override;
70
72 static const char *fgcFILESUF;
73
74 private:
75
78 TFile *fxFile{nullptr};
79
84
86 TTree *fxTree{nullptr};
87
89 TBranch *fxBranch{nullptr};
90
92 TGo4EventElement *fxEvent{nullptr};
93
95 TGo4EventCalibration *fxCalibration{nullptr};
96
98 TString fcEventClass;
99
101 Int_t fiSplit{0};
102
104 Int_t fiBufsize{0};
105
106 ClassDefOverride(TGo4TreeStore,1)
107};
108
109#endif //TGO4TREESTORE_H
Data object for calibration of the input event.
The abstract base class for the data elements of which the unpacked events (or detector structure dat...
The abstract interface class for the raw event store.
virtual Int_t Store(TGo4EventElement *event)=0
Stores eventelement event into the storage implementation.
Singleton containing and managing the main tree of the go4 analysis.
Base class for all parameter aggregations, e.g.
Go4 TTree storage.
TFile * fxFile
Optional file where our branches are located.
virtual ~TGo4TreeStore()
TGo4EventCalibration * fxCalibration
Points to calibration structure to be filled into branch.
void SetCompression(Int_t comp)
Set the file compression level.
TString fcEventClass
Class name of the event associated with this store.
TGo4TreeStore(TGo4TreeStoreParameter *par, TGo4EventElement *event)
Int_t Store(TGo4EventElement *event) override
Stores eventelement event into the storage implementation.
TGo4MainTree * fxSingletonTree
Reference to external tree singleton wrapper instance.
TTree * fxTree
Reference to the external main tree.
TBranch * fxBranch
The branch representing our store.
Int_t fiSplit
TBranch splitlevel.
TGo4EventElement * fxEvent
Points to event structure to be filled into branch.
TGo4TreeStore(const char *name, TGo4EventElement *event, Int_t splitlevel=1, Int_t bufsize=64000, const char *filename=nullptr, Int_t compression=5)
static const char * fgcFILESUF
Standard suffix for file name.
Int_t Store(TGo4Parameter *cali) override
Saves a calibration object correlated with the current event into the storage.
Int_t fiBufsize
buffer size for tree branch.