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

Sequence.h

00001 #ifndef SEQUENCE_H
00002 #define SEQUENCE_H
00003 
00004 #include <vector>
00005 #include <list>
00006 #include <memory>
00007 #include <boost/shared_ptr.hpp>
00008 #include "IS/SequenceData.h"
00009 #include "Test.h"
00010 
00011 using std::vector;
00012 using std::list;
00013 using std::auto_ptr;
00014 using boost::shared_ptr;
00015 
00016 namespace SctCalibrationController {
00017 
00023 class Sequence {
00024 public:
00034     static shared_ptr<Sequence> create(const string& name, unsigned long runNumber, unsigned long startScanNumber, const list<string>& list);
00035     
00039     virtual ~Sequence();
00040     
00044     void addTest(auto_ptr<Test> test);    
00045     
00049     const SequenceData& getData() const;
00050 
00051 
00056     list<string> getModuleList() const;
00057   
00064     void setStatus(SequenceData::status_E status);
00065 
00069     string getUniqueID() const;
00070     
00075     shared_ptr<Test> Sequence::getTest(unsigned int index) const;
00076     
00077 private:    
00082     Sequence(const string& name, unsigned long runNumber, unsigned long startScanNumber, const list<string>& list);
00083     SequenceData data;                      
00084     
00090     unsigned int realSize;                  
00091     
00096     void publish();
00097     
00102     void withdraw();    
00103     
00104     typedef vector<shared_ptr<Test> > TestVector;       
00105     TestVector tests;                       
00106 };    
00107     
00108 }
00109 
00110 #endif //TESTSEQUENCEIMPL_H

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