184{
185
186
187
188
189 string data_dir = (gSystem->Getenv("GINUKEHADRONDATA")) ?
190 string(gSystem->Getenv("GINUKEHADRONDATA")) :
191 string(gSystem->Getenv("GENIE")) + string("/data/evgen/intranuke");
192
194 << "Loading INTRANUKE hadron data from: " << data_dir;
195
196
197
198 string datafile_NN = data_dir + "/tot_xsec/intranuke-xsections-NN.dat";
199 string datafile_pipN = data_dir + "/tot_xsec/intranuke-xsections-pi+N.dat";
200 string datafile_pi0N = data_dir + "/tot_xsec/intranuke-xsections-pi0N.dat";
201 string datafile_NA = data_dir + "/tot_xsec/intranuke-fractions-NA.dat";
202 string datafile_piA = data_dir + "/tot_xsec/intranuke-fractions-piA.dat";
203 string datafile_KA = data_dir + "/tot_xsec/intranuke-fractions-KA.dat";
204 string datafile_gamN = data_dir + "/tot_xsec/intranuke-xsections-gamN.dat";
205 string datafile_kN = data_dir + "/tot_xsec/intranuke-xsections-kaonN.dat";
206
207
208
209 assert( ! gSystem->AccessPathName(datafile_NN. c_str()) );
210 assert( ! gSystem->AccessPathName(datafile_pipN.c_str()) );
211 assert( ! gSystem->AccessPathName(datafile_pi0N.c_str()) );
212 assert( ! gSystem->AccessPathName(datafile_NA. c_str()) );
213 assert( ! gSystem->AccessPathName(datafile_piA. c_str()) );
214 assert( ! gSystem->AccessPathName(datafile_KA. c_str()) );
215 assert( ! gSystem->AccessPathName(datafile_gamN.c_str()) );
216 assert( ! gSystem->AccessPathName(datafile_kN. c_str()) );
217
218 LOG(
"INukeData",
pINFO) <<
"Found all necessary data files...";
219
220
221
222 TTree data_NN;
223 TTree data_pipN;
224 TTree data_pi0N;
225 TTree data_NA;
226 TTree data_piA;
227 TTree data_KA;
228 TTree data_gamN;
229 TTree data_kN;
230
231 data_NN.ReadFile(datafile_NN.c_str(),
232 "ke/D:pp_tot/D:pp_elas/D:pp_reac/D:pn_tot/D:pn_elas/D:pn_reac/D:nn_tot/D:nn_elas/D:nn_reac/D");
233 data_pipN.ReadFile(datafile_pipN.c_str(),
234 "ke/D:pipn_tot/D:pipn_cex/D:pipn_elas/D:pipn_reac/D:pipp_tot/D:pipp_cex/D:pipp_elas/D:pipp_reac/D:pipd_abs");
235 data_pi0N.ReadFile(datafile_pi0N.c_str(),
236 "ke/D:pi0n_tot/D:pi0n_cex/D:pi0n_elas/D:pi0n_reac/D:pi0p_tot/D:pi0p_cex/D:pi0p_elas/D:pi0p_reac/D:pi0d_abs");
237 data_NA.ReadFile(datafile_NA.c_str(),
238 "ke/D:pA_tot/D:pA_elas/D:pA_inel/D:pA_cex/D:pA_abs/D:pA_pipro/D");
239 data_piA.ReadFile(datafile_piA.c_str(),
240 "ke/D:piA_tot/D:piA_elas/D:piA_inel/D:piA_cex/D:piA_np/D:piA_pp/D:piA_npp/D:piA_nnp/D:piA_2n2p/D:piA_piprod/D");
241 data_gamN.ReadFile(datafile_gamN.c_str(),
242 "ke/D:pi0p_tot/D:pipn_tot/D:pimp_tot/D:pi0n_tot/D:gamp_fs/D:gamn_fs/D:gamN_tot/D");
243 data_kN.ReadFile(datafile_kN.c_str(),
244 "ke/D:kpn_elas/D:kpp_elas/D:kp_abs/D:kpN_tot/D");
245 data_KA.ReadFile(datafile_KA.c_str(),
246 "ke/D:KA_tot/D:KA_elas/D:KA_inel/D:KA_abs/D");
247
248 LOG(
"INukeData",
pDEBUG) <<
"Number of data rows in NN : " << data_NN.GetEntries();
249 LOG(
"INukeData",
pDEBUG) <<
"Number of data rows in pipN : " << data_pipN.GetEntries();
250 LOG(
"INukeData",
pDEBUG) <<
"Number of data rows in pi0N : " << data_pi0N.GetEntries();
251 LOG(
"INukeData",
pDEBUG) <<
"Number of data rows in NA : " << data_NA.GetEntries();
252 LOG(
"INukeData",
pDEBUG) <<
"Number of data rows in piA : " << data_piA.GetEntries();
253 LOG(
"INukeData",
pDEBUG) <<
"Number of data rows in KA : " << data_KA.GetEntries();
254 LOG(
"INukeData",
pDEBUG) <<
"Number of data rows in gamN : " << data_gamN.GetEntries();
255 LOG(
"INukeData",
pDEBUG) <<
"Number of data rows in kN : " << data_kN.GetEntries();
256
257 LOG(
"INukeData",
pINFO) <<
"Done loading all x-section files...";
258
259
260
261
271
272
282
283
293
294
299
300
304
305
318
319
324 fFracPipA_Abs =
new Spline(&data_piA,
"ke:piA_np+piA_pp+piA_npp+piA_nnp+piA_2n2p");
330 fFracPimA_Abs =
new Spline(&data_piA,
"ke:piA_np+piA_pp+piA_npp+piA_nnp+piA_2n2p");
336 fFracPi0A_Abs =
new Spline(&data_piA,
"ke:piA_np+piA_pp+piA_npp+piA_nnp+piA_2n2p");
338
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368 {
369 const int hN_ppelas_nfiles = 20;
370 const int hN_ppelas_points_per_file = 21;
371 const int hN_ppelas_npoints = hN_ppelas_points_per_file * hN_ppelas_nfiles;
372
373 double hN_ppelas_energies[hN_ppelas_nfiles] = {
374 50, 100, 150, 200, 250, 300, 350, 400, 450, 500,
375 550, 600, 650, 700, 750, 800, 850, 900, 950, 1000
376 };
377
378 double hN_ppelas_costh [hN_ppelas_points_per_file];
379 double hN_ppelas_xsec [hN_ppelas_npoints];
380
381 int ipoint=0;
382
383 for(int ifile = 0; ifile < hN_ppelas_nfiles; ifile++) {
384
385 ostringstream hN_datafile;
386 double ke = hN_ppelas_energies[ifile];
387 hN_datafile << data_dir << "/diff_ang/pp/pp" << ke << ".txt";
388
390 hN_datafile.str(), ke, hN_ppelas_points_per_file,
391 ipoint, hN_ppelas_costh, hN_ppelas_xsec,2);
392 }
393
394
395
396
397
398
399 fhN2dXSecPP_Elas =
new BLI2DNonUnifGrid(hN_ppelas_nfiles,hN_ppelas_points_per_file,
400 hN_ppelas_energies,hN_ppelas_costh,hN_ppelas_xsec);
401 }
402
403
404 {
405 const int hN_npelas_nfiles = 20;
406 const int hN_npelas_points_per_file = 21;
407 const int hN_npelas_npoints = hN_npelas_points_per_file * hN_npelas_nfiles;
408
409 double hN_npelas_energies[hN_npelas_nfiles] = {
410 50, 100, 150, 200, 250, 300, 350, 400, 450, 500,
411 550, 600, 650, 700, 750, 800, 850, 900, 950, 1000
412 };
413
414 double hN_npelas_costh [hN_npelas_points_per_file];
415 double hN_npelas_xsec [hN_npelas_npoints];
416
417 int ipoint=0;
418
419 for(int ifile = 0; ifile < hN_npelas_nfiles; ifile++) {
420
421 ostringstream hN_datafile;
422 double ke = hN_npelas_energies[ifile];
423 hN_datafile << data_dir << "/diff_ang/pn/pn" << ke << ".txt";
424
426 hN_datafile.str(), ke, hN_npelas_points_per_file,
427 ipoint, hN_npelas_costh, hN_npelas_xsec,2);
428 }
429
430
431
432
433
434
435 fhN2dXSecNP_Elas =
new BLI2DNonUnifGrid(hN_npelas_nfiles,hN_npelas_points_per_file,
436 hN_npelas_energies,hN_npelas_costh,hN_npelas_xsec);
437 }
438
439
440 {
441 const int hN_pipNelas_nfiles = 60;
442 const int hN_pipNelas_points_per_file = 21;
443 const int hN_pipNelas_npoints = hN_pipNelas_points_per_file * hN_pipNelas_nfiles;
444
445 double hN_pipNelas_energies[hN_pipNelas_nfiles] = {
446 10, 20, 30, 40, 50, 60, 70, 80, 90,
447 100, 110, 120, 130, 140, 150, 160, 170, 180, 190,
448 200, 210, 220, 230, 240, 250, 260, 270, 280, 290,
449 300, 340, 380, 420, 460, 500, 540, 580, 620, 660,
450 700, 740, 780, 820, 860, 900, 940, 980,
451 1020, 1060, 1100, 1140, 1180, 1220, 1260,
452 1300, 1340, 1380, 1420, 1460, 1500
453 };
454
455 double hN_pipNelas_costh [hN_pipNelas_points_per_file];
456 double hN_pipNelas_xsec [hN_pipNelas_npoints];
457
458 int ipoint=0;
459
460 for(int ifile = 0; ifile < hN_pipNelas_nfiles; ifile++) {
461
462 ostringstream hN_datafile;
463 double ke = hN_pipNelas_energies[ifile];
464 hN_datafile << data_dir << "/diff_ang/pip/pip" << ke << ".txt";
465
467 hN_datafile.str(), ke, hN_pipNelas_points_per_file,
468 ipoint, hN_pipNelas_costh, hN_pipNelas_xsec,2);
469 }
470
471
472
473
474
475
476 fhN2dXSecPipN_Elas =
new BLI2DNonUnifGrid(hN_pipNelas_nfiles,hN_pipNelas_points_per_file,
477 hN_pipNelas_energies,hN_pipNelas_costh,hN_pipNelas_xsec);
478 }
479
480
481 {
482 const int hN_pi0Nelas_nfiles = 60;
483 const int hN_pi0Nelas_points_per_file = 21;
484 const int hN_pi0Nelas_npoints = hN_pi0Nelas_points_per_file * hN_pi0Nelas_nfiles;
485
486 double hN_pi0Nelas_energies[hN_pi0Nelas_nfiles] = {
487 10, 20, 30, 40, 50, 60, 70, 80, 90,
488 100, 110, 120, 130, 140, 150, 160, 170, 180, 190,
489 200, 210, 220, 230, 240, 250, 260, 270, 280, 290,
490 300, 340, 380, 420, 460, 500, 540, 580, 620, 660,
491 700, 740, 780, 820, 860, 900, 940, 980,
492 1020, 1060, 1100, 1140, 1180, 1220, 1260,
493 1300, 1340, 1380, 1420, 1460, 1500
494 };
495
496 double hN_pi0Nelas_costh [hN_pi0Nelas_points_per_file];
497 double hN_pi0Nelas_xsec [hN_pi0Nelas_npoints];
498
499 int ipoint=0;
500
501 for(int ifile = 0; ifile < hN_pi0Nelas_nfiles; ifile++) {
502
503 ostringstream hN_datafile;
504 double ke = hN_pi0Nelas_energies[ifile];
505 hN_datafile << data_dir << "/diff_ang/pip/pip" << ke << ".txt";
506
508 hN_datafile.str(), ke, hN_pi0Nelas_points_per_file,
509 ipoint, hN_pi0Nelas_costh, hN_pi0Nelas_xsec,2);
510 }
511
512
513
514
515
516
517 fhN2dXSecPi0N_Elas =
new BLI2DNonUnifGrid(hN_pi0Nelas_nfiles,hN_pi0Nelas_points_per_file,
518 hN_pi0Nelas_energies,hN_pi0Nelas_costh,hN_pi0Nelas_xsec);
519 }
520
521
522 {
523 const int hN_pimNelas_nfiles = 60;
524 const int hN_pimNelas_points_per_file = 21;
525 const int hN_pimNelas_npoints = hN_pimNelas_points_per_file * hN_pimNelas_nfiles;
526
527 double hN_pimNelas_energies[hN_pimNelas_nfiles] = {
528 10, 20, 30, 40, 50, 60, 70, 80, 90,
529 100, 110, 120, 130, 140, 150, 160, 170, 180, 190,
530 200, 210, 220, 230, 240, 250, 260, 270, 280, 290,
531 300, 340, 380, 420, 460, 500, 540, 580, 620, 660,
532 700, 740, 780, 820, 860, 900, 940, 980,
533 1020, 1060, 1100, 1140, 1180, 1220, 1260,
534 1300, 1340, 1380, 1420, 1460, 1500
535 };
536
537 double hN_pimNelas_costh [hN_pimNelas_points_per_file];
538 double hN_pimNelas_xsec [hN_pimNelas_npoints];
539
540 int ipoint=0;
541
542 for(int ifile = 0; ifile < hN_pimNelas_nfiles; ifile++) {
543
544 ostringstream hN_datafile;
545 double ke = hN_pimNelas_energies[ifile];
546 hN_datafile << data_dir << "/diff_ang/pim/pim" << ke << ".txt";
547
549 hN_datafile.str(), ke, hN_pimNelas_points_per_file,
550 ipoint, hN_pimNelas_costh, hN_pimNelas_xsec,2);
551 }
552
553
554
555
556
557
558 fhN2dXSecPimN_Elas =
new BLI2DNonUnifGrid(hN_pimNelas_nfiles,hN_pimNelas_points_per_file,
559 hN_pimNelas_energies,hN_pimNelas_costh,hN_pimNelas_xsec);
560 }
561
562
563 {
564 const int hN_kpNelas_nfiles = 18;
565 const int hN_kpNelas_points_per_file = 37;
566 const int hN_kpNelas_npoints = hN_kpNelas_points_per_file * hN_kpNelas_nfiles;
567
568 double hN_kpNelas_energies[hN_kpNelas_nfiles] = {
569 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000,
570 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800
571 };
572
573 double hN_kpNelas_costh [hN_kpNelas_points_per_file];
574 double hN_kpNelas_xsec [hN_kpNelas_npoints];
575
576 int ipoint=0;
577
578 for(int ifile = 0; ifile < hN_kpNelas_nfiles; ifile++) {
579
580 ostringstream hN_datafile;
581 double ke = hN_kpNelas_energies[ifile];
582 hN_datafile << data_dir << "/diff_ang/kpn/kpn" << ke << ".txt";
583
585 hN_datafile.str(), ke, hN_kpNelas_points_per_file,
586 ipoint, hN_kpNelas_costh, hN_kpNelas_xsec,2);
587 }
588
589
590
591
592
593
594 fhN2dXSecKpN_Elas =
new BLI2DNonUnifGrid(hN_kpNelas_nfiles,hN_kpNelas_points_per_file,
595 hN_kpNelas_energies,hN_kpNelas_costh,hN_kpNelas_xsec);
596 }
597
598
599 {
600 const int hN_kpPelas_nfiles = 18;
601 const int hN_kpPelas_points_per_file = 37;
602 const int hN_kpPelas_npoints = hN_kpPelas_points_per_file * hN_kpPelas_nfiles;
603
604 double hN_kpPelas_energies[hN_kpPelas_nfiles] = {
605 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000,
606 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800
607 };
608
609 double hN_kpPelas_costh [hN_kpPelas_points_per_file];
610 double hN_kpPelas_xsec [hN_kpPelas_npoints];
611
612 int ipoint=0;
613
614 for(int ifile = 0; ifile < hN_kpPelas_nfiles; ifile++) {
615
616 ostringstream hN_datafile;
617 double ke = hN_kpPelas_energies[ifile];
618 hN_datafile << data_dir << "/diff_ang/kpp/kpp" << ke << ".txt";
619
621 hN_datafile.str(), ke, hN_kpPelas_points_per_file,
622 ipoint, hN_kpPelas_costh, hN_kpPelas_xsec,2);
623 }
624
625
626
627
628
629
630 fhN2dXSecKpP_Elas =
new BLI2DNonUnifGrid(hN_kpPelas_nfiles,hN_kpPelas_points_per_file,
631 hN_kpPelas_energies,hN_kpPelas_costh,hN_kpPelas_xsec);
632 }
633
634
635 {
636 const int hN_piNcex_nfiles = 60;
637 const int hN_piNcex_points_per_file = 21;
638 const int hN_piNcex_npoints = hN_piNcex_points_per_file * hN_piNcex_nfiles;
639
640 double hN_piNcex_energies[hN_piNcex_nfiles] = {
641 10, 20, 30, 40, 50, 60, 70, 80, 90,
642 100, 110, 120, 130, 140, 150, 160, 170, 180, 190,
643 200, 210, 220, 230, 240, 250, 260, 270, 280, 290,
644 300, 340, 380, 420, 460, 500, 540, 580, 620, 660,
645 700, 740, 780, 820, 860, 900, 940, 980,
646 1020, 1060, 1100, 1140, 1180, 1220, 1260,
647 1300, 1340, 1380, 1420, 1460, 1500
648 };
649
650 double hN_piNcex_costh [hN_piNcex_points_per_file];
651 double hN_piNcex_xsec [hN_piNcex_npoints];
652
653 int ipoint=0;
654
655 for(int ifile = 0; ifile < hN_piNcex_nfiles; ifile++) {
656
657 ostringstream hN_datafile;
658 double ke = hN_piNcex_energies[ifile];
659 hN_datafile << data_dir << "/diff_ang/pie/pie" << ke << ".txt";
660
662 hN_datafile.str(), ke, hN_piNcex_points_per_file,
663 ipoint, hN_piNcex_costh, hN_piNcex_xsec,2);
664 }
665
666
667
668
669
670
671 fhN2dXSecPiN_CEx =
new BLI2DNonUnifGrid(hN_piNcex_nfiles,hN_piNcex_points_per_file,
672 hN_piNcex_energies,hN_piNcex_costh,hN_piNcex_xsec);
673 }
674
675
676 {
677 const int hN_piNabs_nfiles = 19;
678 const int hN_piNabs_points_per_file = 21;
679 const int hN_piNabs_npoints = hN_piNabs_points_per_file * hN_piNabs_nfiles;
680
681 double hN_piNabs_energies[hN_piNabs_nfiles] = {
682 50, 75, 100, 125, 150, 175, 200, 225, 250, 275,
683 300, 325, 350, 375, 400, 425, 450, 475, 500
684 };
685
686 double hN_piNabs_costh [hN_piNabs_points_per_file];
687 double hN_piNabs_xsec [hN_piNabs_npoints];
688
689 int ipoint=0;
690
691 for(int ifile = 0; ifile < hN_piNabs_nfiles; ifile++) {
692
693 ostringstream hN_datafile;
694 double ke = hN_piNabs_energies[ifile];
695 hN_datafile << data_dir << "/diff_ang/pid2p/pid2p" << ke << ".txt";
696
698 hN_datafile.str(), ke, hN_piNabs_points_per_file,
699 ipoint, hN_piNabs_costh, hN_piNabs_xsec,2);
700 }
701
702
703
704
705
706
707 fhN2dXSecPiN_Abs =
new BLI2DNonUnifGrid(hN_piNabs_nfiles,hN_piNabs_points_per_file,
708 hN_piNabs_energies,hN_piNabs_costh,hN_piNabs_xsec);
709 }
710
711
712 {
713 const int hN_gampi0pInelas_nfiles = 29;
714 const int hN_gampi0pInelas_points_per_file = 37;
715 const int hN_gampi0pInelas_npoints = hN_gampi0pInelas_points_per_file * hN_gampi0pInelas_nfiles;
716
717 double hN_gampi0pInelas_energies[hN_gampi0pInelas_nfiles] = {
718 160, 180, 200, 220, 240, 260, 280, 300, 320, 340,
719 360, 380, 400, 450, 500, 550, 600, 650, 700, 750,
720 800, 850, 900, 950, 1000, 1050, 1100, 1150, 1200
721 };
722
723 double hN_gampi0pInelas_costh [hN_gampi0pInelas_points_per_file];
724 double hN_gampi0pInelas_xsec [hN_gampi0pInelas_npoints];
725
726 int ipoint=0;
727
728 for(int ifile = 0; ifile < hN_gampi0pInelas_nfiles; ifile++) {
729
730 ostringstream hN_datafile;
731 double ke = hN_gampi0pInelas_energies[ifile];
732 hN_datafile << data_dir << "/diff_ang/gampi0p/" << ke << "-pi0p.txt";
733
735 hN_datafile.str(), ke, hN_gampi0pInelas_points_per_file,
736 ipoint, hN_gampi0pInelas_costh, hN_gampi0pInelas_xsec,3);
737 }
738
739
740
741
742
743
745 hN_gampi0pInelas_energies,hN_gampi0pInelas_costh,hN_gampi0pInelas_xsec);
746 }
747
748
749 {
750 const int hN_gampi0nInelas_nfiles = 29;
751 const int hN_gampi0nInelas_points_per_file = 37;
752 const int hN_gampi0nInelas_npoints = hN_gampi0nInelas_points_per_file * hN_gampi0nInelas_nfiles;
753
754 double hN_gampi0nInelas_energies[hN_gampi0nInelas_nfiles] = {
755 160, 180, 200, 220, 240, 260, 280, 300, 320, 340,
756 360, 380, 400, 450, 500, 550, 600, 650, 700, 750,
757 800, 850, 900, 950, 1000, 1050, 1100, 1150, 1200
758 };
759
760 double hN_gampi0nInelas_costh [hN_gampi0nInelas_points_per_file];
761 double hN_gampi0nInelas_xsec [hN_gampi0nInelas_npoints];
762 int ipoint=0;
763
764 for(int ifile = 0; ifile < hN_gampi0nInelas_nfiles; ifile++) {
765
766 ostringstream hN_datafile;
767 double ke = hN_gampi0nInelas_energies[ifile];
768 hN_datafile << data_dir << "/diff_ang/gampi0n/" << ke << "-pi0n.txt";
769
771 hN_datafile.str(), ke, hN_gampi0nInelas_points_per_file,
772 ipoint, hN_gampi0nInelas_costh, hN_gampi0nInelas_xsec,3);
773 }
774
775
776
777
778
779
781 hN_gampi0nInelas_energies,hN_gampi0nInelas_costh,hN_gampi0nInelas_xsec);
782 }
783
784
785 {
786 const int hN_gampipnInelas_nfiles = 29;
787 const int hN_gampipnInelas_points_per_file = 37;
788 const int hN_gampipnInelas_npoints = hN_gampipnInelas_points_per_file * hN_gampipnInelas_nfiles;
789
790 double hN_gampipnInelas_energies[hN_gampipnInelas_nfiles] = {
791 160, 180, 200, 220, 240, 260, 280, 300, 320, 340,
792 360, 380, 400, 450, 500, 550, 600, 650, 700, 750,
793 800, 850, 900, 950, 1000, 1050, 1100, 1150, 1200
794 };
795
796 double hN_gampipnInelas_costh [hN_gampipnInelas_points_per_file];
797 double hN_gampipnInelas_xsec [hN_gampipnInelas_npoints];
798
799 int ipoint=0;
800
801 for(int ifile = 0; ifile < hN_gampipnInelas_nfiles; ifile++) {
802
803 ostringstream hN_datafile;
804 double ke = hN_gampipnInelas_energies[ifile];
805 hN_datafile << data_dir << "/diff_ang/gampi+n/" << ke << "-pi+n.txt";
806
808 hN_datafile.str(), ke, hN_gampipnInelas_points_per_file,
809 ipoint, hN_gampipnInelas_costh, hN_gampipnInelas_xsec,3);
810 }
811
812
813
814
815
816
818 hN_gampipnInelas_energies,hN_gampipnInelas_costh,hN_gampipnInelas_xsec);
819 }
820
821
822 {
823 const int hN_gampimpInelas_nfiles = 29;
824 const int hN_gampimpInelas_points_per_file = 37;
825 const int hN_gampimpInelas_npoints = hN_gampimpInelas_points_per_file * hN_gampimpInelas_nfiles;
826
827 double hN_gampimpInelas_energies[hN_gampimpInelas_nfiles] = {
828 160, 180, 200, 220, 240, 260, 280, 300, 320, 340,
829 360, 380, 400, 450, 500, 550, 600, 650, 700, 750,
830 800, 850, 900, 950, 1000, 1050, 1100, 1150, 1200
831 };
832
833 double hN_gampimpInelas_costh [hN_gampimpInelas_points_per_file];
834 double hN_gampimpInelas_xsec [hN_gampimpInelas_npoints];
835
836 int ipoint=0;
837
838 for(int ifile = 0; ifile < hN_gampimpInelas_nfiles; ifile++) {
839
840 ostringstream hN_datafile;
841 double ke = hN_gampimpInelas_energies[ifile];
842 hN_datafile << data_dir << "/diff_ang/gampi-p/" << ke << "-pi-p.txt";
843
845 hN_datafile.str(), ke, hN_gampimpInelas_points_per_file,
846 ipoint, hN_gampimpInelas_costh, hN_gampimpInelas_xsec,3);
847 }
848
849
850
851
852
853
855 hN_gampimpInelas_energies,hN_gampimpInelas_costh,hN_gampimpInelas_xsec);
856 }
857
858 LOG(
"INukeData",
pINFO) <<
"Done building x-section splines...";
859}
void ReadhNFile(string filename, double ke, int npoints, int &curr_point, double *costh_array, double *xsec_array, int cols)