00001 #ifndef SCTDATA_RESULTHEADER_H 00002 #define SCTDATA_RESULTHEADER_H 00003 00004 #include <string> 00005 #include <boost/shared_ptr.hpp> 00006 #include "Sct/Serializable.h" 00007 #include "Sct/Streamable.h" 00008 00009 using namespace std; 00010 using boost::shared_ptr; 00011 00012 class TH1; 00013 class TH2; 00014 00015 namespace boost { 00016 namespace posix_time { 00017 class ptime; 00018 } 00019 } 00020 00021 namespace SctData { 00022 00023 class ConfigurationVariable; 00024 class DataStatus; 00025 00032 class ResultHeader : public virtual Sct::Serializable { 00033 public: 00038 ResultHeader(unsigned int scanNumber, unsigned int runNumber, string moduleName, const ConfigurationVariable& variable) ; 00039 00043 ResultHeader() ; 00044 00045 //Streamable and Serializable overrides 00046 virtual string getClassName() const throw() ; 00047 virtual string getUniqueID() const throw(); 00048 00049 static string getUniqueID(unsigned int runNumber, unsigned int scanNumber, const string& moduleName); 00050 00055 unsigned int getScanNumber() const { 00056 return scanNumber; 00057 } 00058 00063 void setScanNumber(unsigned int scanNumber) { 00064 this->scanNumber = scanNumber; 00065 } 00066 00070 unsigned int getRunNumber() const { 00071 return runNumber; 00072 } 00073 00078 void setRunNumber(unsigned int runNumber) { 00079 this->runNumber = runNumber; 00080 } 00081 00085 const string& getModuleName() const { 00086 return moduleName; 00087 } 00088 00093 void setModuleName(string name) { 00094 moduleName = name; 00095 } 00096 00100 const ConfigurationVariable& getVariable() const { 00101 return *variable; 00102 } 00103 00108 void setVariable(const ConfigurationVariable& var) { 00109 variable = &var; 00110 } 00111 00116 boost::posix_time::ptime getStartTime() const; 00117 00122 void setStartTime(boost::posix_time::ptime start); 00123 00128 boost::posix_time::ptime getEndTime() const; 00129 00134 void setEndTime(boost::posix_time::ptime start); 00135 00140 string getStartTimeString() const {return startTime;} 00141 00146 void setStartTimeString(string start) {startTime = start;} 00147 00152 string getEndTimeString() const {return endTime;} 00153 00158 void setEndTimeString(string end) {endTime = end;} 00159 00160 00166 bool operator==(const ResultHeader& scan) const; 00167 00168 00169 protected: 00170 unsigned int scanNumber; 00171 unsigned int runNumber; 00172 string moduleName; 00173 string startTime; 00174 string endTime; 00175 const ConfigurationVariable* variable; 00176 }; 00177 } 00178 #endif //#ifndef SCTDATA_RESULTHEADER_H