00001
00002 #include <cstring>
00003 #include <iostream>
00004 #include <iomanip>
00005 #include "dEmcDCMLongDataWrapper.h"
00006
00007 ClassImp(dEmcDCMLongDataWrapper);
00008
00009 using namespace std;
00010
00011 dEmcDCMLongDataWrapper::dEmcDCMLongDataWrapper(const char* name, const size_t& max_rows)
00012 : PHTable(name,max_rows)
00013 {
00014 size_t rowSize = sizeof(DEMCDCMLONGDATA_ST);
00015 if (max_rows > 0) {
00016 fTableData = new DEMCDCMLONGDATA_ST[max_rows];
00017 SetMaxRowCount(max_rows);
00018 }
00019 else {
00020 fTableData = new DEMCDCMLONGDATA_ST[1];
00021 SetMaxRowCount(1);
00022 }
00023
00024 SetRowSize(rowSize);
00025 SetType("dEmcDCMLongData");
00026 fTableHeader->dsl_pointer = (long)this;
00027 fTableHeader->data_pointer = (long)fTableData;
00028 }
00029
00030 dEmcDCMLongDataWrapper::dEmcDCMLongDataWrapper(const dEmcDCMLongDataWrapper& source)
00031 : PHTable(source)
00032 {
00033
00034
00035
00036 fTableData = new DEMCDCMLONGDATA_ST[source.MaxRowCount()];
00037 SetRowSize(sizeof(DEMCDCMLONGDATA_ST));
00038 SetType("dEmcDCMLongData");
00039 fTableHeader->dsl_pointer = (long)this;
00040 fTableHeader->data_pointer = (long)fTableData;
00041
00042 for (size_t row = 0; row < RowCount(); row++) {
00043 fTableData[row] = source.fTableData[row];
00044 }
00045
00046 }
00047
00048 void*
00049 dEmcDCMLongDataWrapper::RawTableData()
00050 {
00051 return static_cast<void*>(fTableData);
00052 }
00053
00054 dEmcDCMLongDataWrapper&
00055 dEmcDCMLongDataWrapper::operator=(const dEmcDCMLongDataWrapper& source)
00056 {
00057 if (this != &source) {
00058
00059
00060 PHTable::operator=(source);
00061
00062
00063 for (size_t row = 0; row < RowCount(); row++) {
00064 fTableData[row] = source.fTableData[row];
00065 }
00066
00067 }
00068
00069 return *this;
00070 }
00071
00072 dEmcDCMLongDataWrapper::~dEmcDCMLongDataWrapper()
00073 {
00074 delete [] fTableData;
00075 }
00076
00077 DEMCDCMLONGDATA_ST*
00078 dEmcDCMLongDataWrapper::TableData()
00079 {
00080 return fTableData;
00081 }
00082
00083 DEMCDCMLONGDATA_ST&
00084 dEmcDCMLongDataWrapper::operator[](const size_t& row)
00085 {
00086 return fTableData[row];
00087 }
00088
00089 const DEMCDCMLONGDATA_ST&
00090 dEmcDCMLongDataWrapper::operator[](const size_t& row) const
00091 {
00092 return fTableData[row];
00093 }
00094
00095 void
00096 dEmcDCMLongDataWrapper::Print(const size_t num_rows, const size_t first_row) const
00097 {
00098 cout << " row :";
00099 cout << " " << setw(11) << "nWords";
00100 cout << " " << setw(11) << "scheme";
00101 cout << " " << setw(11) << "packetID";
00102 cout << " DCM[0]";
00103 cout << " DCM[1]";
00104 cout << " DCM[2]";
00105 cout << " DCM[3]";
00106 cout << " DCM[4]";
00107 cout << " DCM[5]";
00108 cout << " DCM[6]";
00109 cout << " DCM[7]";
00110 cout << " DCM[8]";
00111 cout << " DCM[9]";
00112 cout << " DCM[10]";
00113 cout << " DCM[11]";
00114 cout << " DCM[12]";
00115 cout << " DCM[13]";
00116 cout << " DCM[14]";
00117 cout << " DCM[15]";
00118 cout << " DCM[16]";
00119 cout << " DCM[17]";
00120 cout << " DCM[18]";
00121 cout << " DCM[19]";
00122 cout << " DCM[20]";
00123 cout << " DCM[21]";
00124 cout << " DCM[22]";
00125 cout << " DCM[23]";
00126 cout << " DCM[24]";
00127 cout << " DCM[25]";
00128 cout << " DCM[26]";
00129 cout << " DCM[27]";
00130 cout << " DCM[28]";
00131 cout << " DCM[29]";
00132 cout << " DCM[30]";
00133 cout << " DCM[31]";
00134 cout << " DCM[32]";
00135 cout << " DCM[33]";
00136 cout << " DCM[34]";
00137 cout << " DCM[35]";
00138 cout << " DCM[36]";
00139 cout << " DCM[37]";
00140 cout << " DCM[38]";
00141 cout << " DCM[39]";
00142 cout << " DCM[40]";
00143 cout << " DCM[41]";
00144 cout << " DCM[42]";
00145 cout << " DCM[43]";
00146 cout << " DCM[44]";
00147 cout << " DCM[45]";
00148 cout << " DCM[46]";
00149 cout << " DCM[47]";
00150 cout << " DCM[48]";
00151 cout << " DCM[49]";
00152 cout << " DCM[50]";
00153 cout << " DCM[51]";
00154 cout << " DCM[52]";
00155 cout << " DCM[53]";
00156 cout << " DCM[54]";
00157 cout << " DCM[55]";
00158 cout << " DCM[56]";
00159 cout << " DCM[57]";
00160 cout << " DCM[58]";
00161 cout << " DCM[59]";
00162 cout << " DCM[60]";
00163 cout << " DCM[61]";
00164 cout << " DCM[62]";
00165 cout << " DCM[63]";
00166 cout << " DCM[64]";
00167 cout << " DCM[65]";
00168 cout << " DCM[66]";
00169 cout << " DCM[67]";
00170 cout << " DCM[68]";
00171 cout << " DCM[69]";
00172 cout << " DCM[70]";
00173 cout << " DCM[71]";
00174 cout << " DCM[72]";
00175 cout << " DCM[73]";
00176 cout << " DCM[74]";
00177 cout << " DCM[75]";
00178 cout << " DCM[76]";
00179 cout << " DCM[77]";
00180 cout << " DCM[78]";
00181 cout << " DCM[79]";
00182 cout << " DCM[80]";
00183 cout << " DCM[81]";
00184 cout << " DCM[82]";
00185 cout << " DCM[83]";
00186 cout << " DCM[84]";
00187 cout << " DCM[85]";
00188 cout << " DCM[86]";
00189 cout << " DCM[87]";
00190 cout << " DCM[88]";
00191 cout << " DCM[89]";
00192 cout << " DCM[90]";
00193 cout << " DCM[91]";
00194 cout << " DCM[92]";
00195 cout << " DCM[93]";
00196 cout << " DCM[94]";
00197 cout << " DCM[95]";
00198 cout << " DCM[96]";
00199 cout << " DCM[97]";
00200 cout << " DCM[98]";
00201 cout << " DCM[99]";
00202 cout << " DCM[100]";
00203 cout << " DCM[101]";
00204 cout << " DCM[102]";
00205 cout << " DCM[103]";
00206 cout << " DCM[104]";
00207 cout << " DCM[105]";
00208 cout << " DCM[106]";
00209 cout << " DCM[107]";
00210 cout << " DCM[108]";
00211 cout << " DCM[109]";
00212 cout << " DCM[110]";
00213 cout << " DCM[111]";
00214 cout << " DCM[112]";
00215 cout << " DCM[113]";
00216 cout << " DCM[114]";
00217 cout << " DCM[115]";
00218 cout << " DCM[116]";
00219 cout << " DCM[117]";
00220 cout << " DCM[118]";
00221 cout << " DCM[119]";
00222 cout << " DCM[120]";
00223 cout << " DCM[121]";
00224 cout << " DCM[122]";
00225 cout << " DCM[123]";
00226 cout << " DCM[124]";
00227 cout << " DCM[125]";
00228 cout << " DCM[126]";
00229 cout << " DCM[127]";
00230 cout << " DCM[128]";
00231 cout << " DCM[129]";
00232 cout << " DCM[130]";
00233 cout << " DCM[131]";
00234 cout << " DCM[132]";
00235 cout << " DCM[133]";
00236 cout << " DCM[134]";
00237 cout << " DCM[135]";
00238 cout << " DCM[136]";
00239 cout << " DCM[137]";
00240 cout << " DCM[138]";
00241 cout << " DCM[139]";
00242 cout << " DCM[140]";
00243 cout << " DCM[141]";
00244 cout << " DCM[142]";
00245 cout << " DCM[143]";
00246 cout << " DCM[144]";
00247 cout << " DCM[145]";
00248 cout << " DCM[146]";
00249 cout << " DCM[147]";
00250 cout << " DCM[148]";
00251 cout << " DCM[149]";
00252 cout << " DCM[150]";
00253 cout << " DCM[151]";
00254 cout << " DCM[152]";
00255 cout << " DCM[153]";
00256 cout << " DCM[154]";
00257 cout << " DCM[155]";
00258 cout << " DCM[156]";
00259 cout << " DCM[157]";
00260 cout << " DCM[158]";
00261 cout << " DCM[159]";
00262 cout << " DCM[160]";
00263 cout << " DCM[161]";
00264 cout << " DCM[162]";
00265 cout << " DCM[163]";
00266 cout << " DCM[164]";
00267 cout << " DCM[165]";
00268 cout << " DCM[166]";
00269 cout << " DCM[167]";
00270 cout << " DCM[168]";
00271 cout << " DCM[169]";
00272 cout << " DCM[170]";
00273 cout << " DCM[171]";
00274 cout << " DCM[172]";
00275 cout << " DCM[173]";
00276 cout << " DCM[174]";
00277 cout << " DCM[175]";
00278 cout << " DCM[176]";
00279 cout << " DCM[177]";
00280 cout << " DCM[178]";
00281 cout << " DCM[179]";
00282 cout << " DCM[180]";
00283 cout << " DCM[181]";
00284 cout << " DCM[182]";
00285 cout << " DCM[183]";
00286 cout << " DCM[184]";
00287 cout << " DCM[185]";
00288 cout << " DCM[186]";
00289 cout << " DCM[187]";
00290 cout << " DCM[188]";
00291 cout << " DCM[189]";
00292 cout << " DCM[190]";
00293 cout << " DCM[191]";
00294 cout << " DCM[192]";
00295 cout << " DCM[193]";
00296 cout << " DCM[194]";
00297 cout << " DCM[195]";
00298 cout << " DCM[196]";
00299 cout << " DCM[197]";
00300 cout << " DCM[198]";
00301 cout << " DCM[199]";
00302 cout << " DCM[200]";
00303 cout << " DCM[201]";
00304 cout << " DCM[202]";
00305 cout << " DCM[203]";
00306 cout << " DCM[204]";
00307 cout << " DCM[205]";
00308 cout << " DCM[206]";
00309 cout << " DCM[207]";
00310 cout << " DCM[208]";
00311 cout << " DCM[209]";
00312 cout << " DCM[210]";
00313 cout << " DCM[211]";
00314 cout << " DCM[212]";
00315 cout << " DCM[213]";
00316 cout << " DCM[214]";
00317 cout << " DCM[215]";
00318 cout << " DCM[216]";
00319 cout << " DCM[217]";
00320 cout << " DCM[218]";
00321 cout << " DCM[219]";
00322 cout << " DCM[220]";
00323 cout << " DCM[221]";
00324 cout << " DCM[222]";
00325 cout << " DCM[223]";
00326 cout << " DCM[224]";
00327 cout << " DCM[225]";
00328 cout << " DCM[226]";
00329 cout << " DCM[227]";
00330 cout << " DCM[228]";
00331 cout << " DCM[229]";
00332 cout << " DCM[230]";
00333 cout << " DCM[231]";
00334 cout << " DCM[232]";
00335 cout << " DCM[233]";
00336 cout << " DCM[234]";
00337 cout << " DCM[235]";
00338 cout << " DCM[236]";
00339 cout << " DCM[237]";
00340 cout << " DCM[238]";
00341 cout << " DCM[239]";
00342 cout << " DCM[240]";
00343 cout << " DCM[241]";
00344 cout << " DCM[242]";
00345 cout << " DCM[243]";
00346 cout << " DCM[244]";
00347 cout << " DCM[245]";
00348 cout << " DCM[246]";
00349 cout << " DCM[247]";
00350 cout << " DCM[248]";
00351 cout << " DCM[249]";
00352 cout << " DCM[250]";
00353 cout << " DCM[251]";
00354 cout << " DCM[252]";
00355 cout << " DCM[253]";
00356 cout << " DCM[254]";
00357 cout << " DCM[255]";
00358 cout << " DCM[256]";
00359 cout << " DCM[257]";
00360 cout << " DCM[258]";
00361 cout << " DCM[259]";
00362 cout << " DCM[260]";
00363 cout << " DCM[261]";
00364 cout << " DCM[262]";
00365 cout << " DCM[263]";
00366 cout << " DCM[264]";
00367 cout << " DCM[265]";
00368 cout << " DCM[266]";
00369 cout << " DCM[267]";
00370 cout << " DCM[268]";
00371 cout << " DCM[269]";
00372 cout << " DCM[270]";
00373 cout << " DCM[271]";
00374 cout << " DCM[272]";
00375 cout << " DCM[273]";
00376 cout << " DCM[274]";
00377 cout << " DCM[275]";
00378 cout << " DCM[276]";
00379 cout << " DCM[277]";
00380 cout << " DCM[278]";
00381 cout << " DCM[279]";
00382 cout << " DCM[280]";
00383 cout << " DCM[281]";
00384 cout << " DCM[282]";
00385 cout << " DCM[283]";
00386 cout << " DCM[284]";
00387 cout << " DCM[285]";
00388 cout << " DCM[286]";
00389 cout << " DCM[287]";
00390 cout << " DCM[288]";
00391 cout << " DCM[289]";
00392 cout << " DCM[290]";
00393 cout << " DCM[291]";
00394 cout << " DCM[292]";
00395 cout << " DCM[293]";
00396 cout << " DCM[294]";
00397 cout << " DCM[295]";
00398 cout << " DCM[296]";
00399 cout << " DCM[297]";
00400 cout << " DCM[298]";
00401 cout << " DCM[299]";
00402 cout << " DCM[300]";
00403 cout << " DCM[301]";
00404 cout << " DCM[302]";
00405 cout << " DCM[303]";
00406 cout << " DCM[304]";
00407 cout << " DCM[305]";
00408 cout << " DCM[306]";
00409 cout << " DCM[307]";
00410 cout << " DCM[308]";
00411 cout << " DCM[309]";
00412 cout << " DCM[310]";
00413 cout << " DCM[311]";
00414 cout << " DCM[312]";
00415 cout << " DCM[313]";
00416 cout << " DCM[314]";
00417 cout << " DCM[315]";
00418 cout << " DCM[316]";
00419 cout << " DCM[317]";
00420 cout << " DCM[318]";
00421 cout << " DCM[319]";
00422 cout << " DCM[320]";
00423 cout << " DCM[321]";
00424 cout << " DCM[322]";
00425 cout << " DCM[323]";
00426 cout << " DCM[324]";
00427 cout << " DCM[325]";
00428 cout << " DCM[326]";
00429 cout << " DCM[327]";
00430 cout << " DCM[328]";
00431 cout << " DCM[329]";
00432 cout << " DCM[330]";
00433 cout << " DCM[331]";
00434 cout << " DCM[332]";
00435 cout << " DCM[333]";
00436 cout << " DCM[334]";
00437 cout << " DCM[335]";
00438 cout << " DCM[336]";
00439 cout << " DCM[337]";
00440 cout << " DCM[338]";
00441 cout << " DCM[339]";
00442 cout << " DCM[340]";
00443 cout << " DCM[341]";
00444 cout << " DCM[342]";
00445 cout << " DCM[343]";
00446 cout << " DCM[344]";
00447 cout << " DCM[345]";
00448 cout << " DCM[346]";
00449 cout << " DCM[347]";
00450 cout << " DCM[348]";
00451 cout << " DCM[349]";
00452 cout << " DCM[350]";
00453 cout << " DCM[351]";
00454 cout << " DCM[352]";
00455 cout << " DCM[353]";
00456 cout << " DCM[354]";
00457 cout << " DCM[355]";
00458 cout << " DCM[356]";
00459 cout << " DCM[357]";
00460 cout << " DCM[358]";
00461 cout << " DCM[359]";
00462 cout << " DCM[360]";
00463 cout << " DCM[361]";
00464 cout << " DCM[362]";
00465 cout << " DCM[363]";
00466 cout << " DCM[364]";
00467 cout << " DCM[365]";
00468 cout << " DCM[366]";
00469 cout << " DCM[367]";
00470 cout << " DCM[368]";
00471 cout << " DCM[369]";
00472 cout << " DCM[370]";
00473 cout << " DCM[371]";
00474 cout << " DCM[372]";
00475 cout << " DCM[373]";
00476 cout << " DCM[374]";
00477 cout << " DCM[375]";
00478 cout << " DCM[376]";
00479 cout << " DCM[377]";
00480 cout << " DCM[378]";
00481 cout << " DCM[379]";
00482 cout << " DCM[380]";
00483 cout << " DCM[381]";
00484 cout << " DCM[382]";
00485 cout << " DCM[383]";
00486 cout << " DCM[384]";
00487 cout << " DCM[385]";
00488 cout << " DCM[386]";
00489 cout << " DCM[387]";
00490 cout << " DCM[388]";
00491 cout << " DCM[389]";
00492 cout << " DCM[390]";
00493 cout << " DCM[391]";
00494 cout << " DCM[392]";
00495 cout << " DCM[393]";
00496 cout << " DCM[394]";
00497 cout << " DCM[395]";
00498 cout << " DCM[396]";
00499 cout << " DCM[397]";
00500 cout << " DCM[398]";
00501 cout << " DCM[399]";
00502 cout << " DCM[400]";
00503 cout << " DCM[401]";
00504 cout << " DCM[402]";
00505 cout << " DCM[403]";
00506 cout << " DCM[404]";
00507 cout << " DCM[405]";
00508 cout << " DCM[406]";
00509 cout << " DCM[407]";
00510 cout << " DCM[408]";
00511 cout << " DCM[409]";
00512 cout << " DCM[410]";
00513 cout << " DCM[411]";
00514 cout << " DCM[412]";
00515 cout << " DCM[413]";
00516 cout << " DCM[414]";
00517 cout << " DCM[415]";
00518 cout << " DCM[416]";
00519 cout << " DCM[417]";
00520 cout << " DCM[418]";
00521 cout << " DCM[419]";
00522 cout << " DCM[420]";
00523 cout << " DCM[421]";
00524 cout << " DCM[422]";
00525 cout << " DCM[423]";
00526 cout << " DCM[424]";
00527 cout << " DCM[425]";
00528 cout << " DCM[426]";
00529 cout << " DCM[427]";
00530 cout << " DCM[428]";
00531 cout << " DCM[429]";
00532 cout << " DCM[430]";
00533 cout << " DCM[431]";
00534 cout << " DCM[432]";
00535 cout << " DCM[433]";
00536 cout << " DCM[434]";
00537 cout << " DCM[435]";
00538 cout << " DCM[436]";
00539 cout << " DCM[437]";
00540 cout << " DCM[438]";
00541 cout << " DCM[439]";
00542 cout << " DCM[440]";
00543 cout << " DCM[441]";
00544 cout << " DCM[442]";
00545 cout << " DCM[443]";
00546 cout << " DCM[444]";
00547 cout << " DCM[445]";
00548 cout << " DCM[446]";
00549 cout << " DCM[447]";
00550 cout << " DCM[448]";
00551 cout << " DCM[449]";
00552 cout << " DCM[450]";
00553 cout << " DCM[451]";
00554 cout << " DCM[452]";
00555 cout << " DCM[453]";
00556 cout << " DCM[454]";
00557 cout << " DCM[455]";
00558 cout << " DCM[456]";
00559 cout << " DCM[457]";
00560 cout << " DCM[458]";
00561 cout << " DCM[459]";
00562 cout << " DCM[460]";
00563 cout << " DCM[461]";
00564 cout << " DCM[462]";
00565 cout << " DCM[463]";
00566 cout << " DCM[464]";
00567 cout << " DCM[465]";
00568 cout << " DCM[466]";
00569 cout << " DCM[467]";
00570 cout << " DCM[468]";
00571 cout << " DCM[469]";
00572 cout << " DCM[470]";
00573 cout << " DCM[471]";
00574 cout << " DCM[472]";
00575 cout << " DCM[473]";
00576 cout << " DCM[474]";
00577 cout << " DCM[475]";
00578 cout << " DCM[476]";
00579 cout << " DCM[477]";
00580 cout << " DCM[478]";
00581 cout << " DCM[479]";
00582 cout << " DCM[480]";
00583 cout << " DCM[481]";
00584 cout << " DCM[482]";
00585 cout << " DCM[483]";
00586 cout << " DCM[484]";
00587 cout << " DCM[485]";
00588 cout << " DCM[486]";
00589 cout << " DCM[487]";
00590 cout << " DCM[488]";
00591 cout << " DCM[489]";
00592 cout << " DCM[490]";
00593 cout << " DCM[491]";
00594 cout << " DCM[492]";
00595 cout << " DCM[493]";
00596 cout << " DCM[494]";
00597 cout << " DCM[495]";
00598 cout << " DCM[496]";
00599 cout << " DCM[497]";
00600 cout << " DCM[498]";
00601 cout << " DCM[499]";
00602 cout << " DCM[500]";
00603 cout << " DCM[501]";
00604 cout << " DCM[502]";
00605 cout << " DCM[503]";
00606 cout << " DCM[504]";
00607 cout << " DCM[505]";
00608 cout << " DCM[506]";
00609 cout << " DCM[507]";
00610 cout << " DCM[508]";
00611 cout << " DCM[509]";
00612 cout << " DCM[510]";
00613 cout << " DCM[511]";
00614 cout << " DCM[512]";
00615 cout << " DCM[513]";
00616 cout << " DCM[514]";
00617 cout << " DCM[515]";
00618 cout << " DCM[516]";
00619 cout << " DCM[517]";
00620 cout << " DCM[518]";
00621 cout << " DCM[519]";
00622 cout << " DCM[520]";
00623 cout << " DCM[521]";
00624 cout << " DCM[522]";
00625 cout << " DCM[523]";
00626 cout << " DCM[524]";
00627 cout << " DCM[525]";
00628 cout << " DCM[526]";
00629 cout << " DCM[527]";
00630 cout << " DCM[528]";
00631 cout << " DCM[529]";
00632 cout << " DCM[530]";
00633 cout << " DCM[531]";
00634 cout << " DCM[532]";
00635 cout << " DCM[533]";
00636 cout << " DCM[534]";
00637 cout << " DCM[535]";
00638 cout << " DCM[536]";
00639 cout << " DCM[537]";
00640 cout << " DCM[538]";
00641 cout << " DCM[539]";
00642 cout << " DCM[540]";
00643 cout << " DCM[541]";
00644 cout << " DCM[542]";
00645 cout << " DCM[543]";
00646 cout << " DCM[544]";
00647 cout << " DCM[545]";
00648 cout << " DCM[546]";
00649 cout << " DCM[547]";
00650 cout << " DCM[548]";
00651 cout << " DCM[549]";
00652 cout << " DCM[550]";
00653 cout << " DCM[551]";
00654 cout << " DCM[552]";
00655 cout << " DCM[553]";
00656 cout << " DCM[554]";
00657 cout << " DCM[555]";
00658 cout << " DCM[556]";
00659 cout << " DCM[557]";
00660 cout << " DCM[558]";
00661 cout << " DCM[559]";
00662 cout << " DCM[560]";
00663 cout << " DCM[561]";
00664 cout << " DCM[562]";
00665 cout << " DCM[563]";
00666 cout << " DCM[564]";
00667 cout << " DCM[565]";
00668 cout << " DCM[566]";
00669 cout << " DCM[567]";
00670 cout << " DCM[568]";
00671 cout << " DCM[569]";
00672 cout << " DCM[570]";
00673 cout << " DCM[571]";
00674 cout << " DCM[572]";
00675 cout << " DCM[573]";
00676 cout << " DCM[574]";
00677 cout << " DCM[575]";
00678 cout << " DCM[576]";
00679 cout << " DCM[577]";
00680 cout << " DCM[578]";
00681 cout << " DCM[579]";
00682 cout << " DCM[580]";
00683 cout << " DCM[581]";
00684 cout << " DCM[582]";
00685 cout << " DCM[583]";
00686 cout << " DCM[584]";
00687 cout << " DCM[585]";
00688 cout << " DCM[586]";
00689 cout << " DCM[587]";
00690 cout << " DCM[588]";
00691 cout << " DCM[589]";
00692 cout << " DCM[590]";
00693 cout << " DCM[591]";
00694 cout << " DCM[592]";
00695 cout << " DCM[593]";
00696 cout << " DCM[594]";
00697 cout << " DCM[595]";
00698 cout << " DCM[596]";
00699 cout << " DCM[597]";
00700 cout << " DCM[598]";
00701 cout << " DCM[599]";
00702 cout << " DCM[600]";
00703 cout << " DCM[601]";
00704 cout << " DCM[602]";
00705 cout << " DCM[603]";
00706 cout << " DCM[604]";
00707 cout << " DCM[605]";
00708 cout << " DCM[606]";
00709 cout << " DCM[607]";
00710 cout << " DCM[608]";
00711 cout << " DCM[609]";
00712 cout << " DCM[610]";
00713 cout << " DCM[611]";
00714 cout << " DCM[612]";
00715 cout << " DCM[613]";
00716 cout << " DCM[614]";
00717 cout << " DCM[615]";
00718 cout << " DCM[616]";
00719 cout << " DCM[617]";
00720 cout << " DCM[618]";
00721 cout << " DCM[619]";
00722 cout << " DCM[620]";
00723 cout << " DCM[621]";
00724 cout << " DCM[622]";
00725 cout << " DCM[623]";
00726 cout << " DCM[624]";
00727 cout << " DCM[625]";
00728 cout << " DCM[626]";
00729 cout << " DCM[627]";
00730 cout << " DCM[628]";
00731 cout << " DCM[629]";
00732 cout << " DCM[630]";
00733 cout << " DCM[631]";
00734 cout << " DCM[632]";
00735 cout << " DCM[633]";
00736 cout << " DCM[634]";
00737 cout << " DCM[635]";
00738 cout << " DCM[636]";
00739 cout << " DCM[637]";
00740 cout << " DCM[638]";
00741 cout << " DCM[639]";
00742 cout << " DCM[640]";
00743 cout << " DCM[641]";
00744 cout << " DCM[642]";
00745 cout << " DCM[643]";
00746 cout << " DCM[644]";
00747 cout << " DCM[645]";
00748 cout << " DCM[646]";
00749 cout << " DCM[647]";
00750 cout << " DCM[648]";
00751 cout << " DCM[649]";
00752 cout << " DCM[650]";
00753 cout << " DCM[651]";
00754 cout << " DCM[652]";
00755 cout << " DCM[653]";
00756 cout << " DCM[654]";
00757 cout << " DCM[655]";
00758 cout << " DCM[656]";
00759 cout << " DCM[657]";
00760 cout << " DCM[658]";
00761 cout << " DCM[659]";
00762 cout << " DCM[660]";
00763 cout << " DCM[661]";
00764 cout << " DCM[662]";
00765 cout << " DCM[663]";
00766 cout << " DCM[664]";
00767 cout << " DCM[665]";
00768 cout << " DCM[666]";
00769 cout << " DCM[667]";
00770 cout << " DCM[668]";
00771 cout << " DCM[669]";
00772 cout << " DCM[670]";
00773 cout << " DCM[671]";
00774 cout << " DCM[672]";
00775 cout << " DCM[673]";
00776 cout << " DCM[674]";
00777 cout << " DCM[675]";
00778 cout << " DCM[676]";
00779 cout << " DCM[677]";
00780 cout << " DCM[678]";
00781 cout << " DCM[679]";
00782 cout << " DCM[680]";
00783 cout << " DCM[681]";
00784 cout << " DCM[682]";
00785 cout << " DCM[683]";
00786 cout << " DCM[684]";
00787 cout << " DCM[685]";
00788 cout << " DCM[686]";
00789 cout << " DCM[687]";
00790 cout << " DCM[688]";
00791 cout << " DCM[689]";
00792 cout << " DCM[690]";
00793 cout << " DCM[691]";
00794 cout << " DCM[692]";
00795 cout << " DCM[693]";
00796 cout << " DCM[694]";
00797 cout << " DCM[695]";
00798 cout << " DCM[696]";
00799 cout << " DCM[697]";
00800 cout << " DCM[698]";
00801 cout << " DCM[699]";
00802 cout << " DCM[700]";
00803 cout << " DCM[701]";
00804 cout << " DCM[702]";
00805 cout << " DCM[703]";
00806 cout << " DCM[704]";
00807 cout << " DCM[705]";
00808 cout << " DCM[706]";
00809 cout << " DCM[707]";
00810 cout << " DCM[708]";
00811 cout << " DCM[709]";
00812 cout << " DCM[710]";
00813 cout << " DCM[711]";
00814 cout << " DCM[712]";
00815 cout << " DCM[713]";
00816 cout << " DCM[714]";
00817 cout << " DCM[715]";
00818 cout << " DCM[716]";
00819 cout << " DCM[717]";
00820 cout << " DCM[718]";
00821 cout << " DCM[719]";
00822 cout << " DCM[720]";
00823 cout << " DCM[721]";
00824 cout << " DCM[722]";
00825 cout << " DCM[723]";
00826 cout << " DCM[724]";
00827 cout << " DCM[725]";
00828 cout << " DCM[726]";
00829 cout << " DCM[727]";
00830 cout << " DCM[728]";
00831 cout << " DCM[729]";
00832 cout << " DCM[730]";
00833 cout << " DCM[731]";
00834 cout << " DCM[732]";
00835 cout << " DCM[733]";
00836 cout << " DCM[734]";
00837 cout << " DCM[735]";
00838 cout << " DCM[736]";
00839 cout << " DCM[737]";
00840 cout << " DCM[738]";
00841 cout << " DCM[739]";
00842 cout << " DCM[740]";
00843 cout << " DCM[741]";
00844 cout << " DCM[742]";
00845 cout << " DCM[743]";
00846 cout << " DCM[744]";
00847 cout << " DCM[745]";
00848 cout << " DCM[746]";
00849 cout << " DCM[747]";
00850 cout << " DCM[748]";
00851 cout << " DCM[749]";
00852 cout << " DCM[750]";
00853 cout << " DCM[751]";
00854 cout << " DCM[752]";
00855 cout << " DCM[753]";
00856 cout << " DCM[754]";
00857 cout << " DCM[755]";
00858 cout << " DCM[756]";
00859 cout << " DCM[757]";
00860 cout << " DCM[758]";
00861 cout << " DCM[759]";
00862 cout << " DCM[760]";
00863 cout << " DCM[761]";
00864 cout << " DCM[762]";
00865 cout << " DCM[763]";
00866 cout << " DCM[764]";
00867 cout << " DCM[765]";
00868 cout << " DCM[766]";
00869 cout << " DCM[767]";
00870 cout << " DCM[768]";
00871 cout << " DCM[769]";
00872 cout << " DCM[770]";
00873 cout << " DCM[771]";
00874 cout << " DCM[772]";
00875 cout << " DCM[773]";
00876 cout << " DCM[774]";
00877 cout << " DCM[775]";
00878 cout << " DCM[776]";
00879 cout << " DCM[777]";
00880 cout << " DCM[778]";
00881 cout << " DCM[779]";
00882 cout << " DCM[780]";
00883 cout << " DCM[781]";
00884 cout << " DCM[782]";
00885 cout << " DCM[783]";
00886 cout << " DCM[784]";
00887 cout << " DCM[785]";
00888 cout << " DCM[786]";
00889 cout << " DCM[787]";
00890 cout << " DCM[788]";
00891 cout << " DCM[789]";
00892 cout << " DCM[790]";
00893 cout << " DCM[791]";
00894 cout << " DCM[792]";
00895 cout << " DCM[793]";
00896 cout << " DCM[794]";
00897 cout << " DCM[795]";
00898 cout << " DCM[796]";
00899 cout << " DCM[797]";
00900 cout << " DCM[798]";
00901 cout << " DCM[799]";
00902 cout << " DCM[800]";
00903 cout << " DCM[801]";
00904 cout << " DCM[802]";
00905 cout << " DCM[803]";
00906 cout << " DCM[804]";
00907 cout << " DCM[805]";
00908 cout << " DCM[806]";
00909 cout << " DCM[807]";
00910 cout << " DCM[808]";
00911 cout << " DCM[809]";
00912 cout << " DCM[810]";
00913 cout << " DCM[811]";
00914 cout << " DCM[812]";
00915 cout << " DCM[813]";
00916 cout << " DCM[814]";
00917 cout << " DCM[815]";
00918 cout << " DCM[816]";
00919 cout << " DCM[817]";
00920 cout << " DCM[818]";
00921 cout << " DCM[819]";
00922 cout << " DCM[820]";
00923 cout << " DCM[821]";
00924 cout << " DCM[822]";
00925 cout << " DCM[823]";
00926 cout << " DCM[824]";
00927 cout << " DCM[825]";
00928 cout << " DCM[826]";
00929 cout << " DCM[827]";
00930 cout << " DCM[828]";
00931 cout << " DCM[829]";
00932 cout << " DCM[830]";
00933 cout << " DCM[831]";
00934 cout << " DCM[832]";
00935 cout << " DCM[833]";
00936 cout << " DCM[834]";
00937 cout << " DCM[835]";
00938 cout << " DCM[836]";
00939 cout << " DCM[837]";
00940 cout << " DCM[838]";
00941 cout << " DCM[839]";
00942 cout << " DCM[840]";
00943 cout << " DCM[841]";
00944 cout << " DCM[842]";
00945 cout << " DCM[843]";
00946 cout << " DCM[844]";
00947 cout << " DCM[845]";
00948 cout << " DCM[846]";
00949 cout << " DCM[847]";
00950 cout << " DCM[848]";
00951 cout << " DCM[849]";
00952 cout << " DCM[850]";
00953 cout << " DCM[851]";
00954 cout << " DCM[852]";
00955 cout << " DCM[853]";
00956 cout << " DCM[854]";
00957 cout << " DCM[855]";
00958 cout << " DCM[856]";
00959 cout << " DCM[857]";
00960 cout << " DCM[858]";
00961 cout << " DCM[859]";
00962 cout << " DCM[860]";
00963 cout << " DCM[861]";
00964 cout << " DCM[862]";
00965 cout << " DCM[863]";
00966 cout << " DCM[864]";
00967 cout << " DCM[865]";
00968 cout << " DCM[866]";
00969 cout << " DCM[867]";
00970 cout << " DCM[868]";
00971 cout << " DCM[869]";
00972 cout << " DCM[870]";
00973 cout << " DCM[871]";
00974 cout << " DCM[872]";
00975 cout << " DCM[873]";
00976 cout << " DCM[874]";
00977 cout << " DCM[875]";
00978 cout << " DCM[876]";
00979 cout << " DCM[877]";
00980 cout << " DCM[878]";
00981 cout << " DCM[879]";
00982 cout << " DCM[880]";
00983 cout << " DCM[881]";
00984 cout << " DCM[882]";
00985 cout << " DCM[883]";
00986 cout << " DCM[884]";
00987 cout << " DCM[885]";
00988 cout << " DCM[886]";
00989 cout << " DCM[887]";
00990 cout << " DCM[888]";
00991 cout << " DCM[889]";
00992 cout << " DCM[890]";
00993 cout << " DCM[891]";
00994 cout << " DCM[892]";
00995 cout << " DCM[893]";
00996 cout << " DCM[894]";
00997 cout << " DCM[895]";
00998 cout << " DCM[896]";
00999 cout << " DCM[897]";
01000 cout << " DCM[898]";
01001 cout << " DCM[899]";
01002 cout << " DCM[900]";
01003 cout << " DCM[901]";
01004 cout << " DCM[902]";
01005 cout << " DCM[903]";
01006 cout << " DCM[904]";
01007 cout << " DCM[905]";
01008 cout << " DCM[906]";
01009 cout << " DCM[907]";
01010 cout << " DCM[908]";
01011 cout << " DCM[909]";
01012 cout << " DCM[910]";
01013 cout << " DCM[911]";
01014 cout << " DCM[912]";
01015 cout << " DCM[913]";
01016 cout << " DCM[914]";
01017 cout << " DCM[915]";
01018 cout << " DCM[916]";
01019 cout << " DCM[917]";
01020 cout << " DCM[918]";
01021 cout << " DCM[919]";
01022 cout << " DCM[920]";
01023 cout << " DCM[921]";
01024 cout << " DCM[922]";
01025 cout << " DCM[923]";
01026 cout << " DCM[924]";
01027 cout << " DCM[925]";
01028 cout << " DCM[926]";
01029 cout << " DCM[927]";
01030 cout << " DCM[928]";
01031 cout << " DCM[929]";
01032 cout << " DCM[930]";
01033 cout << " DCM[931]";
01034 cout << " DCM[932]";
01035 cout << " DCM[933]";
01036 cout << " DCM[934]";
01037 cout << " DCM[935]";
01038 cout << " DCM[936]";
01039 cout << " DCM[937]";
01040 cout << " DCM[938]";
01041 cout << " DCM[939]";
01042 cout << " DCM[940]";
01043 cout << " DCM[941]";
01044 cout << " DCM[942]";
01045 cout << " DCM[943]";
01046 cout << " DCM[944]";
01047 cout << " DCM[945]";
01048 cout << " DCM[946]";
01049 cout << " DCM[947]";
01050 cout << " DCM[948]";
01051 cout << " DCM[949]";
01052 cout << " DCM[950]";
01053 cout << " DCM[951]";
01054 cout << " DCM[952]";
01055 cout << " DCM[953]";
01056 cout << " DCM[954]";
01057 cout << " DCM[955]";
01058 cout << " DCM[956]";
01059 cout << " DCM[957]";
01060 cout << " DCM[958]";
01061 cout << " DCM[959]";
01062 cout << " DCM[960]";
01063 cout << " DCM[961]";
01064 cout << " DCM[962]";
01065 cout << " DCM[963]";
01066 cout << " DCM[964]";
01067 cout << " DCM[965]";
01068 cout << " DCM[966]";
01069 cout << " DCM[967]";
01070 cout << " DCM[968]";
01071 cout << " DCM[969]";
01072 cout << " DCM[970]";
01073 cout << " DCM[971]";
01074 cout << " DCM[972]";
01075 cout << " DCM[973]";
01076 cout << " DCM[974]";
01077 cout << " DCM[975]";
01078 cout << " DCM[976]";
01079 cout << " DCM[977]";
01080 cout << " DCM[978]";
01081 cout << endl;
01082
01083 size_t last_row = RowCount();
01084 if (last_row > first_row+num_rows) last_row = first_row+num_rows;
01085 for (size_t row = first_row; row < last_row; row++) {
01086 cout << setw(7) << row << ":";
01087
01088 cout << " " << setw(11) << fTableData[row].nWords;
01089 cout << " " << setw(11) << fTableData[row].scheme;
01090 cout << " " << setw(11) << fTableData[row].packetID;
01091 for(int i0=0; i0<979; i0++) {
01092 cout << " " << setw(11) << fTableData[row].DCM[i0];
01093 }
01094
01095 cout << endl;
01096 }
01097
01098 }
01099
01100 void
01101 dEmcDCMLongDataWrapper::Print(Option_t* option)
01102 {
01103
01104
01105
01106
01107
01108
01109 if (!option || (strlen(option) <= 0) ) {
01110
01111 Print(10, 0);
01112 } else {
01113
01114
01115 PHTable::Print(option);
01116 }
01117 }
01118
01119 void
01120 dEmcDCMLongDataWrapper::SetMaxRowCount(const size_t& max_rows)
01121 {
01122
01123 if (max_rows <= 0) {
01124 return;
01125 }
01126
01127
01128 if (fTableHeader->nok > max_rows) {
01129 fTableHeader->nok = max_rows;
01130 }
01131
01132
01133 if (max_rows > fTableHeader->maxlen) {
01134 DEMCDCMLONGDATA_ST* newData = new DEMCDCMLONGDATA_ST[max_rows];
01135 if (fTableData) {
01136 for (long i = 0; i < fTableHeader->nok; i++) {
01137 newData[i] = fTableData[i];
01138 }
01139 delete [] fTableData;
01140 }
01141 fTableData = newData;
01142 fTableHeader->data_pointer = (long)fTableData;
01143 }
01144
01145 fTableHeader->maxlen = max_rows;
01146 }
01147 void
01148 dEmcDCMLongDataWrapper::SetRowCount(const size_t& n)
01149 {
01150 if (n > fTableHeader->maxlen) {
01151 fTableHeader->nok = fTableHeader->maxlen;
01152 }
01153 else if (n >= 0) {
01154 fTableHeader->nok = n;
01155 }
01156 }
01157
01158 void
01159 dEmcDCMLongDataWrapper::SetRowSize(const size_t& row_size)
01160 {
01161 if (row_size > 0) {
01162 fTableHeader->rbytes = row_size;
01163 }
01164 }
01165
01166 void
01167 dEmcDCMLongDataWrapper::Streamer(TBuffer& b)
01168 {
01169
01170
01171
01172 if (b.IsReading()) {
01173 Version_t v = b.ReadVersion();
01174 PHTable::Streamer(b);
01175 if (RowSize() != sizeof(DEMCDCMLONGDATA_ST)) {
01176
01177 return;
01178 }
01179
01180
01181
01182
01183
01184 size_t max_rows = MaxRowCount();
01185 if (max_rows <= 0) {
01186 max_rows = 1;
01187 }
01188
01189 delete [] fTableData;
01190 fTableData = new DEMCDCMLONGDATA_ST[max_rows];
01191 fTableHeader->data_pointer = (long)fTableData;
01192
01193 SetMaxRowCount(max_rows);
01194 SetType("dEmcDCMLongDataWrapper");
01195
01196 for (long i=0; i<RowCount(); i++) {
01197 b >> fTableData[i].nWords;
01198 b >> fTableData[i].scheme;
01199 b >> fTableData[i].packetID;
01200 b.ReadStaticArray(fTableData[i].DCM);
01201 }
01202 }
01203 else {
01204 b.WriteVersion(IsA());
01205 PHTable::Streamer(b);
01206 for (long i=0; i<RowCount(); i++) {
01207 b << fTableData[i].nWords;
01208 b << fTableData[i].scheme;
01209 b << fTableData[i].packetID;
01210 b.WriteArray(fTableData[i].DCM,979);
01211 }
01212 }
01213
01214 }
01215