Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Sequence.h

Go to the documentation of this file.
00001 
00002 // $Id: Sequence.h,v 1.1 2007/02/09 04:44:14 fmwk Exp $
00003 //
00004 //
00005 // messier@indiana.edu
00007 #ifndef JOBC_SEQUENCE_H
00008 #define JOBC_SEQUENCE_H
00009 #include <list>
00010 #include <string>
00011 #ifndef JOBC_NODE_H
00012 #include "JobControl/Node.h"
00013 #endif
00014 
00015 namespace jobc {
00018   //
00022   class Sequence : public Node {
00023   public:
00024     Sequence();
00025     Sequence(const char* name);
00026     Sequence(const Sequence& s);
00027     ~Sequence();
00028     
00029     Node* GetNode(const char* name);
00030     bool  Exec(edm::EventHandle& evt);
00031     void  NewFile(const char* filename);
00032     void  EndFile(const char* filename);
00033     void  NewRun(int run, int subrun);
00034     void  EndRun(int run, int subrun);
00035     void  NewSubrun(int run, int subrun);
00036     void  EndSubrun(int run, int subrun);
00037     void  Print(const char* indent=0);
00038     void  ResourceReport(bool printheader=false) const;
00039 
00040     Node* PushFront(const Node& n);
00041     Node* PushBack (const Node& n);
00042     
00043     Sequence* PushFront(const Sequence& s);
00044     Sequence* PushBack (const Sequence& s);
00045     
00046     Sequence& operator=(const Sequence& rhs);
00047     
00048     static void PrintCurrentNode();
00049     
00050   private:
00051     void Clear();
00052     
00053   private:
00054     typedef std::list<Node*> NodeList;
00055     
00056     NodeList           fNodeList;     
00057     static std::string fsCurrentNode; 
00058     static int         fsCurrentEvent;
00059   };
00060 }
00061 
00062 #endif  // JOBCSEQUENCE_H
00063 

Generated on Thu Sep 4 02:05:28 2008 for NOvA Offline by doxygen 1.3.5