00001 #ifndef LOOPSEQUENCE_H_ 00002 #define LOOPSEQUENCE_H_ 00003 00004 00005 //C++/STL 00006 00007 //ROOT 00008 #include "Rtypes.h" 00009 00010 //Local 00011 #include "CommandLine.h" 00012 class TGlobalData; 00013 00014 class LoopSequence { 00015 friend class EventNavigator; 00016 public: 00017 void Run() const; 00018 00019 Long64_t StartEntry() const {return fStart;} 00020 Long64_t StopEntry() const {return fStop;} 00021 00022 const ARGUMENTS& GetCommandLineArgs() {return fArgs;} 00023 00024 protected: 00025 //LoopSequence(); 00026 LoopSequence(const ARGUMENTS& args) 00027 : fArgs(args) 00028 { 00029 Init(); 00030 } 00031 LoopSequence(const LoopSequence& src); 00032 LoopSequence& operator=(const LoopSequence& rhs); 00033 00034 void Init(); 00035 void Preprocess() const; 00036 void Process() const; 00037 void Postprocess() const; 00038 void Checkpoint(Long64_t entry) const; 00039 //void ClearGlobalData(TGlobalData* data); 00040 00041 private: 00042 const ARGUMENTS fArgs; 00043 Long64_t fStart; 00044 Long64_t fStop; 00045 }; 00046 00047 #endif //LOOPSEQUENCE_H_