GSI Object Oriented Online Offline (Go4)  GO4-6.3.0
TGo4MbsHist.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 TGO4MBSHIST_H
15 #define TGO4MBSHIST_H
16 
17 #include "TObject.h"
18 
19 extern "C" {
20  #include "s_his_head.h"
21 }
22 
23 class TFolder;
24 class TH1;
25 
30 class TGo4MbsHist : public TObject {
31  public:
32 
33  TGo4MbsHist();
34 
38  TGo4MbsHist(TH1 *histo);
39 
43  TGo4MbsHist(TFolder *histofolder, const char *filter = nullptr);
44 
45  virtual ~TGo4MbsHist();
46 
47  s_his_head* GetHead() { return &fxHistoHead; }
48  Int_t *GetBuffer() { return fiBuffer; }
49  Int_t GetBufLen() const { return fiBufLen; }
50  Int_t GetHisNum() const { return fiHisNum; }
51 
53  static const Int_t fgiLISTLEN;
54 
55  private:
56 
58  void PrepareHeader(TH1 *source, const char *path, s_his_head* target);
59 
62  void ScanGo4Folder(TFolder *fold, const char *superfolders = nullptr, const char *filter = nullptr);
63 
66  void SetValue(char *address, Stat_t value);
67 
69  Int_t fiBufLen{0};
70  Int_t *fiBuffer{nullptr};
71 
72  /* Points to next histogram header in buffer in case of nameslist */
73  s_his_head *fxCursor{nullptr};
74 
76  Int_t fiHisNum{0};
77 };
78 
79 #endif //TGO4MBSHIST_H
Int_t fiBufLen
Definition: TGo4MbsHist.h:69
static const Int_t fgiLISTLEN
Definition: TGo4MbsHist.h:53
void SetValue(char *address, Stat_t value)
Int_t fiHisNum
Definition: TGo4MbsHist.h:76
Int_t GetBufLen() const
Definition: TGo4MbsHist.h:49
void PrepareHeader(TH1 *source, const char *path, s_his_head *target)
Definition: TGo4MbsHist.cxx:99
virtual ~TGo4MbsHist()
Definition: TGo4MbsHist.cxx:94
void ScanGo4Folder(TFolder *fold, const char *superfolders=nullptr, const char *filter=nullptr)
s_his_head * fxCursor
Definition: TGo4MbsHist.h:73
s_his_head * GetHead()
Definition: TGo4MbsHist.h:47
Int_t GetHisNum() const
Definition: TGo4MbsHist.h:50
s_his_head fxHistoHead
Definition: TGo4MbsHist.h:68
Int_t * GetBuffer()
Definition: TGo4MbsHist.h:48
Int_t * fiBuffer
Definition: TGo4MbsHist.h:70