00001 #ifndef ISSUMMARYDATA_H 00002 #define ISSUMMARYDATA_H 00003 00004 #include <is/info.h> 00005 00006 #include <string> 00007 00008 00009 // <<BeginUserCode>> 00010 00011 // <<EndUserCode>> 00019 class ISSummaryData : public ISInfo { 00020 public: 00021 00025 std::string serialNumber; 00026 00030 std::string location; 00031 00035 unsigned long runNumber; 00036 00040 unsigned long scanNumber; 00041 00045 unsigned long headerVersion; 00046 00047 00048 static const ISType & type() { 00049 static const ISType type_ = ISSummaryData( ).ISInfo::type(); 00050 return type_; 00051 } 00052 00053 ISSummaryData( ) 00054 : ISInfo( "ISSummaryData" ) 00055 { 00056 initialize(); 00057 } 00058 00059 ~ISSummaryData(){ 00060 00061 // <<BeginUserCode>> 00062 00063 // <<EndUserCode>> 00064 } 00065 00066 protected: 00067 ISSummaryData( const std::string & type ) 00068 : ISInfo( type ) 00069 { 00070 initialize(); 00071 } 00072 00073 void publishGuts( ISostream & out ){ 00074 out << serialNumber << location << runNumber << scanNumber << headerVersion; 00075 } 00076 00077 void refreshGuts( ISistream & in ){ 00078 in >> serialNumber >> location >> runNumber >> scanNumber >> headerVersion; 00079 } 00080 00081 private: 00082 void initialize() 00083 { 00084 headerVersion = 1; 00085 00086 // <<BeginUserCode>> 00087 00088 // <<EndUserCode>> 00089 } 00090 00091 00092 // <<BeginUserCode>> 00093 00094 // <<EndUserCode>> 00095 }; 00096 00097 // <<BeginUserCode>> 00098 00099 // <<EndUserCode>> 00100 #endif // ISSUMMARYDATA_H