| 1 |  | /** @file | 
| 2 |  | * $Author: kusanagi $ | 
| 3 |  | * $Date: 2006/02/07 17:11:09 $ | 
| 4 |  | * $Revision: 6.0 $ | 
| 5 |  | * | 
| 6 |  | * Implementation of the ForcedFECmdReader class. | 
| 7 |  | */ | 
| 8 |  |  | 
|  | // Implementation of the ForcedFECmdReader class. |  | 
|  |  |  | 
|  |  |  | 
|  | #define UINT unsigned int |  | 
|  | #define BYTE  unsigned char |  | 
|  | #include <string> |  | 
|  | #include <log4cxx/logger.h> |  | 
|  | extern "C" { |  | 
|  | #include <sys/time.h> |  | 
|  | #include "CRC.h" |  | 
|  | } |  | 
|  |  |  | 
|  | #include <fstream> |  | 
|  | #include "stdio.h" |  | 
| 9 | #include "ReaderAlgorithms.h" | #include "ReaderAlgorithms.h" | 
| 10 |  |  | 
|  | #include "event/ForcedFECmdEvent.h" |  | 
|  |  |  | 
|  | using namespace pamela; |  | 
| 11 | using namespace pamela::techmodel; | using namespace pamela::techmodel; | 
| 12 |  |  | 
| 13 | static log4cxx::LoggerPtr logger = log4cxx::Logger::getLogger(_T("pamela.techmodel.ForcedFECmdReader")); | static log4cxx::LoggerPtr logger = log4cxx::Logger::getLogger(_T("pamela.techmodel.ForcedFECmdReader")); | 
| 26 | */ | */ | 
| 27 | std::string ForcedFECmdReader::GetVersionInfo(void) const { | std::string ForcedFECmdReader::GetVersionInfo(void) const { | 
| 28 | return | return | 
| 29 | "$Trailer: /home/cvsmanager/yoda/techmodel/ForcedFECmdReader.cpp,v 1.1.1.1 2004/07/06 12:20:23 kusanagi Exp $\n"; | "$Trailer: /home/cvsmanager/yoda/techmodel/ForcedFECmdReader.cpp,v 1.1.1.1 2004/07/06 12:20:23 Maurizio Nagni Exp $\n"; | 
| 30 | } | } | 
| 31 |  |  | 
| 32 | /** | /** | 
| 41 |  |  | 
| 42 | /** | /** | 
| 43 | * Unpack the ForcedFECmd event from an input file. | * Unpack the ForcedFECmd event from an input file. | 
| 44 |  | * The CPU does not add any CRC control at the packet end. | 
| 45 |  | * @param EventNumber | 
| 46 |  | * @param dataLength | 
| 47 | */ | */ | 
| 48 | void ForcedFECmdReader::RunEvent(int EventNumber, long int length) { | void ForcedFECmdReader::RunEvent(int EventNumber, long int dataLength) throw (WrongCRCException){ | 
| 49 |  | char      subData[dataLength]; | 
| 50 |  | memset(subData,  0, dataLength*sizeof(char)); | 
| 51 |  | InputFile->read(subData, sizeof(subData)); | 
| 52 |  | forcedFECmd->forcedFECmdData        = new TArrayC(dataLength, subData); | 
| 53 | } | } | 
| 54 |  |  |