8 x.check_start_tag(is,
"VERSION");
9 if(!
x.initialized())
return is;
12 x.check_end_tag(is,
"VERSION");
18 os << std::endl <<
"{ VERSION" << std::endl;
23 os << std::endl <<
"} VERSION" << std::endl;
29 x.check_start_tag(is,
"EVHEAD");
30 if(!
x.initialized())
return is;
33 x.check_end_tag(is,
"EVHEAD");
39 os << std::endl <<
"{ EVHEAD" << std::endl;
42 os <<
" " <<
x.eventNo;
44 os << std::endl <<
"} EVHEAD" << std::endl;
50 x.check_start_tag(is,
"DECAYMODE");
51 if(!
x.initialized())
return is;
53 for (
int index=0; index<
x.size; index++) {
56 x.check_end_tag(is,
"DECAYMODE");
62 os << std::endl <<
"{ DECAYMODE" << std::endl;
65 for (
int index=0; index<
x.size; index++) {
66 os <<
" " <<
x.data[index];
69 os << std::endl <<
"} DECAYMODE" << std::endl;
84 is >>
x.minDaughterIndex;
85 is >>
x.maxDaughterIndex;
91 os <<
" " <<
x.trackIndex;
92 os <<
" " <<
x.PDGCode;
93 os <<
" " <<
x.PDGCharge;
94 os <<
" " <<
x.v0Index;
95 os <<
" " <<
x.v1Index;
100 os <<
" " <<
x.minDaughterIndex;
101 os <<
" " <<
x.maxDaughterIndex;
108 x.check_start_tag(is,
"TRACKTRUTH");
109 if(!
x.initialized())
return is;
111 x.truthCol.resize(
x.nTruth);
112 {
for(
int i = 0; i <
x.nTruth; i++) {
115 x.check_end_tag(is,
"TRACKTRUTH");
121 os << std::endl <<
"{ TRACKTRUTH" << std::endl;
122 if(
x.initialized()) {
123 os <<
" " <<
x.nTruth;
124 {
for(
int i = 0; i <
x.nTruth; i++) {
125 os <<
" " <<
x.truthCol[i];
128 os << std::endl <<
"} TRACKTRUTH" << std::endl;
135 is >>
x.parentTrackIndex;
145 os <<
" " <<
x.vertexIndex;
146 os <<
" " <<
x.parentTrackIndex;
157 x.check_start_tag(is,
"VERTEXTRUTH");
158 if(!
x.initialized())
return is;
160 x.truthCol.resize(
x.nTruth);
161 {
for(
int i = 0; i <
x.nTruth; i++) {
164 x.check_end_tag(is,
"VERTEXTRUTH");
170 os << std::endl <<
"{ VERTEXTRUTH" << std::endl;
171 if(
x.initialized()) {
172 os <<
" " <<
x.nTruth;
173 {
for(
int i = 0; i <
x.nTruth; i++) {
174 os <<
" " <<
x.truthCol[i];
177 os << std::endl <<
"} VERTEXTRUTH" << std::endl;
198 os <<
" " <<
x.trackIndex;
199 os <<
" " <<
x.layerNo;
200 os <<
" " <<
x.cellNo;
202 os <<
" " <<
x.driftD;
206 os <<
" " <<
x.posFlag;
213 x.check_start_tag(is,
"MDCTRUTH");
214 if(!
x.initialized())
return is;
216 x.truthCol.resize(
x.nTruth);
217 {
for(
int i = 0; i <
x.nTruth; i++) {
220 x.check_end_tag(is,
"MDCTRUTH");
226 os << std::endl <<
"{ MDCTRUTH" << std::endl;
227 if(
x.initialized()) {
228 os <<
" " <<
x.nTruth;
229 {
for(
int i = 0; i <
x.nTruth; i++) {
230 os <<
" " <<
x.truthCol[i];
233 os << std::endl <<
"} MDCTRUTH" << std::endl;
255 os <<
" " <<
x.trackIndex;
256 os <<
" " <<
x.partId;
257 os <<
" " <<
x.scinNb;
264 os <<
" " <<
x.trackL;
272 x.check_start_tag(is,
"TOFTRUTH");
273 if(!
x.initialized())
return is;
275 x.truthCol.resize(
x.nTruth);
276 {
for(
int i = 0; i <
x.nTruth; i++) {
279 x.check_end_tag(is,
"TOFTRUTH");
285 os << std::endl <<
"{ TOFTRUTH" << std::endl;
286 if(
x.initialized()) {
287 os <<
" " <<
x.nTruth;
288 {
for(
int i = 0; i <
x.nTruth; i++) {
289 os <<
" " <<
x.truthCol[i];
292 os << std::endl <<
"} TOFTRUTH" << std::endl;
314 os <<
" " <<
x.trackIndex;
315 os <<
" " <<
x.partId;
316 os <<
" " <<
x.numTheta;
317 os <<
" " <<
x.numPhi;
324 os <<
" " <<
x.totalEdep;
332 x.check_start_tag(is,
"EMCTRUTH");
333 if(!
x.initialized())
return is;
335 x.truthCol.resize(
x.nTruth);
336 {
for(
int i = 0; i <
x.nTruth; i++) {
339 x.check_end_tag(is,
"EMCTRUTH");
345 os << std::endl <<
"{ EMCTRUTH" << std::endl;
346 if(
x.initialized()) {
347 os <<
" " <<
x.nTruth;
348 {
for(
int i = 0; i <
x.nTruth; i++) {
349 os <<
" " <<
x.truthCol[i];
352 os << std::endl <<
"} EMCTRUTH" << std::endl;
374 os <<
" " <<
x.trackIndex;
375 os <<
" " <<
x.partId;
376 os <<
" " <<
x.segId;
377 os <<
" " <<
x.gapId;
378 os <<
" " <<
x.stripId;
391 x.check_start_tag(is,
"MUCTRUTH");
392 if(!
x.initialized())
return is;
394 x.truthCol.resize(
x.nTruth);
395 {
for(
int i = 0; i <
x.nTruth; i++) {
398 x.check_end_tag(is,
"MUCTRUTH");
404 os << std::endl <<
"{ MUCTRUTH" << std::endl;
405 if(
x.initialized()) {
406 os <<
" " <<
x.nTruth;
407 {
for(
int i = 0; i <
x.nTruth; i++) {
408 os <<
" " <<
x.truthCol[i];
411 os << std::endl <<
"} MUCTRUTH" << std::endl;
420 is >>
x.energyDeposit;
427 os <<
" " <<
x.trackIndex;
428 os <<
" " <<
x.layerNo;
429 os <<
" " <<
x.cellNo;
430 os <<
" " <<
x.energyDeposit;
431 os <<
" " <<
x.driftTime;
438 x.check_start_tag(is,
"MDCDIGI");
439 if(!
x.initialized())
return is;
441 x.digiCol.resize(
x.nDigi);
442 {
for(
int i = 0; i <
x.nDigi; i++) {
445 x.check_end_tag(is,
"MDCDIGI");
451 os << std::endl <<
"{ MDCDIGI" << std::endl;
452 if(
x.initialized()) {
453 os <<
" " <<
x.nDigi;
454 {
for(
int i = 0; i <
x.nDigi; i++) {
455 os <<
" " <<
x.digiCol[i];
458 os << std::endl <<
"} MDCDIGI" << std::endl;
470 is >>
x.energyDeposit;
471 is >>
x.driftDistance;
481 os <<
" " <<
x.trackIndex;
482 os <<
" " <<
x.layerNo;
483 os <<
" " <<
x.cellNo;
487 os <<
" " <<
x.energyDeposit;
488 os <<
" " <<
x.driftDistance;
489 os <<
" " <<
x.globalT;
490 os <<
" " <<
x.theta;
491 os <<
" " <<
x.enterAngle;
492 os <<
" " <<
x.posFlag;
499 x.check_start_tag(is,
"MDCHIT");
500 if(!
x.initialized())
return is;
502 x.hitCol.resize(
x.nHit);
503 {
for(
int i = 0; i <
x.nHit; i++) {
506 x.check_end_tag(is,
"MDCHIT");
512 os << std::endl <<
"{ MDCHIT" << std::endl;
513 if(
x.initialized()) {
515 {
for(
int i = 0; i <
x.nHit; i++) {
516 os <<
" " <<
x.hitCol[i];
519 os << std::endl <<
"} MDCHIT" << std::endl;
537 os <<
" " <<
x.trackIndex;
538 os <<
" " <<
x.partId;
539 os <<
" " <<
x.scinNb;
540 os <<
" " <<
x.forwADC;
541 os <<
" " <<
x.forwTDC;
542 os <<
" " <<
x.backADC;
543 os <<
" " <<
x.backTDC;
551 x.check_start_tag(is,
"TOFDIGI");
552 if(!
x.initialized())
return is;
554 x.digiCol.resize(
x.nDigi);
555 {
for(
int i = 0; i <
x.nDigi; i++) {
558 x.check_end_tag(is,
"TOFDIGI");
564 os << std::endl <<
"{ TOFDIGI" << std::endl;
565 if(
x.initialized()) {
566 os <<
" " <<
x.nDigi;
567 {
for(
int i = 0; i <
x.nDigi; i++) {
568 os <<
" " <<
x.digiCol[i];
571 os << std::endl <<
"} TOFDIGI" << std::endl;
589 x.check_start_tag(is,
"TOFHIT");
590 if(!
x.initialized())
return is;
592 x.hitCol.resize(
x.nHit);
593 {
for(
int i = 0; i <
x.nHit; i++) {
596 x.check_end_tag(is,
"TOFHIT");
602 os << std::endl <<
"{ TOFHIT" << std::endl;
603 if(
x.initialized()) {
605 {
for(
int i = 0; i <
x.nHit; i++) {
606 os <<
" " <<
x.hitCol[i];
609 os << std::endl <<
"} TOFHIT" << std::endl;
619 is >>
x.energyDeposit;
626 os <<
" " <<
x.trackIndex;
627 os <<
" " <<
x.partId;
628 os <<
" " <<
x.numTheta;
629 os <<
" " <<
x.numPhi;
630 os <<
" " <<
x.energyDeposit;
631 os <<
" " <<
x.hitTime;
638 x.check_start_tag(is,
"EMCDIGI");
639 if(!
x.initialized())
return is;
641 x.digiCol.resize(
x.nDigi);
642 {
for(
int i = 0; i <
x.nDigi; i++) {
645 x.check_end_tag(is,
"EMCDIGI");
651 os << std::endl <<
"{ EMCDIGI" << std::endl;
652 if(
x.initialized()) {
653 os <<
" " <<
x.nDigi;
654 {
for(
int i = 0; i <
x.nDigi; i++) {
655 os <<
" " <<
x.digiCol[i];
658 os << std::endl <<
"} EMCDIGI" << std::endl;
676 x.check_start_tag(is,
"EMCHIT");
677 if(!
x.initialized())
return is;
679 x.hitCol.resize(
x.nHit);
680 {
for(
int i = 0; i <
x.nHit; i++) {
683 x.check_end_tag(is,
"EMCHIT");
689 os << std::endl <<
"{ EMCHIT" << std::endl;
690 if(
x.initialized()) {
692 {
for(
int i = 0; i <
x.nHit; i++) {
693 os <<
" " <<
x.hitCol[i];
696 os << std::endl <<
"} EMCHIT" << std::endl;
712 os <<
" " <<
x.trackIndex;
713 os <<
" " <<
x.partNo;
714 os <<
" " <<
x.segNo;
715 os <<
" " <<
x.gapNo;
716 os <<
" " <<
x.stripNo;
724 x.check_start_tag(is,
"MUCDIGI");
725 if(!
x.initialized())
return is;
727 x.digiCol.resize(
x.nDigi);
728 {
for(
int i = 0; i <
x.nDigi; i++) {
731 x.check_end_tag(is,
"MUCDIGI");
737 os << std::endl <<
"{ MUCDIGI" << std::endl;
738 if(
x.initialized()) {
739 os <<
" " <<
x.nDigi;
740 {
for(
int i = 0; i <
x.nDigi; i++) {
741 os <<
" " <<
x.digiCol[i];
744 os << std::endl <<
"} MUCDIGI" << std::endl;
762 x.check_start_tag(is,
"MUCHIT");
763 if(!
x.initialized())
return is;
765 x.hitCol.resize(
x.nHit);
766 {
for(
int i = 0; i <
x.nHit; i++) {
769 x.check_end_tag(is,
"MUCHIT");
775 os << std::endl <<
"{ MUCHIT" << std::endl;
776 if(
x.initialized()) {
778 {
for(
int i = 0; i <
x.nHit; i++) {
779 os <<
" " <<
x.hitCol[i];
782 os << std::endl <<
"} MUCHIT" << std::endl;
788 x.check_start_tag(is,
"EVENT");
789 if(!
x.initialized())
return is;
794 std::cerr <<
"Got AsciiDumpException eror while reading header block !!!" << std::endl;
800 std::cerr <<
"Got AsciiDumpException eror while reading decay mode block !!!" << std::endl;
806 std::cerr <<
"Got AsciiDumpException eror while reading track truth block !!!" << std::endl;
812 std::cerr <<
"Got AsciiDumpException eror while reading vertex truth block !!!" << std::endl;
818 std::cerr <<
"Got AsciiDumpException eror while reading mdc truth block !!!" << std::endl;
824 std::cerr <<
"Got AsciiDumpException eror while reading mdc digi block !!!" << std::endl;
830 std::cerr <<
"Got AsciiDumpException eror while reading tof truth block !!!" << std::endl;
836 std::cerr <<
"Got AsciiDumpException eror while reading tof digi block !!!" << std::endl;
842 std::cerr <<
"Got AsciiDumpException eror while reading emc truth block !!!" << std::endl;
848 std::cerr <<
"Got AsciiDumpException eror while reading emc digi block !!!" << std::endl;
854 std::cerr <<
"Got AsciiDumpException eror while reading muc truth block !!!" << std::endl;
860 std::cerr <<
"Got AsciiDumpException eror while reading muc digi block !!!" << std::endl;
862 x.check_end_tag(is,
"EVENT");
868 os << std::endl <<
"{ EVENT" << std::endl;
869 if(
x.initialized()) {
870 os <<
" " <<
x.header;
871 os <<
" " <<
x.decayMode;
872 os <<
" " <<
x.trackTruth;
873 os <<
" " <<
x.vertexTruth;
874 os <<
" " <<
x.mdcTruth;
875 os <<
" " <<
x.mdcDigi;
876 os <<
" " <<
x.tofTruth;
877 os <<
" " <<
x.tofDigi;
878 os <<
" " <<
x.emcTruth;
879 os <<
" " <<
x.emcDigi;
880 os <<
" " <<
x.mucTruth;
881 os <<
" " <<
x.mucDigi;
883 os << std::endl <<
"} EVENT" << std::endl;
889 x.check_start_tag(is,
"HITEVENT");
890 if(!
x.initialized())
return is;
895 std::cerr <<
"Got AsciiDumpException eror while reading header block !!!" << std::endl;
901 std::cerr <<
"Got AsciiDumpException eror while reading decay mode block !!!" << std::endl;
907 std::cerr <<
"Got AsciiDumpException eror while reading track truth block !!!" << std::endl;
913 std::cerr <<
"Got AsciiDumpException eror while reading vertex truth block !!!" << std::endl;
919 std::cerr <<
"Got AsciiDumpException eror while reading mdc truth block !!!" << std::endl;
925 std::cerr <<
"Got AsciiDumpException eror while reading mdc hit block !!!" << std::endl;
931 std::cerr <<
"Got AsciiDumpException eror while reading tof truth block !!!" << std::endl;
937 std::cerr <<
"Got AsciiDumpException eror while reading tof hiti block !!!" << std::endl;
943 std::cerr <<
"Got AsciiDumpException eror while reading emc truth block !!!" << std::endl;
949 std::cerr <<
"Got AsciiDumpException eror while reading emc hit block !!!" << std::endl;
955 std::cerr <<
"Got AsciiDumpException eror while reading muc truth block !!!" << std::endl;
961 std::cerr <<
"Got AsciiDumpException eror while reading muc hit block !!!" << std::endl;
963 x.check_end_tag(is,
"HITEVENT");
969 os << std::endl <<
"{ HITEVENT" << std::endl;
970 if(
x.initialized()) {
971 os <<
" " <<
x.header;
972 os <<
" " <<
x.decayMode;
973 os <<
" " <<
x.trackTruth;
974 os <<
" " <<
x.vertexTruth;
975 os <<
" " <<
x.mdcTruth;
976 os <<
" " <<
x.mdcHit;
977 os <<
" " <<
x.tofTruth;
978 os <<
" " <<
x.tofHit;
979 os <<
" " <<
x.emcTruth;
980 os <<
" " <<
x.emcHit;
981 os <<
" " <<
x.mucTruth;
982 os <<
" " <<
x.mucHit;
984 os << std::endl <<
"} HITEVENT" << std::endl;
std::istream & operator>>(std::istream &is, FRMTVERSION &x)
std::ostream & operator<<(std::ostream &os, const FRMTVERSION &x)