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

Sequence.h

Go to the documentation of this file.
00001 #ifndef SEQUENCE_H
00002 #define SEQUENCE_H
00003 
00004 #include <vector>
00005 #include <memory>
00006 #include <boost/shared_ptr.hpp>
00007 #include "IS/SequenceData.h"
00008 #include "Test.h"
00009 
00010 using std::vector;
00011 using std::auto_ptr;
00012 using boost::shared_ptr;
00013 
00014 namespace SctCalibrationController {
00015 
00021 class Sequence {
00022 public:
00032     static shared_ptr<Sequence> create(const string& name, unsigned long runNumber, unsigned long startScanNumber);
00033     
00037     virtual ~Sequence();
00038     
00042     void addTest(auto_ptr<Test> test);    
00043     
00047     const SequenceData& getData() const;
00048   
00055     void setStatus(SequenceData::status_E status);
00056 
00060     string getUniqueID() const;
00061     
00066     shared_ptr<Test> Sequence::getTest(unsigned int index) const;
00067     
00068 private:    
00073     Sequence(const string& name, unsigned long runNumber, unsigned long startScanNumber);
00074     SequenceData data;                      
00075     
00081     unsigned int realSize;                  
00082     
00087     void publish();
00088     
00093     void withdraw();    
00094     
00095     typedef vector<shared_ptr<Test> > TestVector;       
00096     TestVector tests;                       
00097 };    
00098     
00099 }
00100 
00101 #endif //TESTSEQUENCEIMPL_H

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