21#include "TTimeStamp.h"
48 if (histo->GetDimension() == 2) {
53 Int_t maxu = histo->GetNbinsX();
54 Int_t maxv = histo->GetNbinsY();
58 for (Int_t v = 0; v < maxv; v++) {
59 for (Int_t u = 0; u < maxu; u++) {
60 value = histo->GetBinContent(u, v);
66 Int_t maxu = histo->GetNbinsX();
70 for (Int_t u = 0; u < maxu; u++) {
71 value = histo->GetBinContent(u);
101 if (!source || !target)
104 dest->
l_bins_1 = source->GetNbinsX();
105 dest->
l_bins_2 = source->GetNbinsY();
108 snprintf(dest->
c_name, 64,
"%s%s", path, source->GetName());
110 snprintf(dest->
c_name, 64,
"%s", source->GetName());
111 snprintf(dest->
c_lettering_1, 64,
"%s", source->GetXaxis()->GetTitle());
112 snprintf(dest->
c_lettering_2, 64,
"%s", source->GetYaxis()->GetTitle());
113 snprintf(dest->
c_lettering_res, 64,
"%s", source->GetYaxis()->GetTitle());
119 if (source->InheritsFrom(TH1D::Class()) || source->InheritsFrom(TH1F::Class()) ||
120 source->InheritsFrom(TH2D::Class()) || source->InheritsFrom(TH2F::Class())) {
127 snprintf(dest->
c_clear_date, 28,
"%s", now.AsString(
"l"));
133 Float_t *faddress = (Float_t *)address;
134 *faddress = (Float_t)value;
136 Int_t *iaddress = (Int_t *)address;
137 *iaddress = (Int_t)value;
153 TIter iter(folder->GetListOfFolders());
154 while (
auto entry = iter()) {
161 strcpy(pathbuffer,
"");
162 char *cursor = pathbuffer + num;
164 if (entry->InheritsFrom(TFolder::Class())) {
166 const char *foldname = entry->GetName();
183 snprintf(cursor, edge,
"%s", foldname);
184 TFolder *subobj =
dynamic_cast<TFolder *
>(entry);
187 }
else if (entry->InheritsFrom(TH1::Class()) || entry->InheritsFrom(TGraph::Class())) {
189 Bool_t ismatching = kFALSE;
190 const char *entryname = entry->GetName();
191 TString entrystring = entryname;
192 TRegexp reg(filter, kTRUE);
195 else if (!strcmp(filter,
"*"))
199 else if (entrystring.Index(reg, 0) != kNPOS)
205 TH1 *hist =
dynamic_cast<TH1 *
>(entry);
207 TGraph *graf =
dynamic_cast<TGraph *
>(entry);
208 if (graf && graf->GetN() > 0) {
209 hist = graf->GetHistogram();
220 Int_t *otherbuf =
new Int_t[
fiBufLen];
221 memcpy(otherbuf,
fiBuffer, oldbuflen *
sizeof(Int_t));
225 for (Int_t n = 0; n <
fiHisNum; ++n)
static const char * GetTREEFOLDER()
static const char * GetDYNFOLDER()
static const char * GetPICTFOLDER()
static const char * GetANALYSISFOLDER()
static const char * GetPARAFOLDER()
static const char * GetCANVFOLDER()
static const char * GetCONDFOLDER()
void ScanGo4Folder(TFolder *fold, const char *superfolders=nullptr, const char *filter=nullptr)
Scan go4 folders containing histograms and subfolders of histograms header information is exctracted ...
void SetValue(char *address, Stat_t value)
set value to adress in histogram buffer.
Int_t fiHisNum
Number of histogram headers (1 in case of single his)
static const Int_t fgiLISTLEN
Default buffer length for list of histograms.
void PrepareHeader(TH1 *source, const char *path, s_his_head *target)
extract header information from histogram to mbs header structur
CHARS c_lettering_res[64]
CHARS c_data_time_cre[28]