2 ***********************************************************
3 $SNARK_Header: S N A R K 1 4 - A PICTURE RECONSTRUCTION PROGRAM $
4 $HeadURL: svn://dig.cs.gc.cuny.edu/snark/trunk/src/snark/prdta.cpp $
5 $LastChangedRevision: 80 $
6 $Date: 2014-07-01 21:01:54 -0400 (Tue, 01 Jul 2014) $
8 ***********************************************************
10 PRDTA RETURNS AS ITS VALUE THE RAYSUM OF THE NR-TH RAY IN THE
12 IT BRINGS INTO CORE THE NRAYS VALUES FOR THE PROJECTION IF THEY
26 REAL anglst_class::prdta(INTEGER np, INTEGER nr)
30 // IF NP IS NOT A VALID PROJECTION TERMINATE WITH ERROR MESSAGE
32 if ((np < 0) || (np >= GeoPar.prjnum))
34 // ARGUMENTS OUT OF RANGE
35 fprintf(output, "\n **** np = %d is out of range (0..%d)", np, GeoPar.prjnum - 1);
36 fprintf(output, "\n **** program aborted\n");
42 // TEST IF PROJECTION IS ALREADY IN CORE, SAME AS LAST ONE READ
44 if (np != Anglst.incore)
47 // GET PROJECTION DATA FROM RANDOM FILE
49 ProjFile.ReadProj(np, Anglst.pbase, GeoPar.nrays);
52 // IF NR IS NOT A VALID RAY NUMBER TERMINATE WITH ERROR MESSAGE
54 if ((nr < 0) || (nr >= GeoPar.nrays))
56 fprintf(output, "\n **** nr = %d is out of range (0..%d)", nr, GeoPar.nrays - 1);
57 fprintf(output, "\n **** program aborted\n");
61 raysum = Anglst.pbase[nr];
65 fprintf(output, "\n prdta np = %5i nr = %5i raysum = %9.4f", np, nr, raysum);