Main Page   Modules   Namespace List   Class Hierarchy   Data Structures   File List   Namespace Members   Data Fields   Globals   Related Pages  

SequenceData.h

Go to the documentation of this file.
00001 #ifndef SEQUENCEDATA_H
00002 #define SEQUENCEDATA_H
00003 
00004 #include <is/isinfo.h>
00005 
00006 // <<BeginUserCode>>
00007 
00008 // <<EndUserCode>>
00015 class SequenceData: public ISInfo {
00016 public:
00017     enum status_E {EXECUTING,COMPLETED,ABORTED};
00018 
00022     std::string         sequenceName;
00023 
00027     unsigned long       runNumber;
00028 
00032     unsigned long       startScanNumber;
00033 
00037     unsigned long       nTests;
00038 
00042     std::string *       testNames;
00046     size_t              testNames_size;
00047 
00050     status_E            status;
00051 
00052 
00053     SequenceData( )
00054       : ISInfo( "SequenceData" )
00055     {
00056     testNames_size = 0;
00057     status = EXECUTING;
00058 
00059 // <<BeginUserCode>>
00060 
00061 // <<EndUserCode>>
00062     }
00063 
00064     ~SequenceData(){
00065     if ( testNames_size != 0 ) delete[] testNames;
00066 
00067 // <<BeginUserCode>>
00068 
00069 // <<EndUserCode>>
00070     }
00071 
00072 protected:
00073     SequenceData( const char * type )
00074       : ISInfo( type )
00075     {
00076     testNames_size = 0;
00077     status = EXECUTING;
00078 
00079 // <<BeginUserCode>>
00080 
00081 // <<EndUserCode>>
00082     }
00083 
00084     void publishGuts( ISostream & out ){
00085     out << sequenceName << runNumber << startScanNumber << nTests;
00086     out.put( testNames, testNames_size );
00087     out << (int)status;
00088     }
00089 
00090     void refreshGuts( ISistream & in ){
00091     in >> sequenceName >> runNumber >> startScanNumber >> nTests;
00092     if ( testNames_size != 0 ) delete[] testNames;
00093     in.get( &testNames, testNames_size );
00094     in >> (int&)status;
00095     }
00096 
00097 // <<BeginUserCode>>
00098 
00099 // <<EndUserCode>>
00100 };
00101 
00102 // <<BeginUserCode>>
00103 
00104 // <<EndUserCode>>
00105 #endif // SEQUENCEDATA_H

Generated on Mon Dec 15 19:36:16 2003 for SCT DAQ/DCS Software by doxygen1.3-rc3