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

Diff of /yoda/techmodel/Calib2_Ac2Reader.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 4.0 by kusanagi, Sun Mar 6 04:33:02 2005 UTC
# Line 1  Line 1 
1  /** @file  /** @file
2   * $Source: /home/cvsmanager/yoda/techmodel/Calib2_Ac2Reader.cpp,v $   * $Source: /home/cvsmanager/yoda/techmodel/Calib2_Ac2Reader.cpp,v $
3   * $Id: Calib2_Ac2Reader.cpp,v 2.2 2004/12/20 14:15:13 kusanagi Exp $   * $Id: Calib2_Ac2Reader.cpp,v 3.0 2005/03/04 15:54:11 kusanagi Exp $
4   * $Author: kusanagi $   * $Author: kusanagi $
5   *   *
6   * Implementation of the Calib2_Ac2Reader class.   * Implementation of the Calib2_Ac2Reader 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_Ac2Reader::Calib2_Ac2Reader(void) Line 36  Calib2_Ac2Reader::Calib2_Ac2Reader(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_Ac2Reader::GetVersionInfo(void) const {  std::string Calib2_Ac2Reader::GetVersionInfo(void) const {
39    return "$Header: /home/cvsmanager/yoda/techmodel/Calib2_Ac2Reader.cpp,v 2.2 2004/12/20 14:15:13 kusanagi Exp $\n";    return "$Header: /home/cvsmanager/yoda/techmodel/Calib2_Ac2Reader.cpp,v 3.0 2005/03/04 15:54:11 kusanagi Exp $\n";
40  }  }
41    
42  /**  /**
# Line 53  void Calib2_Ac2Reader::Init(PamelaRun *r Line 53  void Calib2_Ac2Reader::Init(PamelaRun *r
53   * Unpack the CalibAc event from an input file.   * Unpack the CalibAc event from an input file.
54   */   */
55  void Calib2_Ac2Reader::RunEvent(int EventNumber, long int dataLength) throw (Exception){  void Calib2_Ac2Reader::RunEvent(int EventNumber, long int dataLength) throw (Exception){
   char   subData[dataLength];  
   struct calibstruct output[2] = {0};  
   int ERROR;  
56    
57        char   *subData = new char[dataLength];
58        struct calibstruct output = {0};
59    
60      InputFile->read(subData, sizeof(unsigned char)*dataLength);      InputFile->read(subData, sizeof(unsigned char)*dataLength);
     calib2_Ac2->ERROR = ACcalib(dataLength, (unsigned char*)subData, output);  
     for(int i = 0; i<2; i++){  
         memcpy(calib2_Ac2->header[i],     output[i].header,     sizeof(output[i].header));  
         memcpy(calib2_Ac2->status[i],     output[i].status,     sizeof(output[i].status));  
         memcpy(calib2_Ac2->temp[i],       output[i].temp,       sizeof(output[i].temp));  
         memcpy(calib2_Ac2->DAC1[i],       output[i].DAC1,       sizeof(output[i].DAC1));  
         memcpy(calib2_Ac2->DAC2[i],       output[i].DAC2,       sizeof(output[i].DAC2));  
         memcpy(calib2_Ac2->regist[i],     output[i].regist,     sizeof(output[i].regist));  
         memcpy(calib2_Ac2->time[i],       output[i].time,       sizeof(output[i].time));  
         calib2_Ac2->n_tr[i] = output[i].n_tr;  
         memcpy(calib2_Ac2->hitmap_tr[i],  output[i].hitmap_tr,  sizeof(output[i].hitmap_tr));  
         memcpy(calib2_Ac2->curve1[i],     output[i].curve1,     sizeof(output[i].curve1));  
         memcpy(calib2_Ac2->curve2[i],     output[i].curve2,     sizeof(output[i].curve2));  
         calib2_Ac2->iCRC[i] = output[i].iCRC;  
         calib2_Ac2->tail[i] = output[i].tail;  
         calib2_Ac2->CRC[i]  = output[i].CRC;  
     }  
61    
62        calib2_Ac2->ERROR = ACcalib(dataLength, (unsigned char*)subData, &output);
63        memcpy(calib2_Ac2->header,     output.header,     sizeof(output.header));
64        memcpy(calib2_Ac2->status,     output.status,     sizeof(output.status));
65        memcpy(calib2_Ac2->temp,       output.temp,       sizeof(output.temp));
66        memcpy(calib2_Ac2->DAC1,       output.DAC1,       sizeof(output.DAC1));
67        memcpy(calib2_Ac2->DAC2,       output.DAC2,       sizeof(output.DAC2));
68        memcpy(calib2_Ac2->regist,     output.regist,     sizeof(output.regist));
69        memcpy(calib2_Ac2->time,       output.time,       sizeof(output.time));
70        calib2_Ac2->n_tr = output.n_tr;
71        memcpy(calib2_Ac2->hitmap_tr,  output.hitmap_tr,  sizeof(output.hitmap_tr));
72        memcpy(calib2_Ac2->curve1,     output.curve1,     sizeof(output.curve1));
73        memcpy(calib2_Ac2->curve2,     output.curve2,     sizeof(output.curve2));
74        calib2_Ac2->iCRC        = output.iCRC;
75        calib2_Ac2->tail        = output.tail;
76        calib2_Ac2->CRC         = output.CRC;
77        calib2_Ac2->CRCcheck    = output.CRCcheck;
78      
79      //delete [] subData;      //delete [] subData;
80    }    }

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

  ViewVC Help
Powered by ViewVC 1.1.23