some fixes + other output + analyse recoils instead of ions
authorhackbard <hackbard>
Tue, 25 Jan 2005 18:40:10 +0000 (18:40 +0000)
committerhackbard <hackbard>
Tue, 25 Jan 2005 18:40:10 +0000 (18:40 +0000)
parse_trim_collision.c

index eed12c5..023c8f6 100644 (file)
@@ -36,7 +36,7 @@ int main(int argc,char **argv) {
        int max_chfi,max_th;
        t_z Z[MAXZ];
        unsigned char hit[MAXZ];
-       char buf[256],*p,value[6],value2[10];
+       char buf[256],*p,value[6],value2[11];
 
        i=0;
 
@@ -80,9 +80,11 @@ int main(int argc,char **argv) {
                                        avg2+=Z[i].cell_hits_from_ions;
                                }
                                for(i=0;i<MAXZ;i++) 
-                                       printf("%d %f %f %f\n",i*3,1.0*Z[i].total_hits/max_th,
-                                                               Z[i].energy/max_e,
-                                                               1.0*Z[i].cell_hits_from_ions/max_chfi);
+                                       //printf("%d %f %f %f\n",i*3,1.0*Z[i].total_hits/max_th,
+                                       //                      Z[i].energy/max_e,
+                                       //                      1.0*Z[i].cell_hits_from_ions/max_chfi);
+                                       printf("%d %f\n",i*3,1.0*Z[i].total_hits/max_th); // hits
+                                       //printf("%d %f\n",i*3,1.0*Z[i].energy/max_e); // energy
                                printf("skipped = %d\n",skipped);
                                printf("average hits per ion %d / %d\n",avg1/ion,avg2/ion);
                                return 1;
@@ -92,7 +94,7 @@ int main(int argc,char **argv) {
                }
 
                /* parse line */
-               if((buf[0]=='³')&&(buf[1]!='=')) {
+               if((buf[0]=='³')&&(buf[1]!='=')&&(buf[1]!=' ')) {
                        p=strtok(buf,"³");
                        value[0]=p[0];
                        value[1]=p[1];
@@ -127,8 +129,8 @@ int main(int argc,char **argv) {
                        z=(int)(atof(value2)/30.);
                        if(z>232) skipped+=1;
                        else {
-                               Z[z].energy+=en;
-                               Z[z].total_hits+=1;
+                               //Z[z].energy+=en;
+                               //Z[z].total_hits+=1;
                                hit[z]=1;
                        }
                        if(ion!=atoi(value)) {
@@ -141,8 +143,37 @@ int main(int argc,char **argv) {
                        //      Z[z].energy,Z[z].cell_hits_from_ions);
                        // return 0;
                }
-
-
+               if((buf[0]=='Û')&&(buf[1]==' ')) {
+                       value2[0]=buf[25];
+                       value2[1]=buf[26];
+                       value2[2]=buf[27];
+                       value2[3]=buf[28];
+                       value2[4]='.';
+                       value2[5]=buf[30];
+                       value2[6]=buf[31];
+                       value2[7]=buf[32];
+                       value2[8]=buf[33];
+                       value2[9]='\0';
+                       z=(int)(atof(value2)/30.);
+                       value2[0]=buf[14];
+                       value2[1]=buf[15];
+                       value2[2]=buf[16];
+                       value2[3]=buf[17];
+                       value2[4]=buf[18];
+                       value2[5]='.';
+                       value2[6]=buf[20];
+                       value2[7]=buf[21];
+                       value2[8]=buf[22];
+                       value2[9]=buf[23];
+                       value2[10]='\0';
+                       en=atof(value2);
+                       if(z>232) skipped+=1;
+                       else {
+                               Z[z].energy+=en;
+                               Z[z].total_hits+=1;
+                               hit[z]=1;
+                       }
+               }
        }
        return 0;
 }