/[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.2 by kusanagi, Mon Dec 20 14:15:13 2004 UTC revision 6.3 by mocchiut, Fri Sep 29 10:19:18 2006 UTC
# Line 1  Line 1 
1  /** @file  /** @file
2   * $Source: /home/cvsmanager/yoda/techmodel/Calib2_Ac2Reader.cpp,v $   * $Source: /afs/ba.infn.it/user/pamela/src/CVS/yoda/techmodel/Calib2_Ac2Reader.cpp,v $
3   * $Id: Calib2_Ac2Reader.cpp,v 2.1 2004/12/16 17:32:57 kusanagi Exp $   * $Id: Calib2_Ac2Reader.cpp,v 6.2 2006/05/30 19:10:03 kusanagi Exp $
4   * $Author: kusanagi $   * $Author: kusanagi $
5   *   *
6   * Implementation of the Calib2_Ac2Reader class.   * Implementation of the Calib2_Ac2Reader class.
7   */   */
8    
 #include <string>  
9  #include <log4cxx/logger.h>  #include <log4cxx/logger.h>
 #include <fstream>  
 #include "stdio.h"  
10  extern "C" {  extern "C" {
11      #include "CRC.h"      #include "CRC.h"
12      #include "forroutines/anticounter/AC.h"      #include "forroutines/anticounter/AC.h"
13      extern int ACcalib(int length, unsigned char* calibpointer, struct calibstruct* calibpointer);      extern int ACcalib(int length, unsigned char* calibpointer, struct calibstruct *calibpointer);
14  }  }
15    
16  #include "ReaderAlgorithms.h"  #include "ReaderAlgorithms.h"
# Line 36  Calib2_Ac2Reader::Calib2_Ac2Reader(void) Line 33  Calib2_Ac2Reader::Calib2_Ac2Reader(void)
33   * Get a string with the version info of the algorithm.   * Get a string with the version info of the algorithm.
34   */   */
35  std::string Calib2_Ac2Reader::GetVersionInfo(void) const {  std::string Calib2_Ac2Reader::GetVersionInfo(void) const {
36    return "$Header: /home/cvsmanager/yoda/techmodel/Calib2_Ac2Reader.cpp,v 2.1 2004/12/16 17:32:57 kusanagi Exp $\n";    return "$Header: /afs/ba.infn.it/user/pamela/src/CVS/yoda/techmodel/Calib2_Ac2Reader.cpp,v 6.2 2006/05/30 19:10:03 kusanagi Exp $\n";
37  }  }
38    
39  /**  /**
# Line 53  void Calib2_Ac2Reader::Init(PamelaRun *r Line 50  void Calib2_Ac2Reader::Init(PamelaRun *r
50   * Unpack the CalibAc event from an input file.   * Unpack the CalibAc event from an input file.
51   */   */
52  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];  
   int ERROR;  
53    
54        char   *subData = new char[dataLength];
55        memset(subData,  0, dataLength*sizeof(char));
56        struct calibstruct output = {0};
57    
58      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;  
     }  
59    
60        calib2_Ac2->ERROR = ACcalib(dataLength, (unsigned char*)subData, &output);
61        memcpy(calib2_Ac2->header,     output.header,     sizeof(output.header));
62        memcpy(calib2_Ac2->status,     output.status,     sizeof(output.status));
63        memcpy(calib2_Ac2->temp,       output.temp,       sizeof(output.temp));
64        memcpy(calib2_Ac2->DAC1,       output.DAC1,       sizeof(output.DAC1));
65        memcpy(calib2_Ac2->DAC2,       output.DAC2,       sizeof(output.DAC2));
66        memcpy(calib2_Ac2->regist,     output.regist,     sizeof(output.regist));
67        memcpy(calib2_Ac2->time,       output.time,       sizeof(output.time));
68        calib2_Ac2->n_tr = output.n_tr;
69        memcpy(calib2_Ac2->hitmap_tr,  output.hitmap_tr,  sizeof(output.hitmap_tr));
70        memcpy(calib2_Ac2->curve1,     output.curve1,     sizeof(output.curve1));
71        memcpy(calib2_Ac2->curve2,     output.curve2,     sizeof(output.curve2));
72        calib2_Ac2->iCRC        = output.iCRC;
73        calib2_Ac2->tail        = output.tail;
74        calib2_Ac2->CRC         = output.CRC;
75        calib2_Ac2->CRCcheck    = output.CRCcheck;
76      
77      //delete [] subData;      //delete [] subData;
78    }    }

Legend:
Removed from v.2.2  
changed lines
  Added in v.6.3

  ViewVC Help
Powered by ViewVC 1.1.23