/[PAMELA software]/yoda/techmodel/Calib2_Ac1Reader.cpp
ViewVC logotype

Diff of /yoda/techmodel/Calib2_Ac1Reader.cpp

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

revision 2.3 by kusanagi, Tue Dec 21 16:50:45 2004 UTC revision 3.0 by kusanagi, Fri Mar 4 15:54:11 2005 UTC
# Line 1  Line 1 
1  /** @file  /** @file
2   * $Source: /home/cvsmanager/yoda/techmodel/Calib2_Ac1Reader.cpp,v $   * $Source: /home/cvsmanager/yoda/techmodel/Calib2_Ac1Reader.cpp,v $
3   * $Id: Calib2_Ac1Reader.cpp,v 2.2 2004/12/20 14:15:13 kusanagi Exp $   * $Id: Calib2_Ac1Reader.cpp,v 2.8 2005/02/09 22:20:16 kusanagi Exp $
4   * $Author: kusanagi $   * $Author: kusanagi $
5   *   *
6   * Implementation of the Calib2_Ac1Reader class.   * Implementation of the Calib2_Ac1Reader class.
# Line 13  Line 13 
13  extern "C" {  extern "C" {
14      #include "CRC.h"      #include "CRC.h"
15      #include "forroutines/anticounter/AC.h"      #include "forroutines/anticounter/AC.h"
16      extern int ACcalib(int length, unsigned char* calibpointer, struct calibstruct* calibpointer);      extern int ACcalib(int length, unsigned char* calibpointer, struct calibstruct *calibpointer);
17  }  }
18    
19  #include "ReaderAlgorithms.h"  #include "ReaderAlgorithms.h"
# Line 36  Calib2_Ac1Reader::Calib2_Ac1Reader(void) Line 36  Calib2_Ac1Reader::Calib2_Ac1Reader(void)
36   * Get a string with the version info of the algorithm.   * Get a string with the version info of the algorithm.
37   */   */
38  std::string Calib2_Ac1Reader::GetVersionInfo(void) const {  std::string Calib2_Ac1Reader::GetVersionInfo(void) const {
39    return "$Header: /home/cvsmanager/yoda/techmodel/Calib2_Ac1Reader.cpp,v 2.2 2004/12/20 14:15:13 kusanagi Exp $\n";    return "$Header: /home/cvsmanager/yoda/techmodel/Calib2_Ac1Reader.cpp,v 2.8 2005/02/09 22:20:16 kusanagi Exp $\n";
40  }  }
41    
42  /**  /**
# Line 54  void Calib2_Ac1Reader::Init(PamelaRun *r Line 54  void Calib2_Ac1Reader::Init(PamelaRun *r
54   */   */
55  void Calib2_Ac1Reader::RunEvent(int EventNumber, long int dataLength) throw (Exception){  void Calib2_Ac1Reader::RunEvent(int EventNumber, long int dataLength) throw (Exception){
56        
57    char   subData[dataLength];      char   *subData = new char[dataLength];
58    struct calibstruct output[2] = {0};      struct calibstruct output = {0};
       
     InputFile->read(subData, sizeof(unsigned char)*dataLength);  
59    
60      calib2_Ac1->ERROR = ACcalib(dataLength, (unsigned char*)subData, output);      InputFile->read(subData, sizeof(unsigned char)*dataLength);
     for (int i = 0; i<2; i++){  
         memcpy(calib2_Ac1->header[i],     output[i].header,  sizeof(output[i].header));  
         memcpy(calib2_Ac1->status[i],     output[i].status,  sizeof(output[i].status));  
         memcpy(calib2_Ac1->temp[i],       output[i].temp,       sizeof(output[i].temp));  
         memcpy(calib2_Ac1->DAC1[i],       output[i].DAC1,       sizeof(output[i].DAC1));  
         memcpy(calib2_Ac1->DAC2[i],       output[i].DAC2,       sizeof(output[i].DAC2));  
         memcpy(calib2_Ac1->regist[i],     output[i].regist,     sizeof(output[i].regist));  
         memcpy(calib2_Ac1->time[i],       output[i].time,       sizeof(output[i].time));  
         calib2_Ac1->n_tr[i] = output[i].n_tr;  
         memcpy(calib2_Ac1->hitmap_tr[i],  output[i].hitmap_tr,  sizeof(output[i].hitmap_tr));  
         memcpy(calib2_Ac1->curve1[i],     output[i].curve1,     sizeof(output[i].curve1));  
         memcpy(calib2_Ac1->curve2[i],     output[i].curve2,     sizeof(output[i].curve2));  
         calib2_Ac1->iCRC[i] = output[i].iCRC;  
         calib2_Ac1->tail[i] = output[i].tail;  
         calib2_Ac1->CRC[i]  = output[i].CRC;  
     }  
61    
62            calib2_Ac1->ERROR = ACcalib(dataLength, (unsigned char*)subData, &output);
63        memcpy(calib2_Ac1->header,     output.header,     sizeof(output.header));
64        memcpy(calib2_Ac1->status,     output.status,     sizeof(output.status));
65        memcpy(calib2_Ac1->temp,       output.temp,       sizeof(output.temp));
66        memcpy(calib2_Ac1->DAC1,       output.DAC1,       sizeof(output.DAC1));
67        memcpy(calib2_Ac1->DAC2,       output.DAC2,       sizeof(output.DAC2));
68        memcpy(calib2_Ac1->regist,     output.regist,     sizeof(output.regist));
69        memcpy(calib2_Ac1->time,       output.time,       sizeof(output.time));
70        calib2_Ac1->n_tr = output.n_tr;
71        memcpy(calib2_Ac1->hitmap_tr,  output.hitmap_tr,  sizeof(output.hitmap_tr));
72        memcpy(calib2_Ac1->curve1,     output.curve1,     sizeof(output.curve1));
73        memcpy(calib2_Ac1->curve2,     output.curve2,     sizeof(output.curve2));
74        calib2_Ac1->iCRC        = output.iCRC;
75        calib2_Ac1->tail        = output.tail;
76        calib2_Ac1->CRC         = output.CRC;
77        calib2_Ac1->CRCcheck    = output.CRCcheck;
78    
79      //delete [] subData;      //delete [] subData;
80    }    }

Legend:
Removed from v.2.3  
changed lines
  Added in v.3.0

  ViewVC Help
Powered by ViewVC 1.1.23