2 #ifndef RIVET_AnalysisBuilder_HH
3 #define RIVET_AnalysisBuilder_HH
5 #include "Rivet/Rivet.hh"
6 #include "Rivet/Analysis.fhh"
7 #include "Rivet/AnalysisLoader.hh"
8 #include "Rivet/Tools/Logging.fhh"
16 class AnalysisBuilderBase {
18 AnalysisBuilderBase() { }
19 virtual ~AnalysisBuilderBase() { }
21 virtual Analysis* mkAnalysis()
const = 0;
23 const string name()
const {
24 Analysis* a = mkAnalysis();
25 string rtn = a->name();
32 AnalysisLoader::_registerBuilder(
this);
39 class AnalysisBuilder :
public AnalysisBuilderBase {
45 Analysis* mkAnalysis()
const {