 |
Version: SMASH-2.0.2
|
|
Go to the documentation of this file.
9 #ifndef SRC_INCLUDE_SMASH_RIVETOUTPUT_H_
10 #define SRC_INCLUDE_SMASH_RIVETOUTPUT_H_
12 #include <Rivet/AnalysisHandler.hh>
18 #include <boost/filesystem.hpp>
49 RivetOutput(
const bf::path& path, std::string name,
const bool full_event,
50 const int total_N,
const int proj_N,
75 void add_path(
const std::string& path);
87 void set_log_level(
const std::string& name,
const std::string& level);
107 using Handler = std::shared_ptr<Rivet::AnalysisHandler>;
134 #endif // SRC_INCLUDE_SMASH_RIVETOUTPUT_H_
Proxy analysis_handler_proxy()
Return a proxy that temporarily disables FP exceptions.
~RivetOutput()
Destructor.
void setup()
Read configuration of Rivet from SMASH configuration.
Handler operator->()
Forward calls to handler.
void at_eventend(const Particles &particles, const int32_t event_number, const EventInfo &event) override
Add the final particles information of an event to the central vertex.
DisableFloatTraps g_
FP traps temporaryly disabled.
std::shared_ptr< Rivet::AnalysisHandler > Handler
Type of handler.
Guard type that safely disables floating point traps for the scope in which it is placed.
void add_path(const std::string &path)
Add a load path to the Rivet handler.
Structure to contain custom data for output.
Interface to the SMASH configuration files.
Helper structure for Experiment to hold output options and parameters.
bool need_init_
Whether we need initialisation.
void set_log_level(const std::string &name, const std::string &level)
Set log level in Rivet.
void add_analysis(const std::string &name)
Add an analysis or analyses to Rivet.
bf::path filename_
Output file.
SMASH output to Rivet analyses.
A proxy object that wraps all Rivet::AnalysisHandler calls in an environment where FP errors are disa...
RivetOutput(const bf::path &path, std::string name, const bool full_event, const int total_N, const int proj_N, const OutputParameters &out_par)
Create Rivet output.
Base class for output handlers that need the HepMC3 structure.
Configuration rivet_confs_
Configutations for rivet.
Proxy(Proxy &&p)
Move construct.
void add_preload(const std::string &file)
Add preload to Rivet handler.
void set_cross_section(double xs, double xserr)
Set X-section.
Proxy(Handler h)
Construct proxy.
std::shared_ptr< Rivet::AnalysisHandler > handler_
Rivet analysis handler.
void set_ignore_beams(bool ignore=true)
Do not insist on appropriate beams for analyses.