00001
00002 #include "AsciiData.hh"
00003
00004
00005
00006 std::istream& operator>>(std::istream& is, FRMTVERSION& x)
00007 {
00008 x.check_start_tag(is,"VERSION");
00009 if(!x.initialized()) return is;
00010 is >> x.major;
00011 is >> x.minor;
00012 x.check_end_tag(is, "VERSION");
00013 return is;
00014 }
00015
00016 std::ostream& operator<<(std::ostream& os, const FRMTVERSION& x)
00017 {
00018 os << std::endl << "{ VERSION" << std::endl;
00019 if(x.initialized()) {
00020 os << " " << x.major;
00021 os << " " << x.minor;
00022 }
00023 os << std::endl << "} VERSION" << std::endl;
00024 return os;
00025 }
00026
00027 std::istream& operator>>(std::istream& is, EVHEAD& x)
00028 {
00029 x.check_start_tag(is,"EVHEAD");
00030 if(!x.initialized()) return is;
00031 is >> x.runNo;
00032 is >> x.eventNo;
00033 x.check_end_tag(is, "EVHEAD");
00034 return is;
00035 }
00036
00037 std::ostream& operator<<(std::ostream &os,const EVHEAD& x)
00038 {
00039 os << std::endl << "{ EVHEAD" << std::endl;
00040 if(x.initialized()) {
00041 os << " " << x.runNo;
00042 os << " " << x.eventNo;
00043 }
00044 os << std::endl << "} EVHEAD" << std::endl;
00045 return os;
00046 }
00047
00048 std::istream& operator>>(std::istream& is, DECAYMODE& x)
00049 {
00050 x.check_start_tag(is,"DECAYMODE");
00051 if(!x.initialized()) return is;
00052 is >> x.size;
00053 for (int index=0; index<x.size; index++) {
00054 is >> x.data[index];
00055 }
00056 x.check_end_tag(is, "DECAYMODE");
00057 return is;
00058 }
00059
00060 std::ostream& operator<<(std::ostream &os,const DECAYMODE& x)
00061 {
00062 os << std::endl << "{ DECAYMODE" << std::endl;
00063 if(x.initialized()) {
00064 os << " " << x.size;
00065 for (int index=0; index<x.size; index++) {
00066 os << " " << x.data[index];
00067 }
00068 }
00069 os << std::endl << "} DECAYMODE" << std::endl;
00070 return os;
00071 }
00072
00073 std::istream& operator>>(std::istream& is, TrackTruthType& x)
00074 {
00075 is >> x.trackIndex;
00076 is >> x.PDGCode;
00077 is >> x.PDGCharge;
00078 is >> x.v0Index;
00079 is >> x.v1Index;
00080 is >> x.px;
00081 is >> x.py;
00082 is >> x.pz;
00083 is >> x.E;
00084 is >> x.minDaughterIndex;
00085 is >> x.maxDaughterIndex;
00086 return is;
00087 }
00088
00089 std::ostream& operator<<(std::ostream &os,const TrackTruthType& x)
00090 {
00091 os << " " << x.trackIndex;
00092 os << " " << x.PDGCode;
00093 os << " " << x.PDGCharge;
00094 os << " " << x.v0Index;
00095 os << " " << x.v1Index;
00096 os << " " << x.px;
00097 os << " " << x.py;
00098 os << " " << x.pz;
00099 os << " " << x.E;
00100 os << " " << x.minDaughterIndex;
00101 os << " " << x.maxDaughterIndex;
00102 os << std::endl;
00103 return os;
00104 }
00105
00106 std::istream& operator>>(std::istream& is, TRACKTRUTH& x)
00107 {
00108 x.check_start_tag(is,"TRACKTRUTH");
00109 if(!x.initialized()) return is;
00110 is >> x.nTruth;
00111 x.truthCol.resize(x.nTruth);
00112 {for(int i = 0; i < x.nTruth; i++) {
00113 is >> x.truthCol[i];
00114 }}
00115 x.check_end_tag(is, "TRACKTRUTH");
00116 return is;
00117 }
00118
00119 std::ostream& operator<<(std::ostream &os,const TRACKTRUTH& x)
00120 {
00121 os << std::endl << "{ TRACKTRUTH" << std::endl;
00122 if(x.initialized()) {
00123 os << " " << x.nTruth;
00124 {for(int i = 0; i < x.nTruth; i++) {
00125 os << " " << x.truthCol[i];
00126 }}
00127 }
00128 os << std::endl << "} TRACKTRUTH" << std::endl;
00129 return os;
00130 }
00131
00132 std::istream& operator>>(std::istream& is, VertexTruthType& x)
00133 {
00134 is >> x.vertexIndex;
00135 is >> x.parentTrackIndex;
00136 is >> x.posX;
00137 is >> x.posY;
00138 is >> x.posZ;
00139 is >> x.time;
00140 return is;
00141 }
00142
00143 std::ostream& operator<<(std::ostream &os,const VertexTruthType& x)
00144 {
00145 os << " " << x.vertexIndex;
00146 os << " " << x.parentTrackIndex;
00147 os << " " << x.posX;
00148 os << " " << x.posY;
00149 os << " " << x.posZ;
00150 os << " " << x.time;
00151 os << std::endl;
00152 return os;
00153 }
00154
00155 std::istream& operator>>(std::istream& is, VERTEXTRUTH& x)
00156 {
00157 x.check_start_tag(is,"VERTEXTRUTH");
00158 if(!x.initialized()) return is;
00159 is >> x.nTruth;
00160 x.truthCol.resize(x.nTruth);
00161 {for(int i = 0; i < x.nTruth; i++) {
00162 is >> x.truthCol[i];
00163 }}
00164 x.check_end_tag(is, "VERTEXTRUTH");
00165 return is;
00166 }
00167
00168 std::ostream& operator<<(std::ostream &os,const VERTEXTRUTH& x)
00169 {
00170 os << std::endl << "{ VERTEXTRUTH" << std::endl;
00171 if(x.initialized()) {
00172 os << " " << x.nTruth;
00173 {for(int i = 0; i < x.nTruth; i++) {
00174 os << " " << x.truthCol[i];
00175 }}
00176 }
00177 os << std::endl << "} VERTEXTRUTH" << std::endl;
00178 return os;
00179 }
00180
00181
00182 std::istream& operator>>(std::istream& is, MdcTruthType& x)
00183 {
00184 is >> x.trackIndex;
00185 is >> x.layerNo;
00186 is >> x.cellNo;
00187 is >> x.edep;
00188 is >> x.driftD;
00189 is >> x.posX;
00190 is >> x.posY;
00191 is >> x.posZ;
00192 is >> x.posFlag;
00193 return is;
00194 }
00195
00196 std::ostream& operator<<(std::ostream &os,const MdcTruthType& x)
00197 {
00198 os << " " << x.trackIndex;
00199 os << " " << x.layerNo;
00200 os << " " << x.cellNo;
00201 os << " " << x.edep;
00202 os << " " << x.driftD;
00203 os << " " << x.posX;
00204 os << " " << x.posY;
00205 os << " " << x.posZ;
00206 os << " " << x.posFlag;
00207 os << std::endl;
00208 return os;
00209 }
00210
00211 std::istream& operator>>(std::istream& is, MDCTRUTH& x)
00212 {
00213 x.check_start_tag(is,"MDCTRUTH");
00214 if(!x.initialized()) return is;
00215 is >> x.nTruth;
00216 x.truthCol.resize(x.nTruth);
00217 {for(int i = 0; i < x.nTruth; i++) {
00218 is >> x.truthCol[i];
00219 }}
00220 x.check_end_tag(is, "MDCTRUTH");
00221 return is;
00222 }
00223
00224 std::ostream& operator<<(std::ostream &os,const MDCTRUTH& x)
00225 {
00226 os << std::endl << "{ MDCTRUTH" << std::endl;
00227 if(x.initialized()) {
00228 os << " " << x.nTruth;
00229 {for(int i = 0; i < x.nTruth; i++) {
00230 os << " " << x.truthCol[i];
00231 }}
00232 }
00233 os << std::endl << "} MDCTRUTH" << std::endl;
00234 return os;
00235 }
00236
00237 std::istream& operator>>(std::istream& is, TofTruthType& x)
00238 {
00239 is >> x.trackIndex;
00240 is >> x.partId;
00241 is >> x.scinNb;
00242 is >> x.posX;
00243 is >> x.posY;
00244 is >> x.posZ;
00245 is >> x.px;
00246 is >> x.py;
00247 is >> x.pz;
00248 is >> x.trackL;
00249 is >> x.time;
00250 return is;
00251 }
00252
00253 std::ostream& operator<<(std::ostream &os,const TofTruthType& x)
00254 {
00255 os << " " << x.trackIndex;
00256 os << " " << x.partId;
00257 os << " " << x.scinNb;
00258 os << " " << x.posX;
00259 os << " " << x.posY;
00260 os << " " << x.posZ;
00261 os << " " << x.px;
00262 os << " " << x.py;
00263 os << " " << x.pz;
00264 os << " " << x.trackL;
00265 os << " " << x.time;
00266 os << std::endl;
00267 return os;
00268 }
00269
00270 std::istream& operator>>(std::istream& is, TOFTRUTH& x)
00271 {
00272 x.check_start_tag(is,"TOFTRUTH");
00273 if(!x.initialized()) return is;
00274 is >> x.nTruth;
00275 x.truthCol.resize(x.nTruth);
00276 {for(int i = 0; i < x.nTruth; i++) {
00277 is >> x.truthCol[i];
00278 }}
00279 x.check_end_tag(is, "TOFTRUTH");
00280 return is;
00281 }
00282
00283 std::ostream& operator<<(std::ostream &os,const TOFTRUTH& x)
00284 {
00285 os << std::endl << "{ TOFTRUTH" << std::endl;
00286 if(x.initialized()) {
00287 os << " " << x.nTruth;
00288 {for(int i = 0; i < x.nTruth; i++) {
00289 os << " " << x.truthCol[i];
00290 }}
00291 }
00292 os << std::endl << "} TOFTRUTH" << std::endl;
00293 return os;
00294 }
00295
00296 std::istream& operator>>(std::istream& is, EmcTruthType& x)
00297 {
00298 is >> x.trackIndex;
00299 is >> x.partId;
00300 is >> x.numTheta;
00301 is >> x.numPhi;
00302 is >> x.posX;
00303 is >> x.posY;
00304 is >> x.posZ;
00305 is >> x.px;
00306 is >> x.py;
00307 is >> x.pz;
00308 is >> x.totalEdep;
00309 return is;
00310 }
00311
00312 std::ostream& operator<<(std::ostream &os,const EmcTruthType& x)
00313 {
00314 os << " " << x.trackIndex;
00315 os << " " << x.partId;
00316 os << " " << x.numTheta;
00317 os << " " << x.numPhi;
00318 os << " " << x.posX;
00319 os << " " << x.posY;
00320 os << " " << x.posZ;
00321 os << " " << x.px;
00322 os << " " << x.py;
00323 os << " " << x.pz;
00324 os << " " << x.totalEdep;
00325 os << std::endl;
00326 return os;
00327
00328 }
00329
00330 std::istream& operator>>(std::istream& is, EMCTRUTH& x)
00331 {
00332 x.check_start_tag(is,"EMCTRUTH");
00333 if(!x.initialized()) return is;
00334 is >> x.nTruth;
00335 x.truthCol.resize(x.nTruth);
00336 {for(int i = 0; i < x.nTruth; i++) {
00337 is >> x.truthCol[i];
00338 }}
00339 x.check_end_tag(is, "EMCTRUTH");
00340 return is;
00341 }
00342
00343 std::ostream& operator<<(std::ostream &os,const EMCTRUTH& x)
00344 {
00345 os << std::endl << "{ EMCTRUTH" << std::endl;
00346 if(x.initialized()) {
00347 os << " " << x.nTruth;
00348 {for(int i = 0; i < x.nTruth; i++) {
00349 os << " " << x.truthCol[i];
00350 }}
00351 }
00352 os << std::endl << "} EMCTRUTH" << std::endl;
00353 return os;
00354 }
00355
00356 std::istream& operator>>(std::istream& is, MucTruthType& x)
00357 {
00358 is >> x.trackIndex;
00359 is >> x.partId;
00360 is >> x.segId;
00361 is >> x.gapId;
00362 is >> x.stripId;
00363 is >> x.posX;
00364 is >> x.posY;
00365 is >> x.posZ;
00366 is >> x.px;
00367 is >> x.py;
00368 is >> x.pz;
00369 return is;
00370 }
00371
00372 std::ostream& operator<<(std::ostream &os,const MucTruthType& x)
00373 {
00374 os << " " << x.trackIndex;
00375 os << " " << x.partId;
00376 os << " " << x.segId;
00377 os << " " << x.gapId;
00378 os << " " << x.stripId;
00379 os << " " << x.posX;
00380 os << " " << x.posY;
00381 os << " " << x.posZ;
00382 os << " " << x.px;
00383 os << " " << x.py;
00384 os << " " << x.pz;
00385 os << std::endl;
00386 return os;
00387 }
00388
00389 std::istream& operator>>(std::istream& is, MUCTRUTH& x)
00390 {
00391 x.check_start_tag(is,"MUCTRUTH");
00392 if(!x.initialized()) return is;
00393 is >> x.nTruth;
00394 x.truthCol.resize(x.nTruth);
00395 {for(int i = 0; i < x.nTruth; i++) {
00396 is >> x.truthCol[i];
00397 }}
00398 x.check_end_tag(is, "MUCTRUTH");
00399 return is;
00400 }
00401
00402 std::ostream& operator<<(std::ostream &os,const MUCTRUTH& x)
00403 {
00404 os << std::endl << "{ MUCTRUTH" << std::endl;
00405 if(x.initialized()) {
00406 os << " " << x.nTruth;
00407 {for(int i = 0; i < x.nTruth; i++) {
00408 os << " " << x.truthCol[i];
00409 }}
00410 }
00411 os << std::endl << "} MUCTRUTH" << std::endl;
00412 return os;
00413 }
00414
00415 std::istream& operator>>(std::istream& is, MdcDigiType& x)
00416 {
00417 is >> x.trackIndex;
00418 is >> x.layerNo;
00419 is >> x.cellNo;
00420 is >> x.energyDeposit;
00421 is >> x.driftTime;
00422 return is;
00423 }
00424
00425 std::ostream& operator<<(std::ostream &os,const MdcDigiType& x)
00426 {
00427 os << " " << x.trackIndex;
00428 os << " " << x.layerNo;
00429 os << " " << x.cellNo;
00430 os << " " << x.energyDeposit;
00431 os << " " << x.driftTime;
00432 os << std::endl;
00433 return os;
00434 }
00435
00436 std::istream& operator>>(std::istream& is, MDCDIGI& x)
00437 {
00438 x.check_start_tag(is,"MDCDIGI");
00439 if(!x.initialized()) return is;
00440 is >> x.nDigi;
00441 x.digiCol.resize(x.nDigi);
00442 {for(int i = 0; i < x.nDigi; i++) {
00443 is >> x.digiCol[i];
00444 }}
00445 x.check_end_tag(is, "MDCDIGI");
00446 return is;
00447 }
00448
00449 std::ostream& operator<<(std::ostream &os,const MDCDIGI& x)
00450 {
00451 os << std::endl << "{ MDCDIGI" << std::endl;
00452 if(x.initialized()) {
00453 os << " " << x.nDigi;
00454 {for(int i = 0; i < x.nDigi; i++) {
00455 os << " " << x.digiCol[i];
00456 }}
00457 }
00458 os << std::endl << "} MDCDIGI" << std::endl;
00459 return os;
00460 }
00461
00462 std::istream& operator>>(std::istream& is, MdcHitType& x)
00463 {
00464 is >> x.trackIndex;
00465 is >> x.layerNo;
00466 is >> x.cellNo;
00467 is >> x.posX;
00468 is >> x.posY;
00469 is >> x.posZ;
00470 is >> x.energyDeposit;
00471 is >> x.driftDistance;
00472 is >> x.globalT;
00473 is >> x.theta;
00474 is >> x.enterAngle;
00475 is >> x.posFlag;
00476 return is;
00477 }
00478
00479 std::ostream& operator<<(std::ostream &os,const MdcHitType& x)
00480 {
00481 os << " " << x.trackIndex;
00482 os << " " << x.layerNo;
00483 os << " " << x.cellNo;
00484 os << " " << x.posX;
00485 os << " " << x.posY;
00486 os << " " << x.posZ;
00487 os << " " << x.energyDeposit;
00488 os << " " << x.driftDistance;
00489 os << " " << x.globalT;
00490 os << " " << x.theta;
00491 os << " " << x.enterAngle;
00492 os << " " << x.posFlag;
00493 os << std::endl;
00494 return os;
00495 }
00496
00497 std::istream& operator>>(std::istream& is, MDCHIT& x)
00498 {
00499 x.check_start_tag(is,"MDCHIT");
00500 if(!x.initialized()) return is;
00501 is >> x.nHit;
00502 x.hitCol.resize(x.nHit);
00503 {for(int i = 0; i < x.nHit; i++) {
00504 is >> x.hitCol[i];
00505 }}
00506 x.check_end_tag(is, "MDCHIT");
00507 return is;
00508 }
00509
00510 std::ostream& operator<<(std::ostream &os,const MDCHIT& x)
00511 {
00512 os << std::endl << "{ MDCHIT" << std::endl;
00513 if(x.initialized()) {
00514 os << " " << x.nHit;
00515 {for(int i = 0; i < x.nHit; i++) {
00516 os << " " << x.hitCol[i];
00517 }}
00518 }
00519 os << std::endl << "} MDCHIT" << std::endl;
00520 return os;
00521 }
00522
00523 std::istream& operator>>(std::istream& is, TofDigiType& x)
00524 {
00525 is >> x.trackIndex;
00526 is >> x.partId;
00527 is >> x.scinNb;
00528 is >> x.forwADC;
00529 is >> x.forwTDC;
00530 is >> x.backADC;
00531 is >> x.backTDC;
00532 return is;
00533 }
00534
00535 std::ostream& operator<<(std::ostream &os,const TofDigiType& x)
00536 {
00537 os << " " << x.trackIndex;
00538 os << " " << x.partId;
00539 os << " " << x.scinNb;
00540 os << " " << x.forwADC;
00541 os << " " << x.forwTDC;
00542 os << " " << x.backADC;
00543 os << " " << x.backTDC;
00544 os << std::endl;
00545 return os;
00546 }
00547
00548
00549 std::istream& operator>>(std::istream& is, TOFDIGI& x)
00550 {
00551 x.check_start_tag(is,"TOFDIGI");
00552 if(!x.initialized()) return is;
00553 is >> x.nDigi;
00554 x.digiCol.resize(x.nDigi);
00555 {for(int i = 0; i < x.nDigi; i++) {
00556 is >> x.digiCol[i];
00557 }}
00558 x.check_end_tag(is, "TOFDIGI");
00559 return is;
00560 }
00561
00562 std::ostream& operator<<(std::ostream &os,const TOFDIGI& x)
00563 {
00564 os << std::endl << "{ TOFDIGI" << std::endl;
00565 if(x.initialized()) {
00566 os << " " << x.nDigi;
00567 {for(int i = 0; i < x.nDigi; i++) {
00568 os << " " << x.digiCol[i];
00569 }}
00570 }
00571 os << std::endl << "} TOFDIGI" << std::endl;
00572 return os;
00573 }
00574
00575 std::istream& operator>>(std::istream& is, TofHitType& x)
00576 {
00577 return is;
00578 }
00579
00580 std::ostream& operator<<(std::ostream &os,const TofHitType& x)
00581 {
00582 os << std::endl;
00583 return os;
00584 }
00585
00586
00587 std::istream& operator>>(std::istream& is, TOFHIT& x)
00588 {
00589 x.check_start_tag(is,"TOFHIT");
00590 if(!x.initialized()) return is;
00591 is >> x.nHit;
00592 x.hitCol.resize(x.nHit);
00593 {for(int i = 0; i < x.nHit; i++) {
00594 is >> x.hitCol[i];
00595 }}
00596 x.check_end_tag(is, "TOFHIT");
00597 return is;
00598 }
00599
00600 std::ostream& operator<<(std::ostream &os,const TOFHIT& x)
00601 {
00602 os << std::endl << "{ TOFHIT" << std::endl;
00603 if(x.initialized()) {
00604 os << " " << x.nHit;
00605 {for(int i = 0; i < x.nHit; i++) {
00606 os << " " << x.hitCol[i];
00607 }}
00608 }
00609 os << std::endl << "} TOFHIT" << std::endl;
00610 return os;
00611 }
00612
00613 std::istream& operator>>(std::istream& is, EmcDigiType& x)
00614 {
00615 is >> x.trackIndex;
00616 is >> x.partId;
00617 is >> x.numTheta;
00618 is >> x.numPhi;
00619 is >> x.energyDeposit;
00620 is >> x.hitTime;
00621 return is;
00622 }
00623
00624 std::ostream& operator<<(std::ostream &os,const EmcDigiType& x)
00625 {
00626 os << " " << x.trackIndex;
00627 os << " " << x.partId;
00628 os << " " << x.numTheta;
00629 os << " " << x.numPhi;
00630 os << " " << x.energyDeposit;
00631 os << " " << x.hitTime;
00632 os << std::endl;
00633 return os;
00634 }
00635
00636 std::istream& operator>>(std::istream& is, EMCDIGI& x)
00637 {
00638 x.check_start_tag(is,"EMCDIGI");
00639 if(!x.initialized()) return is;
00640 is >> x.nDigi;
00641 x.digiCol.resize(x.nDigi);
00642 {for(int i = 0; i < x.nDigi; i++) {
00643 is >> x.digiCol[i];
00644 }}
00645 x.check_end_tag(is, "EMCDIGI");
00646 return is;
00647 }
00648
00649 std::ostream& operator<<(std::ostream &os,const EMCDIGI& x)
00650 {
00651 os << std::endl << "{ EMCDIGI" << std::endl;
00652 if(x.initialized()) {
00653 os << " " << x.nDigi;
00654 {for(int i = 0; i < x.nDigi; i++) {
00655 os << " " << x.digiCol[i];
00656 }}
00657 }
00658 os << std::endl << "} EMCDIGI" << std::endl;
00659 return os;
00660 }
00661
00662 std::istream& operator>>(std::istream& is, EmcHitType& x)
00663 {
00664 return is;
00665 }
00666
00667 std::ostream& operator<<(std::ostream &os,const EmcHitType& x)
00668 {
00669 os << std::endl;
00670 return os;
00671 }
00672
00673
00674 std::istream& operator>>(std::istream& is, EMCHIT& x)
00675 {
00676 x.check_start_tag(is,"EMCHIT");
00677 if(!x.initialized()) return is;
00678 is >> x.nHit;
00679 x.hitCol.resize(x.nHit);
00680 {for(int i = 0; i < x.nHit; i++) {
00681 is >> x.hitCol[i];
00682 }}
00683 x.check_end_tag(is, "EMCHIT");
00684 return is;
00685 }
00686
00687 std::ostream& operator<<(std::ostream &os,const EMCHIT& x)
00688 {
00689 os << std::endl << "{ EMCHIT" << std::endl;
00690 if(x.initialized()) {
00691 os << " " << x.nHit;
00692 {for(int i = 0; i < x.nHit; i++) {
00693 os << " " << x.hitCol[i];
00694 }}
00695 }
00696 os << std::endl << "} EMCHIT" << std::endl;
00697 return os;
00698 }
00699
00700 std::istream& operator>>(std::istream& is, MucDigiType& x)
00701 {
00702 is >> x.trackIndex;
00703 is >> x.partNo;
00704 is >> x.segNo;
00705 is >> x.gapNo;
00706 is >> x.stripNo;
00707 return is;
00708 }
00709
00710 std::ostream& operator<<(std::ostream &os,const MucDigiType& x)
00711 {
00712 os << " " << x.trackIndex;
00713 os << " " << x.partNo;
00714 os << " " << x.segNo;
00715 os << " " << x.gapNo;
00716 os << " " << x.stripNo;
00717 os << std::endl;
00718 return os;
00719 }
00720
00721
00722 std::istream& operator>>(std::istream& is, MUCDIGI& x)
00723 {
00724 x.check_start_tag(is,"MUCDIGI");
00725 if(!x.initialized()) return is;
00726 is >> x.nDigi;
00727 x.digiCol.resize(x.nDigi);
00728 {for(int i = 0; i < x.nDigi; i++) {
00729 is >> x.digiCol[i];
00730 }}
00731 x.check_end_tag(is, "MUCDIGI");
00732 return is;
00733 }
00734
00735 std::ostream& operator<<(std::ostream &os,const MUCDIGI& x)
00736 {
00737 os << std::endl << "{ MUCDIGI" << std::endl;
00738 if(x.initialized()) {
00739 os << " " << x.nDigi;
00740 {for(int i = 0; i < x.nDigi; i++) {
00741 os << " " << x.digiCol[i];
00742 }}
00743 }
00744 os << std::endl << "} MUCDIGI" << std::endl;
00745 return os;
00746 }
00747
00748 std::istream& operator>>(std::istream& is, MucHitType& x)
00749 {
00750 return is;
00751 }
00752
00753 std::ostream& operator<<(std::ostream &os,const MucHitType& x)
00754 {
00755 os << std::endl;
00756 return os;
00757 }
00758
00759
00760 std::istream& operator>>(std::istream& is, MUCHIT& x)
00761 {
00762 x.check_start_tag(is,"MUCHIT");
00763 if(!x.initialized()) return is;
00764 is >> x.nHit;
00765 x.hitCol.resize(x.nHit);
00766 {for(int i = 0; i < x.nHit; i++) {
00767 is >> x.hitCol[i];
00768 }}
00769 x.check_end_tag(is, "MUCHIT");
00770 return is;
00771 }
00772
00773 std::ostream& operator<<(std::ostream &os,const MUCHIT& x)
00774 {
00775 os << std::endl << "{ MUCHIT" << std::endl;
00776 if(x.initialized()) {
00777 os << " " << x.nHit;
00778 {for(int i = 0; i < x.nHit; i++) {
00779 os << " " << x.hitCol[i];
00780 }}
00781 }
00782 os << std::endl << "} MUCHIT" << std::endl;
00783 return os;
00784 }
00785
00786 std::istream& operator>>(std::istream& is, EVENT& x)
00787 {
00788 x.check_start_tag(is,"EVENT");
00789 if(!x.initialized()) return is;
00790
00791 try {
00792 is >> x.header;
00793 } catch(AsciiDumpException& ) {
00794 std::cerr << "Got AsciiDumpException eror while reading header block !!!" << std::endl;
00795 }
00796
00797 try {
00798 is >> x.decayMode;
00799 } catch(AsciiDumpException& ) {
00800 std::cerr << "Got AsciiDumpException eror while reading decay mode block !!!" << std::endl;
00801 }
00802
00803 try {
00804 is >> x.trackTruth;
00805 } catch(AsciiDumpException& ) {
00806 std::cerr << "Got AsciiDumpException eror while reading track truth block !!!" << std::endl;
00807 }
00808
00809 try {
00810 is >> x.vertexTruth;
00811 } catch (AsciiDumpException& ) {
00812 std::cerr << "Got AsciiDumpException eror while reading vertex truth block !!!" << std::endl;
00813 }
00814
00815 try {
00816 is >> x.mdcTruth;
00817 } catch (AsciiDumpException& ) {
00818 std::cerr << "Got AsciiDumpException eror while reading mdc truth block !!!" << std::endl;
00819 }
00820
00821 try {
00822 is >> x.mdcDigi;
00823 } catch (AsciiDumpException& ) {
00824 std::cerr << "Got AsciiDumpException eror while reading mdc digi block !!!" << std::endl;
00825 }
00826
00827 try {
00828 is >> x.tofTruth;
00829 } catch (AsciiDumpException& ) {
00830 std::cerr << "Got AsciiDumpException eror while reading tof truth block !!!" << std::endl;
00831 }
00832
00833 try {
00834 is >> x.tofDigi;
00835 } catch (AsciiDumpException& ) {
00836 std::cerr << "Got AsciiDumpException eror while reading tof digi block !!!" << std::endl;
00837 }
00838
00839 try {
00840 is >> x.emcTruth;
00841 } catch (AsciiDumpException& ) {
00842 std::cerr << "Got AsciiDumpException eror while reading emc truth block !!!" << std::endl;
00843 }
00844
00845 try {
00846 is >> x.emcDigi;
00847 } catch (AsciiDumpException& ) {
00848 std::cerr << "Got AsciiDumpException eror while reading emc digi block !!!" << std::endl;
00849 }
00850
00851 try {
00852 is >> x.mucTruth;
00853 } catch (AsciiDumpException& ) {
00854 std::cerr << "Got AsciiDumpException eror while reading muc truth block !!!" << std::endl;
00855 }
00856
00857 try {
00858 is >> x.mucDigi;
00859 } catch (AsciiDumpException& ) {
00860 std::cerr << "Got AsciiDumpException eror while reading muc digi block !!!" << std::endl;
00861 }
00862 x.check_end_tag(is, "EVENT");
00863 return is;
00864 }
00865
00866 std::ostream& operator<<(std::ostream &os,const EVENT& x)
00867 {
00868 os << std::endl << "{ EVENT" << std::endl;
00869 if(x.initialized()) {
00870 os << " " << x.header;
00871 os << " " << x.decayMode;
00872 os << " " << x.trackTruth;
00873 os << " " << x.vertexTruth;
00874 os << " " << x.mdcTruth;
00875 os << " " << x.mdcDigi;
00876 os << " " << x.tofTruth;
00877 os << " " << x.tofDigi;
00878 os << " " << x.emcTruth;
00879 os << " " << x.emcDigi;
00880 os << " " << x.mucTruth;
00881 os << " " << x.mucDigi;
00882 }
00883 os << std::endl << "} EVENT" << std::endl;
00884 return os;
00885 }
00886
00887 std::istream& operator>>(std::istream& is, HitEVENT& x)
00888 {
00889 x.check_start_tag(is,"HITEVENT");
00890 if(!x.initialized()) return is;
00891
00892 try {
00893 is >> x.header;
00894 } catch(AsciiDumpException& ) {
00895 std::cerr << "Got AsciiDumpException eror while reading header block !!!" << std::endl;
00896 }
00897
00898 try {
00899 is >> x.decayMode;
00900 } catch(AsciiDumpException& ) {
00901 std::cerr << "Got AsciiDumpException eror while reading decay mode block !!!" << std::endl;
00902 }
00903
00904 try {
00905 is >> x.trackTruth;
00906 } catch(AsciiDumpException& ) {
00907 std::cerr << "Got AsciiDumpException eror while reading track truth block !!!" << std::endl;
00908 }
00909
00910 try {
00911 is >> x.vertexTruth;
00912 } catch (AsciiDumpException& ) {
00913 std::cerr << "Got AsciiDumpException eror while reading vertex truth block !!!" << std::endl;
00914 }
00915
00916 try {
00917 is >> x.mdcTruth;
00918 } catch (AsciiDumpException& ) {
00919 std::cerr << "Got AsciiDumpException eror while reading mdc truth block !!!" << std::endl;
00920 }
00921
00922 try {
00923 is >> x.mdcHit;
00924 } catch (AsciiDumpException& ) {
00925 std::cerr << "Got AsciiDumpException eror while reading mdc hit block !!!" << std::endl;
00926 }
00927
00928 try {
00929 is >> x.tofTruth;
00930 } catch (AsciiDumpException& ) {
00931 std::cerr << "Got AsciiDumpException eror while reading tof truth block !!!" << std::endl;
00932 }
00933
00934 try {
00935 is >> x.tofHit;
00936 } catch (AsciiDumpException& ) {
00937 std::cerr << "Got AsciiDumpException eror while reading tof hiti block !!!" << std::endl;
00938 }
00939
00940 try {
00941 is >> x.emcTruth;
00942 } catch (AsciiDumpException& ) {
00943 std::cerr << "Got AsciiDumpException eror while reading emc truth block !!!" << std::endl;
00944 }
00945
00946 try {
00947 is >> x.emcHit;
00948 } catch (AsciiDumpException& ) {
00949 std::cerr << "Got AsciiDumpException eror while reading emc hit block !!!" << std::endl;
00950 }
00951
00952 try {
00953 is >> x.mucTruth;
00954 } catch (AsciiDumpException& ) {
00955 std::cerr << "Got AsciiDumpException eror while reading muc truth block !!!" << std::endl;
00956 }
00957
00958 try {
00959 is >> x.mucHit;
00960 } catch (AsciiDumpException& ) {
00961 std::cerr << "Got AsciiDumpException eror while reading muc hit block !!!" << std::endl;
00962 }
00963 x.check_end_tag(is, "HITEVENT");
00964 return is;
00965 }
00966
00967 std::ostream& operator<<(std::ostream &os,const HitEVENT& x)
00968 {
00969 os << std::endl << "{ HITEVENT" << std::endl;
00970 if(x.initialized()) {
00971 os << " " << x.header;
00972 os << " " << x.decayMode;
00973 os << " " << x.trackTruth;
00974 os << " " << x.vertexTruth;
00975 os << " " << x.mdcTruth;
00976 os << " " << x.mdcHit;
00977 os << " " << x.tofTruth;
00978 os << " " << x.tofHit;
00979 os << " " << x.emcTruth;
00980 os << " " << x.emcHit;
00981 os << " " << x.mucTruth;
00982 os << " " << x.mucHit;
00983 }
00984 os << std::endl << "} HITEVENT" << std::endl;
00985 return os;
00986 }
00987