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;
421 is >>
x.energyDeposit;
428 os <<
" " <<
x.trackIndex;
429 os <<
" " <<
x.layerNo;
430 os <<
" " <<
x.cellNo;
431 os <<
" " <<
x.energyDeposit;
432 os <<
" " <<
x.driftTime;
440 x.check_start_tag(is,
"MDCDIGI");
441 if(!
x.initialized())
return is;
443 x.digiCol.resize(
x.nDigi);
444 {
for(
int i = 0; i <
x.nDigi; i++) {
447 x.check_end_tag(is,
"MDCDIGI");
453 os << std::endl <<
"{ MDCDIGI" << std::endl;
454 if(
x.initialized()) {
455 os <<
" " <<
x.nDigi;
456 {
for(
int i = 0; i <
x.nDigi; i++) {
457 os <<
" " <<
x.digiCol[i];
460 os << std::endl <<
"} MDCDIGI" << std::endl;
478 os <<
" " <<
x.trackIndex;
479 os <<
" " <<
x.partId;
480 os <<
" " <<
x.scinNb;
481 os <<
" " <<
x.forwADC;
482 os <<
" " <<
x.forwTDC;
483 os <<
" " <<
x.backADC;
484 os <<
" " <<
x.backTDC;
492 x.check_start_tag(is,
"TOFDIGI");
493 if(!
x.initialized())
return is;
495 x.digiCol.resize(
x.nDigi);
496 {
for(
int i = 0; i <
x.nDigi; i++) {
499 x.check_end_tag(is,
"TOFDIGI");
505 os << std::endl <<
"{ TOFDIGI" << std::endl;
506 if(
x.initialized()) {
507 os <<
" " <<
x.nDigi;
508 {
for(
int i = 0; i <
x.nDigi; i++) {
509 os <<
" " <<
x.digiCol[i];
512 os << std::endl <<
"} TOFDIGI" << std::endl;
522 is >>
x.energyDeposit;
529 os <<
" " <<
x.trackIndex;
530 os <<
" " <<
x.partId;
531 os <<
" " <<
x.numTheta;
532 os <<
" " <<
x.numPhi;
533 os <<
" " <<
x.energyDeposit;
534 os <<
" " <<
x.hitTime;
541 x.check_start_tag(is,
"EMCDIGI");
542 if(!
x.initialized())
return is;
544 x.digiCol.resize(
x.nDigi);
545 {
for(
int i = 0; i <
x.nDigi; i++) {
548 x.check_end_tag(is,
"EMCDIGI");
554 os << std::endl <<
"{ EMCDIGI" << std::endl;
555 if(
x.initialized()) {
556 os <<
" " <<
x.nDigi;
557 {
for(
int i = 0; i <
x.nDigi; i++) {
558 os <<
" " <<
x.digiCol[i];
561 os << std::endl <<
"} EMCDIGI" << std::endl;
577 os <<
" " <<
x.trackIndex;
578 os <<
" " <<
x.partNo;
579 os <<
" " <<
x.segNo;
580 os <<
" " <<
x.gapNo;
581 os <<
" " <<
x.stripNo;
589 x.check_start_tag(is,
"MUCDIGI");
590 if(!
x.initialized())
return is;
592 x.digiCol.resize(
x.nDigi);
593 {
for(
int i = 0; i <
x.nDigi; i++) {
596 x.check_end_tag(is,
"MUCDIGI");
602 os << std::endl <<
"{ MUCDIGI" << std::endl;
603 if(
x.initialized()) {
604 os <<
" " <<
x.nDigi;
605 {
for(
int i = 0; i <
x.nDigi; i++) {
606 os <<
" " <<
x.digiCol[i];
609 os << std::endl <<
"} MUCDIGI" << std::endl;
614 x.check_start_tag(is,
"EVENT");
615 if(!
x.initialized())
return is;
620 std::cerr <<
"Got AsciiDumpException eror while reading header block !!!" << std::endl;
626 std::cerr <<
"Got AsciiDumpException eror while reading decay mode block !!!" << std::endl;
632 std::cerr <<
"Got AsciiDumpException eror while reading track truth block !!!" << std::endl;
638 std::cerr <<
"Got AsciiDumpException eror while reading vertex truth block !!!" << std::endl;
644 std::cerr <<
"Got AsciiDumpException eror while reading mdc truth block !!!" << std::endl;
650 std::cerr <<
"Got AsciiDumpException eror while reading mdc digi block !!!" << std::endl;
656 std::cerr <<
"Got AsciiDumpException eror while reading tof truth block !!!" << std::endl;
662 std::cerr <<
"Got AsciiDumpException eror while reading tof digi block !!!" << std::endl;
668 std::cerr <<
"Got AsciiDumpException eror while reading emc truth block !!!" << std::endl;
674 std::cerr <<
"Got AsciiDumpException eror while reading emc digi block !!!" << std::endl;
680 std::cerr <<
"Got AsciiDumpException eror while reading muc truth block !!!" << std::endl;
686 std::cerr <<
"Got AsciiDumpException eror while reading muc digi block !!!" << std::endl;
688 x.check_end_tag(is,
"EVENT");
694 os << std::endl <<
"{ EVENT" << std::endl;
695 if(
x.initialized()) {
696 os <<
" " <<
x.header;
697 os <<
" " <<
x.decayMode;
698 os <<
" " <<
x.trackTruth;
699 os <<
" " <<
x.vertexTruth;
700 os <<
" " <<
x.mdcTruth;
701 os <<
" " <<
x.mdcDigi;
702 os <<
" " <<
x.tofTruth;
703 os <<
" " <<
x.tofDigi;
704 os <<
" " <<
x.emcTruth;
705 os <<
" " <<
x.emcDigi;
706 os <<
" " <<
x.mucTruth;
707 os <<
" " <<
x.mucDigi;
709 os << std::endl <<
"} EVENT" << std::endl;
std::ostream & operator<<(std::ostream &os, const VERSIONNUM &x)
std::istream & operator>>(std::istream &is, VERSIONNUM &x)