00001 #include "ResultHeader.h"
00002 #include "ConfigurationVariable.h"
00003 #include "Sct/UniqueID.h"
00004 #include "NullVariable.h"
00005 #include <iostream>
00006 #include <sstream>
00007 #include <boost/date_time/posix_time/posix_time.hpp>
00008
00009 using namespace Sct;
00010 using namespace std;
00011 using namespace boost::posix_time;
00012
00013 namespace SctData {
00014
00015 ResultHeader::ResultHeader(unsigned int scanNumber, unsigned int runNumber, string moduleName, const ConfigurationVariable& variable) :
00016 scanNumber(scanNumber), runNumber(runNumber), moduleName(moduleName),
00017 startTime("19700101T000000"), endTime("1970101T000000"), variable(&variable) {}
00018
00019 ResultHeader::ResultHeader() : scanNumber(0), runNumber(0), moduleName(""),
00020 startTime("19700101T000000"), endTime("1970101T000000"), variable(&NullVariable::instance()) {}
00021
00022 bool ResultHeader::operator==(const ResultHeader& scan) const {
00023 if (scanNumber == scan.scanNumber && runNumber == scan.runNumber &&
00024 moduleName == scan.moduleName && *variable == *scan.variable)
00025 return true;
00026 else
00027 return false;
00028 }
00029
00030
00031 string ResultHeader::getClassName() const throw(){
00032 return "SctData::ResultHeader";
00033 }
00034
00035 UniqueID ResultHeader::getUniqueID() const throw() {
00036 return getUniqueID(runNumber, scanNumber, moduleName);
00037 }
00038
00039 UniqueID ResultHeader::getUniqueID(unsigned int runNumber, unsigned int scanNumber, const string& moduleName) {
00040 return UniqueID(runNumber, scanNumber, moduleName);
00041 }
00042
00043 ptime ResultHeader::getStartTime() const {
00044 return from_iso_string(startTime);
00045 }
00046
00047 void ResultHeader::setStartTime(ptime start) {
00048 startTime = to_iso_string(start);
00049 startTime = startTime.substr(0, 15);
00050 }
00051
00052 ptime ResultHeader::getEndTime() const {
00053 return from_iso_string(endTime);
00054 }
00055
00056 void ResultHeader::setEndTime(ptime end) {
00057 endTime = to_iso_string(end);
00058 endTime = endTime.substr(0, 15);
00059 }
00060
00061 }