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

Diff of /yoda/techmodel/CalibAcReader.cpp

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

revision 1.2 by kusanagi, Sat Jul 17 20:03:38 2004 UTC revision 2.0 by kusanagi, Tue Sep 21 20:50:54 2004 UTC
# Line 1  Line 1 
1  /** @file  /** @file
2   * $Source: /home/cvsmanager/yoda/techmodel/CalibAcReader.cpp,v $   * $Source: /home/cvsmanager/yoda/techmodel/CalibAcReader.cpp,v $
3   * $Id: CalibAcReader.cpp,v 1.1 2004/07/08 12:31:42 kusanagi Exp $   * $Id: CalibAcReader.cpp,v 1.5 2004/09/21 20:24:33 kusanagi Exp $
4   * $Author: kusanagi $   * $Author: kusanagi $
5   *   *
6   * Implementation of the ArrDumpReader class.   * Implementation of the ArrDumpReader class.
7   */   */
8    
9  #include <string>  #include <string>
10  #include <log4cpp/Category.hh>  #include <log4cxx/logger.h>
11  #include <fstream>  #include <fstream>
12  #include "stdio.h"  #include "stdio.h"
13  extern "C" {  extern "C" {
# Line 21  extern "C" { Line 21  extern "C" {
21  using namespace pamela;  using namespace pamela;
22  using namespace pamela::techmodel;  using namespace pamela::techmodel;
23    
24    static log4cxx::LoggerPtr logger = log4cxx::Logger::getLogger(_T("pamela.techmodel.CalibAcReader"));
 static log4cpp::Category& cat = log4cpp::Category::getInstance("pamela.techmodel.CalibAcReader");    
25    
26  /**  /**
27   * Constructor.   * Constructor.
28   */   */
29  CalibAcReader::CalibAcReader(void):  CalibAcReader::CalibAcReader(void):
30    TechmodelAlgorithm(PacketType::CalibAc, "TechmodelCalibAc") {    TechmodelAlgorithm(PacketType::CalibAc, "TechmodelCalibAc") {
31      logger->debug(_T("Constructor"));
32    CalibAc = new CalibAcEvent();    CalibAc = new CalibAcEvent();
33  }  }
34    
# Line 36  CalibAcReader::CalibAcReader(void): Line 36  CalibAcReader::CalibAcReader(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 CalibAcReader::GetVersionInfo(void) const {  std::string CalibAcReader::GetVersionInfo(void) const {
39    return "$Header: /home/cvsmanager/yoda/techmodel/CalibAcReader.cpp,v 1.1 2004/07/08 12:31:42 kusanagi Exp $\n";    return "$Header: /home/cvsmanager/yoda/techmodel/CalibAcReader.cpp,v 1.5 2004/09/21 20:24:33 kusanagi Exp $\n";
40  }  }
41    
42  /**  /**
# Line 44  std::string CalibAcReader::GetVersionInf Line 44  std::string CalibAcReader::GetVersionInf
44   * event reader routines for all packet types.   * event reader routines for all packet types.
45   */   */
46  void CalibAcReader::Init(PamelaRun *run) {  void CalibAcReader::Init(PamelaRun *run) {
47      logger->debug(_T("Initialize"));
48    SetInputStream(run);    SetInputStream(run);
49    run->WriteSubPacket(this, &CalibAc, CalibAc->Class());    run->WriteSubPacket(this, &CalibAc, CalibAc->Class());
50  }  }
# Line 52  void CalibAcReader::Init(PamelaRun *run) Line 53  void CalibAcReader::Init(PamelaRun *run)
53   * Unpack the CalibAc event from an input file.   * Unpack the CalibAc event from an input file.
54   */   */
55  void CalibAcReader::RunEvent(int EventNumber, long int length) {  void CalibAcReader::RunEvent(int EventNumber, long int length) {
     
56    char     *subData;    char     *subData;
57    char      eventCRC[2];    char      eventCRC[2];
58    UINT16    subCRC;      //CRC of the data    UINT16    subCRC;      //CRC of the data
# Line 77  void CalibAcReader::RunEvent(int EventNu Line 77  void CalibAcReader::RunEvent(int EventNu
77            
78          CalibAc->header = output.header;          CalibAc->header = output.header;
79          memcpy(CalibAc->status,     output.status,     sizeof(CalibAc->status));          memcpy(CalibAc->status,     output.status,     sizeof(CalibAc->status));
80          memcpy(CalibAc->DAC,        output.DAC,        sizeof(CalibAc->DAC));          memcpy(CalibAc->temp,       output.temp,       sizeof(CalibAc->temp));
81            memcpy(CalibAc->DAC1,       output.DAC1,       sizeof(CalibAc->DAC1));
82            memcpy(CalibAc->DAC2,       output.DAC2,       sizeof(CalibAc->DAC2));
83          memcpy(CalibAc->regist,     output.regist,     sizeof(CalibAc->regist));          memcpy(CalibAc->regist,     output.regist,     sizeof(CalibAc->regist));
84          memcpy(CalibAc->time,       output.time,       sizeof(CalibAc->time));          memcpy(CalibAc->time,       output.time,       sizeof(CalibAc->time));
85          CalibAc->n_tr = output.n_tr;          CalibAc->n_tr = output.n_tr;
# Line 87  void CalibAcReader::RunEvent(int EventNu Line 89  void CalibAcReader::RunEvent(int EventNu
89          CalibAc->iCRC = output.iCRC;          CalibAc->iCRC = output.iCRC;
90          CalibAc->tail = output.tail;          CalibAc->tail = output.tail;
91          CalibAc->CRC  = output.CRC;          CalibAc->CRC  = output.CRC;
         free(subData);  
92      } else {      } else {
93          cat <<  log4cpp::Priority::ERROR          logger->warn(_T("Wrong CRC on Subpacket in ArrDump Packet "));
             <<  "Wrong CRC on Subpacket in ArrDump Packet "  
             <<  "\n " << log4cpp::CategoryStream::ENDLINE;  
94      }      }
95        delete [] subData;
96    }    }

Legend:
Removed from v.1.2  
changed lines
  Added in v.2.0

  ViewVC Help
Powered by ViewVC 1.1.23