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 boost::shared_ptr; 00010 00011 class TH1; 00012 class TH2; 00013 00014 namespace boost { 00015 namespace posix_time { 00016 class ptime; 00017 } 00018 } 00019 00020 namespace SctData { 00021 00022 class ConfigurationVariable; 00023 class DataStatus; 00024 00031 class ResultHeader : public virtual Sct::Serializable { 00032 public: 00037 ResultHeader(unsigned int scanNumber, unsigned int runNumber, string moduleName, const ConfigurationVariable& variable) ; 00038 00042 ResultHeader() ; 00043 00044 //Streamable and Serializable overrides 00045 virtual string getClassName() const throw() ; 00046 virtual Sct::UniqueID getUniqueID() const throw(); 00047 00048 static Sct::UniqueID getUniqueID(unsigned int runNumber, unsigned int scanNumber, const string& moduleName); 00049 00054 unsigned int getScanNumber() const { 00055 return scanNumber; 00056 } 00057 00062 void setScanNumber(unsigned int scanNumber) { 00063 this->scanNumber = scanNumber; 00064 } 00065 00069 unsigned int getRunNumber() const { 00070 return runNumber; 00071 } 00072 00077 void setRunNumber(unsigned int runNumber) { 00078 this->runNumber = runNumber; 00079 } 00080 00084 const string& getModuleName() const { 00085 return moduleName; 00086 } 00087 00092 void setModuleName(string name) { 00093 moduleName = name; 00094 } 00095 00099 const ConfigurationVariable& getVariable() const { 00100 return *variable; 00101 } 00102 00107 void setVariable(const ConfigurationVariable& var) { 00108 variable = &var; 00109 } 00110 00115 boost::posix_time::ptime getStartTime() const; 00116 00121 void setStartTime(boost::posix_time::ptime start); 00122 00127 boost::posix_time::ptime getEndTime() const; 00128 00133 void setEndTime(boost::posix_time::ptime start); 00134 00139 string getStartTimeString() const {return startTime;} 00140 00145 void setStartTimeString(string start) {startTime = start;} 00146 00151 string getEndTimeString() const {return endTime;} 00152 00157 void setEndTimeString(string end) {endTime = end;} 00158 00159 00165 bool operator==(const ResultHeader& scan) const; 00166 00167 00168 protected: 00169 unsigned int scanNumber; 00170 unsigned int runNumber; 00171 string moduleName; 00172 string startTime; 00173 string endTime; 00174 const ConfigurationVariable* variable; 00175 }; 00176 } 00177 #endif //#ifndef SCTDATA_RESULTHEADER_H