4 #ifndef tools_wroot_infos
5 #define tools_wroot_infos
12 inline void scs(
unsigned int& a_cs,
const std::string& a_s) {
13 size_t l = a_s.size();
14 for(
size_t i=0;i<l;i++) a_cs = a_cs*3+a_s[i];
17 inline void acs(
unsigned int& a_cs,
int a_n,
int* a_dims) {
18 for(
int i=0;i<a_n;i++) a_cs = a_cs*3+(
unsigned int)a_dims[i];
22 unsigned int check = 196608;
24 a_infos.push_back(info);
25 info->
add(
new streamer_STL(
"This",
"Used to call the proper TStreamerInfo case",0,a_si_type,std::string(
"vector<")+a_type+
">"));
44 const int size_POINTER = 4;
48 const int size_TArray = 8;
50 short TArray_version = 1;
52 short TObject_version = 1;
53 {
unsigned int check = 0;
57 scs(check,
"fUniqueID");
64 a_infos.push_back(info);
70 a_out <<
"tools::wroot::fill_infos :"
71 <<
" TObject " << ofs <<
" (" <<
size_TObject() <<
" expected.)"
75 short TNamed_version = 1;
76 {
unsigned int check = 0;
89 a_infos.push_back(info);
96 a_out <<
"tools::wroot::fill_infos :"
97 <<
" TNamed " << ofs <<
" (" <<
size_TNamed() <<
" expected.)"
101 {
unsigned int check = 0;
103 scs(check,
"TStreamerInfo");
107 scs(check,
"fCheckSum");
110 scs(check,
"fClassVersion");
113 scs(check,
"fElements");
114 scs(check,
"TObjArray*");
117 a_infos.push_back(info);
119 info->
add(
new streamer_base(
"TNamed",
"The basis for a named object (name, title)",0,TNamed_version));
121 info->
add(
new streamer_int(
"fClassVersion",
"Class version identifier",32));
128 short TStreamerElement_version = 2;
129 {
unsigned int check = 0;
131 scs(check,
"TStreamerElement");
141 scs(check,
"fArrayLength");
144 scs(check,
"fArrayDim");
147 scs(check,
"fMaxIndex");
152 scs(check,
"fTypeName");
153 scs(check,
"TString");
157 a_infos.push_back(info);
159 info->
add(
new streamer_base(
"TNamed",
"The basis for a named object (name, title)",0,TNamed_version));
162 info->
add(
new streamer_int(
"fArrayLength",
"cumulative size of all array dims",36));
163 info->
add(
new streamer_int(
"fArrayDim",
"number of array dimensions",40));
172 {
unsigned int check = 0;
174 scs(check,
"TStreamerBase");
176 scs(check,
"TStreamerElement");
178 scs(check,
"fBaseVersion");
183 a_infos.push_back(info);
185 info->
add(
new streamer_base(
"TStreamerElement",
"base class for one element (data member) to be Streamed",0,TStreamerElement_version));
186 info->
add(
new streamer_int(
"fBaseVersion",
"version number of the base class",88));}
188 {
unsigned int check = 0;
190 scs(check,
"TStreamerString");
192 scs(check,
"TStreamerElement");
196 a_infos.push_back(info);
198 info->
add(
new streamer_base(
"TStreamerElement",
"base class for one element (data member) to be Streamed",0,TStreamerElement_version));}
200 {
unsigned int check = 0;
202 scs(check,
"TStreamerBasicType");
204 scs(check,
"TStreamerElement");
208 a_infos.push_back(info);
210 info->
add(
new streamer_base(
"TStreamerElement",
"base class for one element (data member) to be Streamed",0,TStreamerElement_version));}
212 {
unsigned int check = 0;
214 scs(check,
"TStreamerBasicPointer");
216 scs(check,
"TStreamerElement");
218 scs(check,
"fCountVersion");
221 scs(check,
"fCountName");
222 scs(check,
"TString");
224 scs(check,
"fCountClass");
225 scs(check,
"TString");
229 a_infos.push_back(info);
231 info->
add(
new streamer_base(
"TStreamerElement",
"base class for one element (data member) to be Streamed",0,TStreamerElement_version));
232 info->
add(
new streamer_int(
"fCountVersion",
"version number of the class with the counter",88));
233 info->
add(
new streamer_string(
"fCountName",
"name of data member holding the array count",92));
234 info->
add(
new streamer_string(
"fCountClass",
"name of the class with the counter",100));}
236 {
unsigned int check = 0;
238 scs(check,
"TStreamerObject");
240 scs(check,
"TStreamerElement");
244 a_infos.push_back(info);
246 info->
add(
new streamer_base(
"TStreamerElement",
"base class for one element (data member) to be Streamed",0,TStreamerElement_version));}
248 {
unsigned int check = 0;
250 scs(check,
"TStreamerObjectPointer");
252 scs(check,
"TStreamerElement");
256 a_infos.push_back(info);
258 info->
add(
new streamer_base(
"TStreamerElement",
"base class for one element (data member) to be Streamed",0,TStreamerElement_version));}
260 {
unsigned int check = 0;
262 scs(check,
"TStreamerObjectAny");
264 scs(check,
"TStreamerElement");
268 a_infos.push_back(info);
270 info->
add(
new streamer_base(
"TStreamerElement",
"base class for one element (data member) to be Streamed",0,TStreamerElement_version));}
272 {
unsigned int check = 0;
280 a_infos.push_back(info);
289 {
unsigned int check = 0;
291 scs(check,
"TArrayI");
299 a_infos.push_back(info);
303 info->
add(
new streamer_base(
"TArray",
"Abstract array base class",offset,TArray_version));offset += size_TArray;
309 {
unsigned int check = 0;
311 scs(check,
"TArrayD");
316 scs(check,
"Double_t*");
319 a_infos.push_back(info);
323 info->
add(
new streamer_base(
"TArray",
"Abstract array base class",offset,TArray_version));offset += size_TArray;
329 {
unsigned int check = 0;
331 scs(check,
"TArrayF");
336 scs(check,
"Float_t*");
339 a_infos.push_back(info);
343 info->
add(
new streamer_base(
"TArray",
"Abstract array base class",offset,TArray_version));offset += size_TArray;
366 short TObject_version = 1;
368 const int size_POINTER = 4;
371 int size_TCollection = 0;
372 short TCollection_version = 3;
373 {
unsigned int check = 0;
375 scs(check,
"TCollection");
377 scs(check,
"TObject");
380 scs(check,
"TString");
386 a_infos.push_back(info);
391 info->
add(
new streamer_int(ofs,
"fSize",
"number of elements in collection"));
392 size_TCollection = ofs;
395 int size_TSeqCollection = 0;
396 short TSeqCollection_version = 0;
397 {
unsigned int check = 0;
399 scs(check,
"TSeqCollection");
401 scs(check,
"TCollection");
403 scs(check,
"fSorted");
407 a_infos.push_back(info);
410 info->
add(
new streamer_base(
"TCollection",
"Collection abstract base class",ofs,TCollection_version));ofs += size_TCollection;
411 info->
add(
new streamer_bool(ofs,
"fSorted",
" true if collection has been sorted"));
412 size_TSeqCollection = ofs;
416 short TList_version = 4;
417 {
unsigned int check = 0;
421 scs(check,
"TSeqCollection");
425 a_infos.push_back(info);
428 info->
add(
new streamer_base(
"TSeqCollection",
"Sequenceable collection abstract base class",ofs,TSeqCollection_version));ofs += size_TSeqCollection;
452 {
unsigned int check = 0;
454 scs(check,
"TAttLine");
456 scs(check,
"fLineColor");
457 scs(check,
"Color_t");
459 scs(check,
"fLineStyle");
460 scs(check,
"Style_t");
462 scs(check,
"fLineWidth");
463 scs(check,
"Width_t");
469 a_infos.push_back(info);
477 a_out <<
"tools::wroot::fill_infos :"
478 <<
" TAttLine " << ofs <<
" (" <<
size_TAttLine() <<
" expected.)"
482 {
unsigned int check = 0;
484 scs(check,
"TAttFill");
486 scs(check,
"fFillColor");
487 scs(check,
"Color_t");
489 scs(check,
"fFillStyle");
490 scs(check,
"Style_t");
494 a_infos.push_back(info);
500 a_out <<
"tools::wroot::fill_infos :"
501 <<
" TAttFill " << ofs <<
" (" <<
size_TAttFill() <<
" expected.)"
505 {
unsigned int check = 0;
507 scs(check,
"TAttMarker");
509 scs(check,
"fMarkerColor");
510 scs(check,
"Color_t");
512 scs(check,
"fMarkerStyle");
513 scs(check,
"Style_t");
515 scs(check,
"fMarkerSize");
521 a_infos.push_back(info);
528 a_out <<
"tools::wroot::fill_infos :"
541 const int size_CHAR = 1;
543 const int size_POINTER = 4;
544 const int size_COUNTER = 4;
546 const int size_TObjArray = 40;
547 const int size_TArrayD = 12;
548 const int size_TArrayI = 12;
550 short TNamed_version = 1;
552 short TAttLine_version = 1;
553 short TAttFill_version = 1;
554 short TAttMarker_version = 1;
555 short TBranch_version = 8;
556 short TLeaf_version = 2;
558 {
unsigned int check = 0;
563 scs(check,
"TAttLine");
564 scs(check,
"TAttFill");
565 scs(check,
"TAttMarker");
567 scs(check,
"fEntries");
570 scs(check,
"fTotBytes");
573 scs(check,
"fZipBytes");
576 scs(check,
"fSavedBytes");
579 scs(check,
"fTimerInterval");
582 scs(check,
"fScanField");
585 scs(check,
"fUpdate");
588 scs(check,
"fMaxEntryLoop");
591 scs(check,
"fMaxVirtualSize");
594 scs(check,
"fAutoSave");
597 scs(check,
"fEstimate");
600 scs(check,
"fBranches");
601 scs(check,
"TObjArray");
603 scs(check,
"fLeaves");
604 scs(check,
"TObjArray");
609 scs(check,
"fIndexValues");
610 scs(check,
"TArrayD");
613 scs(check,
"TArrayI");
621 a_infos.push_back(info);
631 info->
add(
new streamer_stat_t(ofs,
"fTotBytes",
"Total number of bytes in all branches before compression"));
632 info->
add(
new streamer_stat_t(ofs,
"fZipBytes",
"Total number of bytes in all branches after compression"));
635 info->
add(
new streamer_int(ofs,
"fTimerInterval",
"Timer interval in milliseconds"));
636 info->
add(
new streamer_int(ofs,
"fScanField",
"Number of runs before prompting in Scan"));
637 info->
add(
new streamer_int(ofs,
"fUpdate",
"Update frequency for EntryLoop"));
638 info->
add(
new streamer_int(ofs,
"fMaxEntryLoop",
"Maximum number of entries to process"));
639 info->
add(
new streamer_int(ofs,
"fMaxVirtualSize",
"Maximum total size of buffers kept in memory"));
640 info->
add(
new streamer_int(ofs,
"fAutoSave",
"Autosave tree when fAutoSave bytes produced"));
641 info->
add(
new streamer_int(ofs,
"fEstimate",
"Number of entries to estimate histogram limits"));
648 info->
add(
new streamer_object(
"fBranches",
"List of Branches",ofs,
"TObjArray"));ofs += size_TObjArray;
649 info->
add(
new streamer_object(
"fLeaves",
"Direct pointers to individual branch leaves",ofs,
"TObjArray"));ofs += size_TObjArray;
651 info->
add(
new streamer_object_any(
"fIndexValues",
"Sorted index values",ofs,
"TArrayD"));ofs += size_TArrayD;
656 a_out <<
"tools::wroot::fill_infos :"
657 <<
" TTree " << ofs <<
" (" <<
size_TTree() <<
" expected.)"
666 {
unsigned int check = 0;
668 scs(check,
"TBranch");
671 scs(check,
"TAttFill");
673 scs(check,
"fCompress");
676 scs(check,
"fBasketSize");
679 scs(check,
"fEntryOffsetLen");
682 scs(check,
"fWriteBasket");
685 scs(check,
"fEntryNumber");
688 scs(check,
"fOffset");
691 scs(check,
"fMaxBaskets");
694 scs(check,
"fSplitLevel");
697 scs(check,
"fEntries");
700 scs(check,
"fTotBytes");
703 scs(check,
"fZipBytes");
706 scs(check,
"fBranches");
707 scs(check,
"TObjArray");
709 scs(check,
"fLeaves");
710 scs(check,
"TObjArray");
712 scs(check,
"fBaskets");
713 scs(check,
"TObjArray");
715 scs(check,
"fBasketBytes");
718 scs(check,
"fBasketEntry");
721 scs(check,
"fBasketSeek");
722 scs(check,
"Seek_t*");
724 scs(check,
"fFileName");
725 scs(check,
"TString");
730 a_infos.push_back(info);
735 info->
add(
new streamer_int(ofs,
"fCompress",
"(=1 branch is compressed, 0 otherwise)"));
736 info->
add(
new streamer_int(ofs,
"fBasketSize",
"Initial Size of Basket Buffer"));
737 info->
add(
new streamer_int(ofs,
"fEntryOffsetLen",
"Initial Length of fEntryOffset table in the basket buffers"));
738 info->
add(
new streamer_int(ofs,
"fWriteBasket",
"Last basket number written"));
739 info->
add(
new streamer_int(ofs,
"fEntryNumber",
"Current entry number (last one filled in this branch)"));
747 info->
add(
new streamer_stat_t(ofs,
"fTotBytes",
"Total number of bytes in all leaves before compression"));
748 info->
add(
new streamer_stat_t(ofs,
"fZipBytes",
"Total number of bytes in all leaves after compression"));
749 info->
add(
new streamer_object(
"fBranches",
"-> List of Branches of this branch",ofs,
"TObjArray"));ofs += size_TObjArray;
750 info->
add(
new streamer_object(
"fLeaves",
"-> List of leaves of this branch",ofs,
"TObjArray"));ofs += size_TObjArray;
751 info->
add(
new streamer_object(
"fBaskets",
"-> List of baskets of this branch",ofs,
"TObjArray"));ofs += size_TObjArray;
760 info->
add(
new streamer_string(ofs,
"fFileName",
"Name of file where buffers are stored (\"\" if in same file as Tree header)"));
762 a_out <<
"tools::wroot::fill_infos :"
763 <<
" TBranch " << ofs <<
" (" <<
size_TBranch() <<
" expected.)"
767 {
unsigned int check = 0;
769 scs(check,
"TBranchObject");
771 scs(check,
"TBranch");
773 scs(check,
"fClassName");
774 scs(check,
"TString");
779 a_infos.push_back(info);
787 {
unsigned int check = 0;
789 scs(check,
"TBranchElement");
791 scs(check,
"TBranch");
793 scs(check,
"fClassName");
794 scs(check,
"TString");
796 scs(check,
"fClassVersion");
805 scs(check,
"fStreamerType");
809 a_infos.push_back(info);
813 info->
add(
new streamer_string(offset,
"fClassName",
"Class name of referenced object"));
814 info->
add(
new streamer_int(offset,
"fClassVersion",
"Version number of class"));
815 info->
add(
new streamer_int(offset,
"fID",
"element serial number in fInfo"));
817 info->
add(
new streamer_int(offset,
"fStreamerType",
"branch streamer type"));
821 {
unsigned int check = 0;
830 scs(check,
"fLenType");
833 scs(check,
"fOffset");
836 scs(check,
"fIsRange");
839 scs(check,
"fIsUnsigned");
842 scs(check,
"fLeafCount");
848 a_infos.push_back(info);
854 info->
add(
new streamer_int(ofs,
"fLen",
"Number of fixed length elements"));
855 info->
add(
new streamer_int(ofs,
"fLenType",
"Number of bytes for this data type"));
856 info->
add(
new streamer_int(ofs,
"fOffset",
"Offset in ClonesArray object (if one)"));
857 info->
add(
new streamer_bool(ofs,
"fIsRange",
"(=kTRUE if leaf has a range, kFALSE otherwise)"));
858 info->
add(
new streamer_bool(ofs,
"fIsUnsigned",
"(=kTRUE if unsigned, kFALSE otherwise)"));
859 info->
add(
new streamer_object_pointer(
"fLeafCount",
"Pointer to Leaf count if variable length",ofs,
"TLeaf*"));ofs += size_POINTER;
862 a_out <<
"tools::wroot::fill_infos :"
863 <<
" TLeaf " << ofs <<
" (" <<
size_TLeaf() <<
" expected.)"
867 {
unsigned int check = 0;
873 scs(check,
"fMinimum");
874 scs(check,
"Short_t");
876 scs(check,
"fMaximum");
877 scs(check,
"Short_t");
882 a_infos.push_back(info);
886 info->
add(
new streamer_short(ofs,
"fMinimum",
"Minimum value if leaf range is specified"));
887 info->
add(
new streamer_short(ofs,
"fMaximum",
"Maximum value if leaf range is specified"));
891 {
unsigned int check = 0;
897 scs(check,
"fMinimum");
900 scs(check,
"fMaximum");
906 a_infos.push_back(info);
911 info->
add(
new streamer_int(ofs,
"fMinimum",
"Minimum value if leaf range is specified"));
912 info->
add(
new streamer_int(ofs,
"fMaximum",
"Maximum value if leaf range is specified"));
916 {
unsigned int check = 0;
922 scs(check,
"fMinimum");
923 scs(check,
"Float_t");
925 scs(check,
"fMaximum");
926 scs(check,
"Float_t");
931 a_infos.push_back(info);
936 info->
add(
new streamer_float(ofs,
"fMinimum",
"Minimum value if leaf range is specified"));
937 info->
add(
new streamer_float(ofs,
"fMaximum",
"Maximum value if leaf range is specified"));
941 {
unsigned int check = 0;
947 scs(check,
"fMinimum");
948 scs(check,
"Double_t");
950 scs(check,
"fMaximum");
951 scs(check,
"Double_t");
956 a_infos.push_back(info);
961 info->
add(
new streamer_double(ofs,
"fMinimum",
"Minimum value if leaf range is specified"));
962 info->
add(
new streamer_double(ofs,
"fMaximum",
"Maximum value if leaf range is specified"));
966 {
unsigned int check = 0;
972 scs(check,
"fMinimum");
975 scs(check,
"fMaximum");
981 a_infos.push_back(info);
990 {
unsigned int check = 0;
996 scs(check,
"fMinimum");
999 scs(check,
"fMaximum");
1005 a_infos.push_back(info);
1010 info->
add(
new streamer_int(ofs,
"fMinimum",
"Minimum value if leaf range is specified"));
1011 info->
add(
new streamer_int(ofs,
"fMaximum",
"Maximum value if leaf range is specified"));}
1013 {
unsigned int check = 0;
1015 scs(check,
"TLeafObject");
1019 scs(check,
"fVirtual");
1020 scs(check,
"Bool_t");
1025 a_infos.push_back(info);
1032 {
unsigned int check = 0;
1034 scs(check,
"TLeafElement");
1045 a_infos.push_back(info);
1050 ofs += size_POINTER;
1051 info->
add(
new streamer_int(ofs,
"fID",
"element serial number in fInfo"));
1068 const int size_POINTER = 4;
1075 const int size_TArrayD = 12;
1076 const int size_TArrayF = 12;
1078 short TNamed_version = 1;
1079 short TArrayF_version = 1;
1080 short TArrayD_version = 1;
1082 short TAttLine_version = 1;
1083 short TAttFill_version = 1;
1084 short TAttMarker_version = 1;
1086 short TAttAxis_version = 4;
1089 {
unsigned int check = 0;
1091 scs(check,
"TAttAxis");
1093 scs(check,
"fNdivisions");
1096 scs(check,
"fAxisColor");
1097 scs(check,
"Color_t");
1099 scs(check,
"fLabelColor");
1100 scs(check,
"Color_t");
1102 scs(check,
"fLabelFont");
1103 scs(check,
"Style_t");
1105 scs(check,
"fLabelOffset");
1106 scs(check,
"Float_t");
1108 scs(check,
"fLabelSize");
1109 scs(check,
"Float_t");
1111 scs(check,
"fTickLength");
1112 scs(check,
"Float_t");
1114 scs(check,
"fTitleOffset");
1115 scs(check,
"Float_t");
1117 scs(check,
"fTitleSize");
1118 scs(check,
"Float_t");
1120 scs(check,
"fTitleColor");
1121 scs(check,
"Color_t");
1123 scs(check,
"fTitleFont");
1124 scs(check,
"Style_t");
1127 a_infos.push_back(info);
1130 info->
add(
new streamer_int(ofs,
"fNdivisions",
"Number of divisions(10000*n3 + 100*n2 + n1)"));
1143 a_out <<
"tools::wroot::fill_infos :"
1144 <<
" TAttAxis " << ofs <<
" (" <<
size_TAttAxis() <<
" expected.)"
1148 {
unsigned int check = 0;
1152 scs(check,
"TNamed");
1153 scs(check,
"TAttAxis");
1155 scs(check,
"fNbins");
1159 scs(check,
"Axis_t");
1162 scs(check,
"Axis_t");
1164 scs(check,
"fXbins");
1165 scs(check,
"TArrayD");
1167 scs(check,
"fFirst");
1173 scs(check,
"fTimeDisplay");
1174 scs(check,
"Bool_t");
1176 scs(check,
"fTimeFormat");
1177 scs(check,
"TString");
1180 a_infos.push_back(info);
1190 ofs += size_POINTER;
1193 info->
add(
new streamer_bool(ofs,
"fTimeDisplay",
"on/off displaying time values instead of numerics"));
1194 info->
add(
new streamer_string(ofs,
"fTimeFormat",
"Date&time format, ex: 09/12/99 12:34:00"));
1195 ofs += size_POINTER;
1198 a_out <<
"tools::wroot::fill_infos :"
1199 <<
" TAxis " << ofs <<
" (" <<
size_TAxis() <<
" expected.)"
1203 short TH1_version = 3;
1204 {
unsigned int check = 0;
1208 scs(check,
"TNamed");
1209 scs(check,
"TAttLine");
1210 scs(check,
"TAttFill");
1211 scs(check,
"TAttMarker");
1213 scs(check,
"fNcells");
1216 scs(check,
"fXaxis");
1219 scs(check,
"fBarOffset");
1220 scs(check,
"Short_t");
1222 scs(check,
"fBarWidth");
1223 scs(check,
"Short_t");
1225 scs(check,
"fEntries");
1226 scs(check,
"Stat_t");
1228 scs(check,
"fTsumw");
1229 scs(check,
"Stat_t");
1231 scs(check,
"fTsumw2");
1232 scs(check,
"Stat_t");
1234 scs(check,
"fTsumwx");
1235 scs(check,
"Stat_t");
1237 scs(check,
"fTsumwx2");
1238 scs(check,
"Stat_t");
1240 scs(check,
"fMaximum");
1241 scs(check,
"Double_t");
1243 scs(check,
"fMinimum");
1244 scs(check,
"Double_t");
1246 scs(check,
"fNormFactor");
1247 scs(check,
"Double_t");
1249 scs(check,
"fContour");
1250 scs(check,
"TArrayD");
1252 scs(check,
"fSumw2");
1253 scs(check,
"TArrayD");
1255 scs(check,
"fOption");
1256 scs(check,
"TString");
1258 scs(check,
"fFunctions");
1259 scs(check,
"TList*");
1262 a_infos.push_back(info);
1269 info->
add(
new streamer_int(ofs,
"fNcells",
"number of bins(1D), cells (2D) +U/Overflows"));
1273 info->
add(
new streamer_short(ofs,
"fBarOffset",
"(1000*offset) for bar charts or legos"));
1274 info->
add(
new streamer_short(ofs,
"fBarWidth",
"(1000*width) for bar charts or legos"));
1283 info->
add(
new streamer_object_any(
"fContour",
"Array to display contour levels",ofs,
"TArrayD"));ofs += size_TArrayD;
1284 info->
add(
new streamer_object_any(
"fSumw2",
"Array of sum of squares of weights",ofs,
"TArrayD"));ofs += size_TArrayD;
1286 info->
add(
new streamer_object_pointer(
"fFunctions",
"->Pointer to list of functions (fits and user)",ofs,
"TList*"));ofs += size_POINTER;
1287 ofs += size_POINTER;
1289 ofs += size_POINTER;
1290 ofs += size_POINTER;
1293 a_out <<
"tools::wroot::fill_infos :"
1294 <<
" TH1 " << ofs <<
" (" <<
size_TH1() <<
" expected.)"
1298 {
unsigned int check = 0;
1303 scs(check,
"TArrayF");
1306 a_infos.push_back(info);
1309 info->
add(
new streamer_base(
"TArrayF",
"Array of floats",ofs,TArrayF_version));ofs += size_TArrayF;
1313 short TH1D_version = 1;
1314 {
unsigned int check = 0;
1319 scs(check,
"TArrayD");
1322 a_infos.push_back(info);
1325 info->
add(
new streamer_base(
"TArrayD",
"Array of doubles",ofs,TArrayD_version));ofs += size_TArrayD;
1331 {
unsigned int check = 0;
1333 scs(check,
"TProfile");
1337 scs(check,
"fBinEntries");
1338 scs(check,
"TArrayD");
1340 scs(check,
"fErrorMode");
1341 scs(check,
"EErrorType");
1344 scs(check,
"Double_t");
1347 scs(check,
"Double_t");
1349 scs(check,
"fTsumwy");
1350 scs(check,
"Double_t");
1352 scs(check,
"fTsumwy2");
1353 scs(check,
"Double_t");
1356 a_infos.push_back(info);
1359 info->
add(
new streamer_base(
"TH1D",
"1-Dim histograms (one double per channel)",ofs,TH1D_version));ofs += size_TH1D;
1360 info->
add(
new streamer_object_any(
"fBinEntries",
"number of entries per bin",ofs,
"TArrayD"));ofs += size_TArrayD;
1371 short TH2_version = 3;
1372 {
unsigned int check = 0;
1378 scs(check,
"fScalefactor");
1379 scs(check,
"Stat_t");
1381 scs(check,
"fTsumwy");
1382 scs(check,
"Stat_t");
1384 scs(check,
"fTsumwy2");
1385 scs(check,
"Stat_t");
1387 scs(check,
"fTsumwxy");
1388 scs(check,
"Stat_t");
1391 a_infos.push_back(info);
1401 a_out <<
"tools::wroot::fill_infos :"
1402 <<
" TH2 " << ofs <<
" (" <<
size_TH2() <<
" expected.)"
1406 {
unsigned int check = 0;
1411 scs(check,
"TArrayF");
1414 a_infos.push_back(info);
1418 info->
add(
new streamer_base(
"TArrayF",
"Array of floats",ofs,TArrayF_version));ofs += size_TArrayF;
1423 short TH2D_version = 3;
1424 {
unsigned int check = 0;
1429 scs(check,
"TArrayD");
1432 a_infos.push_back(info);
1436 info->
add(
new streamer_base(
"TArrayD",
"Array of doubles",ofs,TArrayD_version));ofs += size_TArrayD;
1438 a_out <<
"tools::wroot::fill_infos :"
1439 <<
" TH2D " << ofs <<
" (" <<
size_TH2D() <<
" expected.)"
1443 {
unsigned int check = 0;
1445 scs(check,
"TProfile2D");
1449 scs(check,
"fBinEntries");
1450 scs(check,
"TArrayD");
1452 scs(check,
"fErrorMode");
1453 scs(check,
"EErrorType");
1456 scs(check,
"Double_t");
1459 scs(check,
"Double_t");
1461 scs(check,
"fTsumwz");
1462 scs(check,
"Double_t");
1464 scs(check,
"fTsumwz2");
1465 scs(check,
"Double_t");
1468 a_infos.push_back(info);
1472 info->
add(
new streamer_object_any(
"fBinEntries",
"number of entries per bin",ofs,
"TArrayD"));ofs += size_TArrayD;
1483 short TH3_version = 4;
1484 short TAtt3D_version = 1;
1485 {
unsigned int check = 0;
1490 scs(check,
"TAtt3D");
1492 scs(check,
"fTsumwy");
1493 scs(check,
"Double_t");
1494 scs(check,
"fTsumwy2");
1495 scs(check,
"Double_t");
1496 scs(check,
"fTsumwxy");
1497 scs(check,
"Double_t");
1499 scs(check,
"fTsumwz");
1500 scs(check,
"Double_t");
1501 scs(check,
"fTsumwz2");
1502 scs(check,
"Double_t");
1503 scs(check,
"fTsumwxz");
1504 scs(check,
"Double_t");
1505 scs(check,
"fTsumwyz");
1506 scs(check,
"Double_t");
1509 a_infos.push_back(info);
1513 info->
add(
new streamer_base(
"TAtt3D",
"3D attributes",ofs,TAtt3D_version));ofs += 0;
1527 {
unsigned int check = 0;
1532 scs(check,
"TArrayF");
1535 a_infos.push_back(info);
1538 info->
add(
new streamer_base(
"TH3",
"3-Dim histogram base class",ofs,TH3_version));ofs += size_TH3;
1539 info->
add(
new streamer_base(
"TArrayF",
"Array of floats",ofs,TArrayF_version));ofs += size_TArrayF;
1544 {
unsigned int check = 0;
1549 scs(check,
"TArrayD");
1552 a_infos.push_back(info);
1555 info->
add(
new streamer_base(
"TH3",
"3-Dim histogram base class",ofs,TH3_version));ofs += size_TH3;
1556 info->
add(
new streamer_base(
"TArrayD",
"Array of doubles",ofs,TArrayD_version));ofs += size_TArrayD;