/[PAMELA software]/rawreader/src/Verify.cpp
ViewVC logotype

Diff of /rawreader/src/Verify.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3 by cafagna, Sun Dec 10 12:52:48 2006 UTC revision 1.5 by cafagna, Sun Jan 28 10:55:50 2007 UTC
# Line 5  Line 5 
5  #include "CRC.h"  #include "CRC.h"
6    
7  short int CRC_H(char [], char []);  short int CRC_H(char [], char []);
8  extern char MYSQL[80];  extern char MYSQL[120];
9  extern char database[80];  extern char database[120];
10  extern float YODA_flag;  extern float YODA_flag;
11  extern float transmit_flag;  extern float transmit_flag;
12  extern int print_flag;  extern int print_flag;
# Line 75  void verify(char fni[], char inf[], char Line 75  void verify(char fni[], char inf[], char
75   long int icount_int=0;            /*Entire part of total file size in Kbytes*/   long int icount_int=0;            /*Entire part of total file size in Kbytes*/
76   long int icount_frac=0;           /*Fractional part of total file size*/   long int icount_frac=0;           /*Fractional part of total file size*/
77   long int N1=0;                    /*Number of identified PAMELA packets*/   long int N1=0;                    /*Number of identified PAMELA packets*/
78   long int numP[3];                     /*Packet numbers for previous packets*/   long int numP[3];                 /*Packet numbers for previous packets*/
79     long int PackType[3];             /*Packet type for previous packets*/
80   long int LenP[3];                 /*Packet length for previous packets*/   long int LenP[3];                 /*Packet length for previous packets*/
81   unsigned long int time_p[3];      /*Packet time*/   unsigned long int time_p[3];      /*Packet time*/
82   unsigned long int time_max=0;   unsigned long int time_max=0;
83   unsigned long int time_min=0;   unsigned long int time_min=0;
84     int CLN2_END=0;
85   long int pack_length=0;           /*PAMELA packet length*/   long int pack_length=0;           /*PAMELA packet length*/
86   long long int adr_first[3];       /*Start displacement from file begin*/   long long int adr_first[3];       /*Start displacement from file begin*/
87   long long int adr_last[3];        /*Finish displacement from file begin*/   long long int adr_last[3];        /*Finish displacement from file begin*/
# Line 98  void verify(char fni[], char inf[], char Line 100  void verify(char fni[], char inf[], char
100   strcpy(connection,MYSQL);   strcpy(connection,MYSQL);
101   strcat(connection,database);   strcat(connection,database);
102   TSQLServer *sqlServer = TSQLServer::Connect(connection, "pamelaprod", "rawprod");   TSQLServer *sqlServer = TSQLServer::Connect(connection, "pamelaprod", "rawprod");
103     if (sqlServer==0) {cerr<<"can not connect with  MYSQL server\n"; exit(1);}
104   oss.str("");   oss.str("");
105   oss<<"select * from FILES1";   oss<<"select * from FILES1";
106   TSQLResult *res1=sqlServer->Query(oss.str().c_str());   TSQLResult *res1=sqlServer->Query(oss.str().c_str());
# Line 132  void verify(char fni[], char inf[], char Line 134  void verify(char fni[], char inf[], char
134   {numP[i]=0; time_p[i]=0; CRC_Header[i]=0; CRC_bad_pack[i]=0;   {numP[i]=0; time_p[i]=0; CRC_Header[i]=0; CRC_bad_pack[i]=0;
135    flag_CRC_H[i]=0; flag_len[i]=0; flag_len_weak[i]=0; flag_pack[i]=0; flag_CRC_cor[i]=0;    flag_CRC_H[i]=0; flag_len[i]=0; flag_len_weak[i]=0; flag_pack[i]=0; flag_CRC_cor[i]=0;
136    flag_name[i]=0; flag_type[i]=0; flag_time[i]=0;    flag_name[i]=0; flag_type[i]=0; flag_time[i]=0;
137    LenP[i]=0;    LenP[i]=0; PackType[i]=0;
138    adr_first[i]=0; adr_last[i]=0;    adr_first[i]=0; adr_last[i]=0;
139    Hex[i]=0;}    Hex[i]=0;}
140   for (i=0; i<4; i++) {Byte_adr1[i]=0; Byte_adr2[i]=0;}   for (i=0; i<4; i++) {Byte_adr1[i]=0; Byte_adr2[i]=0;}
141   for (i=0; i<2; i++) temp[i]=0;   for (i=0; i<2; i++) temp[i]=0;
142    
143   ifstream fin;   ifstream fin;
144   ofstream fo_pam, fo_work;     ofstream fo_pam, fo_work;
145  /**********************OPEN NECESSARY FILES************************/  /**********************OPEN NECESSARY FILES************************/
146  /******************************************************************/  /******************************************************************/
147   fin.open(fni, ios::binary);     // open input file "nnnnn_mmm_xxx_cln1.pam"   fin.open(fni, ios::binary);     // open input file "nnnnn_mmm_xxx_cln1.pam"
148   if(fin.good()==0) {cerr<<"can not open input file "<<fni<<"\n"; exit(1);}   if(fin.good()==0) {cerr<<"can not open input file (Verify.cpp) "<<fni<<"\n"; exit(1);}
149    
150   fo_work.open(fno, ios::out);    //open output help file "work.dat"   fo_work.open(fno, ios::out);    //open output help file "work.dat"
151   if(!fo_work) {cerr<<"can not open outputfile"; exit(1);}   if(!fo_work) {cerr<<"can not open outputfile"; exit(1);}
# Line 184  void verify(char fni[], char inf[], char Line 186  void verify(char fni[], char inf[], char
186                   256*(long int)(unsigned char)(Name_Buf[6])+                   256*(long int)(unsigned char)(Name_Buf[6])+
187               256*256*(long int)(unsigned char)(Name_Buf[5]);               256*256*(long int)(unsigned char)(Name_Buf[5]);
188    
   if (N1==0) numP[2]=tmpP-1;    //initial packet identification  
189    
190  /******************packet type identification**********************/  /******************packet type identification**********************/
191    for (i=0;i<NumberPack;i++)    for (i=0;i<NumberPack;i++)
# Line 196  void verify(char fni[], char inf[], char Line 197  void verify(char fni[], char inf[], char
197    if ((num_type1==0)&&(num_type2!=0)) num_type=num_type2;            if ((num_type1==0)&&(num_type2!=0)) num_type=num_type2;        
198    if ((num_type1!=0)&&(num_type2==0)) num_type=num_type1;    if ((num_type1!=0)&&(num_type2==0)) num_type=num_type1;
199    
200      if (N1==0)
201      {numP[2]=tmpP-1;          //initial packet identification
202       PackType[2]=num_type-1;} //initial packet type identification
203  ///////////////////////////////////////////////////////////////////  ///////////////////////////////////////////////////////////////////
204  ////////////////// PAMELA PACKET IDENTIFICATION////////////////////  ////////////////// PAMELA PACKET IDENTIFICATION////////////////////
205  ///////////////////////////////////////////////////////////////////  ///////////////////////////////////////////////////////////////////
206    if (((int)(unsigned char)Name_Buf[0]==CODE_BYTE1&&    if (((int)(unsigned char)Name_Buf[0]==CODE_BYTE1&&(tmpP==numP[2]+1)&&num_type!=0&&N1!=0)||
207             (tmpP==numP[2]+1)&&num_type!=0&&N1!=0)||        ((int)(unsigned char)Name_Buf[1]==CODE_BYTE2&&(tmpP==numP[2]+1)&&num_type!=0&&N1!=0)||
208        ((int)(unsigned char)Name_Buf[1]==CODE_BYTE2&&        ((int)(unsigned char)Name_Buf[2]==CODE_BYTE3&&(tmpP==numP[2]+1)&&num_type!=0&&N1!=0)||
209             (tmpP==numP[2]+1)&&num_type!=0&&N1!=0)||        ((int)(unsigned char)Name_Buf[0]==CODE_BYTE1&&(int)(unsigned char)Name_Buf[1]==CODE_BYTE2&&
210            ((int)(unsigned char)Name_Buf[2]==CODE_BYTE3&&         (int)(unsigned char)Name_Buf[2]==CODE_BYTE3&&num_type1!=0&&num_type1==num_type2)||
211             (tmpP==numP[2]+1)&&num_type!=0&&N1!=0)||        ((int)(unsigned char)Name_Buf[0]==CODE_BYTE1&&(int)(unsigned char)Name_Buf[1]==CODE_BYTE2&&
212            ((int)(unsigned char)Name_Buf[0]==CODE_BYTE1&&         (int)(unsigned char)Name_Buf[2]==CODE_BYTE3&&(tmpP==numP[2]+1)))    
            (int)(unsigned char)Name_Buf[1]==CODE_BYTE2&&  
            (int)(unsigned char)Name_Buf[2]==CODE_BYTE3&&num_type1!=0&&num_type1==num_type2)||  
           ((int)(unsigned char)Name_Buf[0]==CODE_BYTE1&&  
            (int)(unsigned char)Name_Buf[1]==CODE_BYTE2&&  
            (int)(unsigned char)Name_Buf[2]==CODE_BYTE3&&  
            (tmpP==numP[2]+1)))      
213    {if (N1==0) {for (i=0;i<8;i++) buffer[i]=Name_Buf[i]; }    {if (N1==0) {for (i=0;i<8;i++) buffer[i]=Name_Buf[i]; }
214     N1+=1; FLAG_BIG=0;     N1+=1; FLAG_BIG=0;
215     if (N1==1) {icount+=8;}         if (N1==1) {icount+=8;}
216    
217     packet_counter[num_type]+=1;  //count packet number for each type     packet_counter[num_type]+=1;  //count packet number for each type
218     if ((print_flag>0) && (fmod((float)(tmpP),(float)(1000.))==0.)&&(tmpP!=0)) cout<<"verifying "<<tmpP<<"\n";     if ((print_flag>0) && (fmod((float)(tmpP),(float)(1000.))==0.)&&(tmpP!=0)) cout<<"verifying "<<tmpP<<"\n";
219     if (N1!=1)     if (N1!=1)
# Line 228  void verify(char fni[], char inf[], char Line 227  void verify(char fni[], char inf[], char
227           {flag_len[2]=1;           {flag_len[2]=1;
228            er_pack_Len+=1;            er_pack_Len+=1;
229            if (print_flag>0)            if (print_flag>0)
230            {cout<<"pack num "<<numP[2]<<" len="<<LenP[2]<<" true len="<<adr_last[2]-adr_first[2]-16<<" Type="<<num_type<<"\n";}            {cout<<"pack num "<<numP[2]<<" len="<<LenP[2]<<" true len="<<adr_last[2]-adr_first[2]-16<<" Type="
231                   <<packet_type[PackType[2]]<<"\n";}
232            fo_work<<"Length error : packet number="<<numP[2]<<" : length in header="<<LenP[2]<<            fo_work<<"Length error : packet number="<<numP[2]<<" : length in header="<<LenP[2]<<
233                     " : length till next header="<<adr_last[2]-adr_first[2]-16<<" : packet type="<<hex<<                     " : length till next header="<<adr_last[2]-adr_first[2]-16<<" : packet type="<<hex<<
234                     packet_type[num_type]<<dec<<"\n";                     packet_type[PackType[2]]<<dec<<"\n";
235           }           }
236           if ( (flag_CRC_H[2]==0)&&(GLOBAL_LEN_ER>0)&&           if ( (flag_CRC_H[2]==0)&&(GLOBAL_LEN_ER>0)&&
237                    ( ((adr_last[2]-adr_first[2]+1)<(LenP[2]+16))||((adr_last[2]-adr_first[2]+1-LenP[2]-16)>64) ) )                    ( ((adr_last[2]-adr_first[2]+1)<(LenP[2]+16))||((adr_last[2]-adr_first[2]+1-LenP[2]-16)>64) ) )
238           {flag_len_weak[2]=1;           {flag_len_weak[2]=1;
239            if (print_flag>0)            if (print_flag>0)
240            {cout<<"weak length error; pack num "<<numP[2]<<" len="<<LenP[2]<<" true len="<<adr_last[2]-adr_first[2]-16            {cout<<"weak length error; pack num "<<numP[2]<<" len="<<LenP[2]<<" true len="<<adr_last[2]-adr_first[2]-16
241                 <<" Type="<<num_type<<"\n";}                 <<" Type="<<hex<<packet_type[PackType[2]]<<dec<<"\n";}
242            fo_work<<"Weak length error : packet number="<<numP[2]<<" : length in header="<<LenP[2]<<            fo_work<<"Weak length error : packet number="<<numP[2]<<" : length in header="<<LenP[2]<<
243                     " : length till next header="<<adr_last[2]-adr_first[2]-16<<" : packet type="<<num_type<<"\n";                     " : length till next header="<<adr_last[2]-adr_first[2]-16<<" : packet type="<<hex<<
244                       packet_type[PackType[2]]<<dec<<"\n";
245           }           }
246    
247      if ((GLOBAL_LEN_ER>0)&&(flag_len[2]==1))      if ((GLOBAL_LEN_ER>0)&&(flag_len[2]==1))
# Line 319  void verify(char fni[], char inf[], char Line 320  void verify(char fni[], char inf[], char
320                          flag_time[2]=0;                          flag_time[2]=0;
321                          flag_CRC_cor[2]=0;                          flag_CRC_cor[2]=0;
322              for (i=0; i<2; i++)              for (i=0; i<2; i++)
323                          {numP[i]=numP[2]; time_p[i]=time_p[2];                          {numP[i]=numP[2]; PackType[i]=PackType[2]; time_p[i]=time_p[2];
324                           CRC_Header[i]=CRC_Header[2];                           CRC_Header[i]=CRC_Header[2];
325                           LenP[i]=LenP[2];                           LenP[i]=LenP[2];
326                           adr_first[i]=adr_first[2];                           adr_first[i]=adr_first[2];
# Line 334  void verify(char fni[], char inf[], char Line 335  void verify(char fni[], char inf[], char
335                     }                     }
336      default:{      default:{
337               for (i=0; i<2; i++)               for (i=0; i<2; i++)
338                           {numP[i]=numP[i+1];                           {numP[i]=numP[i+1]; PackType[i]=PackType[i+1];
339                            time_p[i]=time_p[i+1];                            time_p[i]=time_p[i+1];
340                            CRC_Header[i]=CRC_Header[i+1];                            CRC_Header[i]=CRC_Header[i+1];
341                            CRC_bad_pack[i]=CRC_bad_pack[i+1];                            CRC_bad_pack[i]=CRC_bad_pack[i+1];
# Line 352  void verify(char fni[], char inf[], char Line 353  void verify(char fni[], char inf[], char
353                            numP[2]=(long int)(unsigned char)(Name_Buf[7])+                            numP[2]=(long int)(unsigned char)(Name_Buf[7])+
354                                256*(long int)(unsigned char)(Name_Buf[6])+                                256*(long int)(unsigned char)(Name_Buf[6])+
355                            256*256*(long int)(unsigned char)(Name_Buf[5]);                            256*256*(long int)(unsigned char)(Name_Buf[5]);
356                              PackType[2]=num_type-1;
357                            time_p[2]=(long int)(unsigned char)(Name_Buf_add[3])+                            time_p[2]=(long int)(unsigned char)(Name_Buf_add[3])+
358                                   256*(long int)(unsigned char)(Name_Buf_add[2])+                                   256*(long int)(unsigned char)(Name_Buf_add[2])+
359                               256*256*(long int)(unsigned char)(Name_Buf_add[1])+                               256*256*(long int)(unsigned char)(Name_Buf_add[1])+
# Line 386  void verify(char fni[], char inf[], char Line 388  void verify(char fni[], char inf[], char
388      fo_work<<"CRC error : PAMELA packet="<<numP[2]<<" : real CRC="<<bitset<8>(CRC_Header[2])<<"("<<CRC_Header[2]<<      fo_work<<"CRC error : PAMELA packet="<<numP[2]<<" : real CRC="<<bitset<8>(CRC_Header[2])<<"("<<CRC_Header[2]<<
389               ") : calculated CRC="<<bitset<8>(CalcCheckSum)<<"("<<CalcCheckSum<<")\n";               ") : calculated CRC="<<bitset<8>(CalcCheckSum)<<"("<<CalcCheckSum<<")\n";
390     }     }
391     if ((time_max<time_p[2])&&(flag_CRC_H[2]!=1)) time_max=time_p[2];  // TIme in the last new packet  
392       if ((time_max<=time_p[2])&&(flag_CRC_H[2]!=1))
393       {time_max=time_p[2];}
394       else if ((time_max>time_p[2])&&(flag_CRC_H[2]!=1)&&(CLN2_FLAG==2))
395       {fin.seekg(0,ios::end); CLN2_END=1; goto END;}
396  /*********packet counter error analysis****************************/  /*********packet counter error analysis****************************/
397     if ((numP[2]!=(numP[1]+1))&&(N1!=1)&&(flag_len[1]==0)&&(CRC_bad_pack[2]==numP[2]))     if ((numP[2]!=(numP[1]+1))&&(N1!=1)&&(flag_len[1]==0)&&(CRC_bad_pack[2]==numP[2]))
398     {     {
# Line 436  void verify(char fni[], char inf[], char Line 442  void verify(char fni[], char inf[], char
442  /***missed packets: 21  20 19 18  17 ******************************/    /***missed packets: 21  20 19 18  17 ******************************/  
443     if ((numP[1]<numP[0])&&(numP[1]==numP[2]-1)&&(flag_pack[0]==0)&&(flag_pack[1]==0)&&(flag_pack[2]==0))     if ((numP[1]<numP[0])&&(numP[1]==numP[2]-1)&&(flag_pack[0]==0)&&(flag_pack[1]==0)&&(flag_pack[2]==0))
444     {Mis_group+=1;     {Mis_group+=1;
445      count_sec_miss+=numP[0]-1-numP[1];      count_sec_miss+=numP[0]-numP[1];
446      fprintf(fo_miss,"secondary transmitted packets may be %9i -%9i number of packets=%9i\n",      fprintf(fo_miss,"secondary transmitted packets may be %9i -%9i number of packets=%9i\n",
447                      numP[1],numP[0],numP[0]-1-numP[1]);                      numP[1],numP[0],numP[0]-numP[1]);
448     }     }
449  /**packet numbers: 10 11 (12 15 19) 20 ****************************/  /**packet numbers: 10 11 (12 15 19) 20 ****************************/
450  /***********missed packets: 16 17 18 ********************************/  /***********missed packets: 16 17 18 ********************************/
# Line 522  void verify(char fni[], char inf[], char Line 528  void verify(char fni[], char inf[], char
528     for (i=0;i<4;i++) Byte_adr1[i]=0;     for (i=0;i<4;i++) Byte_adr1[i]=0;
529     for (i=0;i<4;i++)     for (i=0;i<4;i++)
530     {if (temp[0]/(long int)(pow(256.,3-i))>=1)     {if (temp[0]/(long int)(pow(256.,3-i))>=1)
531          {Byte_adr1[3-i]=(int)(temp[0]/(long int)(pow(256.,3-i)));      {Byte_adr1[3-i]=(int)(temp[0]/(long int)(pow(256.,3-i)));
532           temp[0]=temp[0]-(long int)pow(256.,3-i)*       temp[0]=temp[0]-(long int)pow(256.,3-i)*(int)(temp[0]/(long int)(pow(256.,3-i)));}
                            (int)(temp[0]/(long int)(pow(256.,3-i)));}  
533     }       }  
534    
535  //Write packet type and begin displacement in log file  //Write packet type and begin displacement in log file
# Line 552  void verify(char fni[], char inf[], char Line 557  void verify(char fni[], char inf[], char
557    if ((print_flag>0) && fmod( double(icount_total), double(100000000.))==double(0.)) {cout<<"Mbytes="<<icount_total/1000000.<<"\n";}    if ((print_flag>0) && fmod( double(icount_total), double(100000000.))==double(0.)) {cout<<"Mbytes="<<icount_total/1000000.<<"\n";}
558    if ((N1>0)&&(FLAG_BIG==0)) icount+=1;    if ((N1>0)&&(FLAG_BIG==0)) icount+=1;
559    for (i=0;i<7;i++) Name_Buf[i]=Name_Buf[i+1];    for (i=0;i<7;i++) Name_Buf[i]=Name_Buf[i+1];
560    Name_Buf[7]=ch; /*for(i=0;i<8;i++) printf("%x",(int)(unsigned char)Name_Buf[i]); printf("\n");*/    Name_Buf[7]=ch;
561    if ((icount-adr_first[2]-1)<Nmax)    if ((icount-adr_first[2]-1)<Nmax)
562    {buffer[icount-adr_first[2]]=ch;}    {buffer[icount-adr_first[2]]=ch;}
563    else    else
564    {flag_len[2]=1;    {if (FLAG_BIG==0)
565     er_pack_Len+=1;     {flag_len[2]=1;
566     fo_work<<"Length error (too long packet) : packet number="<<numP[2]<<" : length in header="<<LenP[2]<<      er_pack_Len+=1;
567              " : length (> Nmax="<<Nmax<<")="<<icount-adr_first[2]<<" : packet type="<<hex<<      fo_work<<"Length error (too long packet) : packet number="<<numP[2]<<" : length in header="<<LenP[2]<<
568              packet_type[num_type]<<dec<<"\n";               " : length (> Nmax="<<Nmax<<")="<<icount-adr_first[2]<<" : packet type="<<hex<<
569     if (print_flag>0 && FLAG_BIG==0) {cout<<"too long packet "<<numP[2]<<"\n";}               packet_type[PackType[2]]<<dec<<"\n";
570     FLAG_BIG=1;      if (print_flag>0) {cout<<"too long packet "<<numP[2]<<"\n";}
571        FLAG_BIG=1;
572       }
573    }    }
574   }   }
575  /******************************************************************/  /******************************************************************/
576  /********************MAIN READING CYCLE END************************/  /********************MAIN READING CYCLE END************************/
577  /******************************************************************/  /******************************************************************/
578    END:
579     if (CLN2_END==0)
580     {
581  /*************PAMELA LAST PACKET END DISPLACEMENT******************/  /*************PAMELA LAST PACKET END DISPLACEMENT******************/
582    if (FLAG_BIG==0) {adr_last[2]=icount;}    if ((icount-adr_first[2]+1-LenP[2]-16)<=Limit) {adr_last[2]=icount;}                   //end byte for previous packet
583    else {adr_last[2]=adr_first[2]+Limit;}    else if ((icount-adr_first[2]+1-LenP[2]-16)>Limit) {adr_last[2]=adr_first[2]+Limit;}   //end byte for previous packet
584      
585    if ((adr_last[2]-adr_first[2]+1-LenP[2]-16>64)||(adr_last[2]-adr_first[2]+1-LenP[2]-16<0))    if ((adr_last[2]-adr_first[2]+1-LenP[2]-16>64)||(adr_last[2]-adr_first[2]+1-LenP[2]-16<0))
586    {    {
587     flag_len[2]=1;     flag_len[2]=1;
588     er_pack_Len+=1;     er_pack_Len+=1;
589     fo_work<<"Length error : packet number="<<numP[2]<<" : length in header="<<LenP[2]<<     fo_work<<"Length error : packet number="<<numP[2]<<" : length in header="<<LenP[2]<<
590              " : length till next header="<<adr_last[2]-adr_first[2]-16<<" : packet type="<<hex<<              " : length till next header="<<adr_last[2]-adr_first[2]-16<<" : packet type="<<hex<<
591              packet_type[num_type]<<dec<<"\n";                packet_type[PackType[2]]<<dec<<"\n";  
592    }    }
593    if ( (flag_len[2]!=1)&&(flag_CRC_H[2]!=1) )    if ( (flag_len[2]!=1)&&(flag_CRC_H[2]!=1) )
594    {adr_last[2]=adr_first[2]+LenP[2]+15;}    {adr_last[2]=adr_first[2]+LenP[2]+15;}
# Line 588  void verify(char fni[], char inf[], char Line 598  void verify(char fni[], char inf[], char
598    {if (temp[1]/(long int)(pow(256.,3-i))>=1)    {if (temp[1]/(long int)(pow(256.,3-i))>=1)
599          {Byte_adr2[3-i]=(int)(temp[1]/(long int)(pow(256.,3-i)));          {Byte_adr2[3-i]=(int)(temp[1]/(long int)(pow(256.,3-i)));
600       temp[1]=temp[1]-(long int)pow(256.,3-i)*       temp[1]=temp[1]-(long int)pow(256.,3-i)*
601       (int)(temp[1]/(long int)(pow(256.,3-i)));}}       (int)(temp[1]/(long int)(pow(256.,3-i)));}}  
     
 /*********PAMELA LAST PACKET LENGTH ERROR ANALYSIS*****************/  
602    
603  //Write last packet end displacement in log file  //Write last packet end displacement in log file
604   for (i=0;i<4;i++) fprintf(fo_log,"%1c",char(Byte_adr2[i]));    for (i=0;i<4;i++) fprintf(fo_log,"%1c",char(Byte_adr2[i]));
605    
606  //Write error number in log and work.dat files  //Write error number in log and work.dat files
607   flags=(short int)(pow((float)(2*flag_CRC_H[2]),1)+    flags=(short int)(pow((float)(2*flag_CRC_H[2]),1)+
608                     pow((float)(2*flag_len[2]),2)+                     pow((float)(2*flag_len[2]),2)+
609                     pow((float)(2*flag_pack[2]),3)+                     pow((float)(2*flag_pack[2]),3)+
610                     pow((float)(2*flag_name[2]),4)+                     pow((float)(2*flag_name[2]),4)+
611                     pow((float)(2*flag_type[2]),5)+                     pow((float)(2*flag_type[2]),5)+
612                     pow((float)(2*flag_time[2]),6)+                     pow((float)(2*flag_time[2]),6)+
613                                     pow((float)(2*flag_CRC_cor[2]),7));                                     pow((float)(2*flag_CRC_cor[2]),7));
614   if ((flags!=0)&&(N1>0)) er_pack_count+=1;    if ((flags!=0)&&(N1>0)) er_pack_count+=1;
615   fprintf(fo_log,"%1c",char(flags));    fprintf(fo_log,"%1c",char(flags));
616  //Write error number in work.dat file  //Write error number in work.dat file
617   if (flags!=0) fo_work<<"PAMELA packet="<<numP[2]<<" : error flag="<<flags<<"\n";    if (flags!=0) fo_work<<"PAMELA packet="<<numP[2]<<" : error flag="<<flags<<"\n";
618     }
619    
620  //Write inf file  //Write inf file
621   fprintf(fo_inf,"%lli bytes in initial file %s\n", icount_total, name_in);   fprintf(fo_inf,"%lli bytes in initial file %s\n", icount_total, name_in);
622   icount_int = (int)(icount_total/1024);   icount_int = (int)(icount_total/1024);
# Line 634  void verify(char fni[], char inf[], char Line 642  void verify(char fni[], char inf[], char
642    fprintf(fo_inf,"Type %x  number of PAMELA packets= %i\n",    fprintf(fo_inf,"Type %x  number of PAMELA packets= %i\n",
643                       packet_type[i-1], packet_counter[i]);                       packet_type[i-1], packet_counter[i]);
644   }   }
645    
646     if (CLN2_END==0)
647     {
648  //Write data in file "nnnnn_mmm_xxx_cln2.pam"  //Write data in file "nnnnn_mmm_xxx_cln2.pam"
649   for (i=0;i<adr_last[2]-adr_first[2]+1;i++)    for (i=0;i<adr_last[2]-adr_first[2]+1;i++)
650   {fo_pam<<buffer[i];}    {fo_pam<<buffer[i];}
651     }
652    
653   time(&seconds);   time(&seconds);
654   timeinfo=localtime(&seconds);   timeinfo=localtime(&seconds);
# Line 691  void verify(char fni[], char inf[], char Line 703  void verify(char fni[], char inf[], char
703  // }  // }
704    
705   delete [] buffer;   delete [] buffer;
   
706  /***************************************************************/  /***************************************************************/
707    fin.close();    fin.close();
708    fo_work.close();    fo_work.close();

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.5

  ViewVC Help
Powered by ViewVC 1.1.23