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

TestData.h

00001 #ifndef TESTDATA_H
00002 #define TESTDATA_H
00003 
00004 #include <is/isinfo.h>
00005 
00006 // <<BeginUserCode>>
00007 
00008 // <<EndUserCode>>
00015 class TestData: public ISInfo {
00016 public:
00017     enum status_E {EXECUTING,COMPLETED,ABORTED};
00018 
00022     std::string         testName;
00023 
00027     unsigned long       runNumber;
00028 
00032     unsigned long       nScans;
00033 
00037     unsigned long       startScanNumber;
00038 
00042     unsigned short      testVariable;
00043 
00047     double *            testPoints;
00051     size_t              testPoints_size;
00052 
00055     status_E            status;
00056 
00060     std::string         startTime;
00061 
00065     std::string         endTime;
00066 
00070     std::string *       modules;
00074     size_t              modules_size;
00075 
00079     unsigned long       version;
00080 
00081 
00082     TestData( )
00083       : ISInfo( "TestData" )
00084     {
00085     testPoints_size = 0;
00086     status = EXECUTING;
00087     modules_size = 0;
00088     version = 1;
00089 
00090 // <<BeginUserCode>>
00091 
00092 // <<EndUserCode>>
00093     }
00094 
00095     ~TestData(){
00096     if ( testPoints_size != 0 ) delete[] testPoints;
00097     if ( modules_size != 0 ) delete[] modules;
00098 
00099 // <<BeginUserCode>>
00100 
00101 // <<EndUserCode>>
00102     }
00103 
00104 protected:
00105     TestData( const char * type )
00106       : ISInfo( type )
00107     {
00108     testPoints_size = 0;
00109     status = EXECUTING;
00110     modules_size = 0;
00111     version = 1;
00112 
00113 // <<BeginUserCode>>
00114 
00115 // <<EndUserCode>>
00116     }
00117 
00118     void publishGuts( ISostream & out ){
00119     out << testName << runNumber << nScans << startScanNumber << testVariable;
00120     out.put( testPoints, testPoints_size );
00121     out << (int)status << startTime << endTime;
00122     out.put( modules, modules_size );
00123     out << version;
00124     }
00125 
00126     void refreshGuts( ISistream & in ){
00127     in >> testName >> runNumber >> nScans >> startScanNumber >> testVariable;
00128     if ( testPoints_size != 0 ) delete[] testPoints;
00129     in.get( &testPoints, testPoints_size );
00130     in >> (int&)status >> startTime >> endTime;
00131     if ( modules_size != 0 ) delete[] modules;
00132     in.get( &modules, modules_size );
00133     in >> version;
00134     }
00135 
00136 // <<BeginUserCode>>
00137 
00138 // <<EndUserCode>>
00139 };
00140 
00141 // <<BeginUserCode>>
00142 
00143 // <<EndUserCode>>
00144 #endif // TESTDATA_H

Generated on Thu Jul 15 09:51:00 2004 for SCT DAQ/DCS Software - C++ by doxygen 1.3.5