Run.hh
Go to the documentation of this file.00001
00002 #ifndef RIVET_Run_HH
00003 #define RIVET_Run_HH
00004
00005 #include "Rivet/AnalysisHandler.fhh"
00006 #include "Rivet/RivetBoost.hh"
00007
00008 namespace HepMC {
00009 class IO_GenEvent;
00010 }
00011
00012
00013 namespace Rivet {
00014
00015
00016
00017 class Run {
00018 public:
00019
00020
00021
00022
00023 Run(AnalysisHandler& ah);
00024
00025
00026 ~Run();
00027
00028
00029
00030 public:
00031
00032
00033
00034
00035
00036 Run& setCrossSection(const double xs);
00037
00038
00039 double crossSection() const;
00040
00041
00042 Run& setListAnalyses(const bool dolist);
00043
00044
00045
00046
00047
00048
00049
00050
00051 bool init(const std::string& evtfile, double weight=1.0);
00052
00053
00054 bool openFile(const std::string& evtfile, double weight=1.0);
00055
00056
00057 bool readEvent();
00058
00059
00060 bool processEvent();
00061
00062
00063 bool finalize();
00064
00065
00066
00067
00068 private:
00069
00070
00071 AnalysisHandler& _ah;
00072
00073
00074
00075
00076
00077
00078 double _fileweight;
00079
00080
00081 double _xs;
00082
00083
00084
00085
00086
00087 bool _listAnalyses;
00088
00089
00090
00091
00092
00093
00094 shared_ptr<GenEvent> _evt;
00095
00096
00097 shared_ptr<std::istream> _istr;
00098
00099
00100 shared_ptr<HepMC::IO_GenEvent> _io;
00101
00102
00103
00104 };
00105
00106
00107 }
00108
00109 #endif