--- yoda/techmodel/CalibAcReader.cpp 2004/07/08 12:31:42 1.1 +++ yoda/techmodel/CalibAcReader.cpp 2004/09/21 20:24:33 1.5 @@ -1,19 +1,19 @@ /** @file - * $Source: /home/cvsmanager/yoda/techmodel/ArrDumpReader.cpp,v $ - * $Id: ArrDumpReader.cpp,v 1.1.1.1 2004/07/06 12:20:23 kusanagi Exp $ + * $Source: /home/cvsmanager/yoda/techmodel/CalibAcReader.cpp,v $ + * $Id: CalibAcReader.cpp,v 1.4 2004/08/25 10:14:26 kusanagi Exp $ * $Author: kusanagi $ * * Implementation of the ArrDumpReader class. */ #include -#include +#include #include #include "stdio.h" extern "C" { #include "CRC.h" - #include "forroutines/anticoinc/ACcalib.h" - int ACcalib(unsigned short* datapointer, struct datastruct* calibpointer); + #include "forroutines/anticounter/ACcalib.h" + extern int ACcalib(int length, unsigned short* datapointer, struct datastruct* calibpointer); } #include "ReaderAlgorithms.h" @@ -21,13 +21,14 @@ using namespace pamela; using namespace pamela::techmodel; -static log4cpp::Category& cat = log4cpp::Category::getInstance("pamela.techmodel.CalibAcReader"); +static log4cxx::LoggerPtr logger = log4cxx::Logger::getLogger(_T("pamela.techmodel.CalibAcReader")); /** * Constructor. */ CalibAcReader::CalibAcReader(void): TechmodelAlgorithm(PacketType::CalibAc, "TechmodelCalibAc") { + logger->debug(_T("Constructor")); CalibAc = new CalibAcEvent(); } @@ -35,7 +36,7 @@ * Get a string with the version info of the algorithm. */ std::string CalibAcReader::GetVersionInfo(void) const { - return "$Header: /home/cvsmanager/yoda/techmodel/CalibAcReader.cpp,v 1.1.1.1 2004/07/06 12:20:23 kusanagi Exp $\n"; + return "$Header: /home/cvsmanager/yoda/techmodel/CalibAcReader.cpp,v 1.4 2004/08/25 10:14:26 kusanagi Exp $\n"; } /** @@ -43,6 +44,7 @@ * event reader routines for all packet types. */ void CalibAcReader::Init(PamelaRun *run) { + logger->debug(_T("Initialize")); SetInputStream(run); run->WriteSubPacket(this, &CalibAc, CalibAc->Class()); } @@ -51,7 +53,6 @@ * Unpack the CalibAc event from an input file. */ void CalibAcReader::RunEvent(int EventNumber, long int length) { - char *subData; char eventCRC[2]; UINT16 subCRC; //CRC of the data @@ -70,27 +71,26 @@ readCRC = (((UINT16)(eventCRC[0]<<8))&0xFF00) + (((UINT16)eventCRC[1])&0x00FF); if (subCRC == readCRC){ - datastruct output; - int ERROR; - ERROR = ACcalib((unsigned short*)subData, &output); + datastruct output; + int ERROR; + ERROR = ACcalib(dataLength, (unsigned short*)subData, &output); - CalibAc->header = output.header; - memcpy(CalibAc->status, output.status, sizeof(CalibAc->status)); - memcpy(CalibAc->DAC, output.DAC, sizeof(CalibAc->DAC)); - memcpy(CalibAc->regist, output.regist, sizeof(CalibAc->regist)); - memcpy(CalibAc->time, output.time, sizeof(CalibAc->time)); - CalibAc->n_tr = output.n_tr; - memcpy(CalibAc->hitmap_tr, output.hitmap_tr, sizeof(CalibAc->hitmap_tr)); - memcpy(CalibAc->curve1, output.curve1, sizeof(CalibAc->curve1)); - memcpy(CalibAc->curve2, output.curve2, sizeof(CalibAc->curve2)); - CalibAc->iCRC = output.iCRC; - CalibAc->tail = output.tail; - CalibAc->CRC = output.CRC; - - free(subData); + CalibAc->header = output.header; + memcpy(CalibAc->status, output.status, sizeof(CalibAc->status)); + memcpy(CalibAc->temp, output.temp, sizeof(CalibAc->temp)); + memcpy(CalibAc->DAC1, output.DAC1, sizeof(CalibAc->DAC1)); + memcpy(CalibAc->DAC2, output.DAC2, sizeof(CalibAc->DAC2)); + memcpy(CalibAc->regist, output.regist, sizeof(CalibAc->regist)); + memcpy(CalibAc->time, output.time, sizeof(CalibAc->time)); + CalibAc->n_tr = output.n_tr; + memcpy(CalibAc->hitmap_tr, output.hitmap_tr, sizeof(CalibAc->hitmap_tr)); + memcpy(CalibAc->curve1, output.curve1, sizeof(CalibAc->curve1)); + memcpy(CalibAc->curve2, output.curve2, sizeof(CalibAc->curve2)); + CalibAc->iCRC = output.iCRC; + CalibAc->tail = output.tail; + CalibAc->CRC = output.CRC; } else { - cat << log4cpp::Priority::ERROR - << "Wrong CRC on Subpacket in ArrDump Packet " - << "\n " << log4cpp::CategoryStream::ENDLINE; + logger->warn(_T("Wrong CRC on Subpacket in ArrDump Packet ")); } + delete [] subData; }