Go to the documentation of this file.00001 #ifndef FORIA_EVENTLOOP_HH
00002 #define FORIA_EVENTLOOP_HH
00003
00004 #include "ForIA/AnalysisFactory.hh"
00005
00006 #include <string>
00007 #include <vector>
00008 #include <map>
00009 #include <ostream>
00010
00011 namespace ForIA{
00012
00013 using std::string;
00014 using std::vector;
00015 using std::map;
00016
00017 class DataConverter;
00018 class IHistogrammer;
00019
00021 class EventLoop {
00022
00023 public:
00024
00025 EventLoop(DataConverter *converter, IHistogrammer *histogrammer);
00026
00027 void printAnalyses(std::ostream &out)const;
00028
00029 bool addAnalysis(const string &name);
00030
00031 bool initialise();
00032
00033 bool run(long nEvents = -1);
00034
00035 bool finalise();
00036
00037 private:
00038
00039 AnalysisFactory m_factory;
00040
00041 DataConverter *m_converter;
00042 IHistogrammer *m_histogrammer;
00043
00044 vector<AnalysisPtr> m_analyses;
00045
00046 double m_weightSum;
00047
00048 };
00049 }
00050
00051 #endif