Warning, file /include/Rivet/Run.hh was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002 #ifndef RIVET_Run_HH
0003 #define RIVET_Run_HH
0004
0005 #include "Rivet/Tools/RivetSTL.hh"
0006 #include "Rivet/Tools/RivetHepMC.hh"
0007 #include "Rivet/Tools/Logging.hh"
0008
0009 namespace Rivet {
0010
0011
0012
0013 class AnalysisHandler;
0014
0015
0016
0017 class Run {
0018 public:
0019
0020
0021 Run(AnalysisHandler& ah);
0022
0023
0024 ~Run();
0025
0026
0027
0028
0029
0030
0031 Run& setCrossSection(double xs);
0032
0033
0034 Run& setListAnalyses(bool dolist);
0035
0036
0037
0038
0039
0040
0041
0042
0043 bool init(const std::string& evtfile, double weight=1.0);
0044
0045
0046 bool openFile(const std::string& evtfile, double weight=1.0);
0047
0048
0049 bool readEvent();
0050
0051
0052
0053
0054
0055
0056 size_t numEvents() const { return _evtcount; }
0057
0058
0059 bool processEvent();
0060
0061
0062 bool finalize();
0063
0064
0065
0066
0067 private:
0068
0069
0070 Log& getLog() const;
0071
0072
0073 AnalysisHandler& _ah;
0074
0075
0076
0077
0078
0079
0080 double _fileweight = 1.0;
0081
0082
0083 double _xs = NAN;
0084
0085
0086 size_t _evtcount = 0;
0087
0088
0089 int _evtnumber = -1;
0090
0091
0092
0093
0094
0095 bool _listAnalyses = false;
0096
0097
0098
0099
0100
0101
0102 std::shared_ptr<GenEvent> _evt;
0103
0104
0105 std::shared_ptr<std::istream> _istr;
0106
0107
0108 std::shared_ptr<HepMC_IO_type> _hepmcReader;
0109
0110
0111
0112 };
0113
0114
0115 }
0116
0117 #endif