267{
268
269 Char_t dummych ;
270
271 UInt_t dummyui ;
273 Double_t dummyd ;
274
275
284
285 double minx=-10000000;
286 double maxx=10000000;
287 double miny=-10000000;
288 double maxy=10000000;
289
290
291
292 fstream infile(input_file, ios::in | ios::binary);
293
295 infile.read( (Char_t*) &
infotype ,
sizeof(Char_t) );
296 infile.read( (Char_t*) &
headerformat ,
sizeof(UShort_t) );
297
300 {
309
310 default: { cout <<
"Unknown format\n";
return ; }
311 };
312
314 {
315 infile.read( (Char_t*) &dummych , sizeof(Char_t) );
317 {
318 cout << "The first section in a TLG file must contain tracks!" << endl;
319 return;
320 }
321 infile.read( (Char_t*) &dummyd , sizeof(Double_t) );
322 }
323
328
330 {
333 }
334 else
335 {
340 }
341
343 {
344 infile.read( (Char_t*) &
Center::X ,
sizeof(Double_t) );
345 infile.read( (Char_t*) &
Center::Y ,
sizeof(Double_t) );
358
363
366 infile.read( (Char_t*) &
Top_TopZ ,
sizeof(Double_t) );
367 infile.read( (Char_t*) &
Top_BottomZ ,
sizeof(Double_t) );
368 infile.read( (Char_t*) &
Bottom_TopZ ,
sizeof(Double_t) );
370
371 using namespace View ;
372 for (
int s=0;
s<2;
s++ ) {
374 for (int i=0; i<nviews; i++ ) {
375 infile.read( (Char_t*) &
id ,
sizeof(Int_t) );
376 infile.read( (Char_t*) &px , sizeof(Double_t) );
377 infile.read( (Char_t*) &py , sizeof(Double_t) );
378 infile.read( (Char_t*) &topz , sizeof(Double_t) );
379 infile.read( (Char_t*) &bottomz , sizeof(Double_t) );
380
381 }
382 }
383
387
388
389
391 for (
int s=0;
s<2;
s++ ) {
394 for (int i=0; i<ntracks; i++ ) {
395
396 infile.read( (Char_t*) &
Field ,
sizeof(UInt_t) );
397 infile.read( (Char_t*) &
AreaSum ,
sizeof(UInt_t) );
398 infile.read( (Char_t*) &
Count ,
sizeof(UInt_t) );
399 infile.read( (Char_t*) &
X ,
sizeof(Double_t) );
400 infile.read( (Char_t*) &
Y ,
sizeof(Double_t) );
401 infile.read( (Char_t*) &
Z ,
sizeof(Double_t) );
402 infile.read( (Char_t*) &
SX ,
sizeof(Double_t) );
403 infile.read( (Char_t*) &
SY ,
sizeof(Double_t) );
404 infile.read( (Char_t*) &
SZ ,
sizeof(Double_t) );
405 infile.read( (Char_t*) &
Sigma ,
sizeof(Double_t) );
406 infile.read( (Char_t*) &
TopZ ,
sizeof(Double_t) );
407 infile.read( (Char_t*) &
BottomZ ,
sizeof(Double_t) );
408 infile.read( (Char_t*) &
viewid ,
sizeof(Int_t) );
409
410
411 if(
X<minx-1000)
continue;
412 if(
X>maxx+1000)
continue;
413 if(
Y<miny-1000)
continue;
414 if(
Y>maxy+1000)
continue;
416 }
417 }
418
421
433
434
436 }
437
439 for (
int s=0;
s<2;
s++ ) {
441 for (int i=0; i<ntracks; i++ )
442 {
446
447
448 }
449 }
450 }
452 {
454 infile.read( (Char_t*) &
Center::X ,
sizeof(Double_t) );
455 infile.read( (Char_t*) &
Center::Y ,
sizeof(Double_t) );
460 infile.read( (Char_t*) &
dummyf ,
sizeof(Float_t) );
461
466
467
471 infile.read( (Char_t*) &dummyui , sizeof(UInt_t) );
472
473
474 infile.read( (Char_t*) &
Top_TopZ ,
sizeof(Double_t) );
475 infile.read( (Char_t*) &
Top_BottomZ ,
sizeof(Double_t) );
476 infile.read( (Char_t*) &
Bottom_TopZ ,
sizeof(Double_t) );
478 infile.read( (Char_t*) &dummych , sizeof(Char_t) );
479 infile.read( (Char_t*) &dummych , sizeof(Char_t) );
480
481
482
484 for (
int s=0;
s<2;
s++ ) {
487 for (int i=0; i<ntracks; i++ ) {
488
489 infile.read( (Char_t*) &
Field ,
sizeof(UInt_t) );
490 infile.read( (Char_t*) &
AreaSum ,
sizeof(UInt_t) );
491 infile.read( (Char_t*) &
Count ,
sizeof(UInt_t) );
492 infile.read( (Char_t*) &
X ,
sizeof(Double_t) );
493 infile.read( (Char_t*) &
Y ,
sizeof(Double_t) );
494 infile.read( (Char_t*) &
Z ,
sizeof(Double_t) );
495 infile.read( (Char_t*) &
SX ,
sizeof(Double_t) );
496 infile.read( (Char_t*) &
SY ,
sizeof(Double_t) );
497 infile.read( (Char_t*) &
SZ ,
sizeof(Double_t) );
498 infile.read( (Char_t*) &
Sigma ,
sizeof(Double_t) );
499 infile.read( (Char_t*) &
TopZ ,
sizeof(Double_t) );
500 infile.read( (Char_t*) &
BottomZ ,
sizeof(Double_t) );
501
502
503 if(
X<minx-1000)
continue;
504 if(
X>maxx+1000)
continue;
505 if(
Y<miny-1000)
continue;
506 if(
Y>maxy+1000)
continue;
508 }
509 }
510
513
524
525 for (int j=0; j<6; j++)
526 infile.read( (Char_t*) &dummyd , sizeof(Double_t) );
527 }
530
531
533 }
534
536 for (
int s=0;
s<2;
s++ ) {
538 for (int i=0; i<ntracks; i++ )
539 {
543
544
545 }
546 }
547 }
548 else
549 {
550
551 }
552
553 infile.close() ;
554
555}
return
Definition: energy.C:49
en_side
Definition: tlg2couples.C:36
Float_t dummyf
Definition: merge_Energy_SytematicSources_Electron.C:9
@ Track
Definition: tlg2couples.C:52
@ Header
Definition: tlg2couples.C:53
UInt_t Count
Definition: tlg2couples.C:119
Double_t Y
Definition: tlg2couples.C:121
Double_t Z
Definition: tlg2couples.C:122
Double_t SX
Definition: tlg2couples.C:123
Double_t Sigma
Definition: tlg2couples.C:126
Double_t SZ
Definition: tlg2couples.C:125
UInt_t AreaSum
Definition: tlg2couples.C:118
Double_t X
Definition: tlg2couples.C:120
UInt_t id
Definition: tlg2couples.C:117
Double_t SY
Definition: tlg2couples.C:124
void Add_MIPBaseTrack(int i, EdbPattern &base, EdbPattern &ptop, EdbPattern &pbot, float project_dz=-105.)
Definition: tlg2pattern.C:235
void Add_MIPEmulsionTrack(en_side side, int i, EdbPattern &ptop, EdbPattern &pbot)
Definition: tlg2pattern.C:203