AnalysisLoader.hh
// -*- C++ -*-
#ifndef RIVET_AnalysisLoader_HH
#define RIVET_AnalysisLoader_HH
#include "Rivet/Rivet.hh"
#include "Rivet/Tools/Logging.fhh"
#include <map>
#include <string>
namespace Rivet {
// Forward declarations
class Analysis;
class AnalysisBuilderBase;
class AnalysisLoader {
public:
static vector<string> analysisNames();
static set<string> getAllAnalysisNames();
static Analysis* getAnalysis(const string& analysisname);
static vector<Analysis*> getAllAnalyses();
private:
friend class AnalysisBuilderBase;
static void _registerBuilder(const AnalysisBuilderBase* a);
static void _loadAnalysisPlugins();
typedef map<string, const AnalysisBuilderBase*> AnalysisBuilderMap;
static AnalysisBuilderMap _ptrs;
};
}
#endif
Rivet::AnalysisLoader::AnalysisBuilderBase
friend class AnalysisBuilderBase
Allow the analysis builders to call the private _registerBuilder function.
Definition: AnalysisLoader.hh:38
Rivet::AnalysisLoader::getAllAnalyses
static vector< Analysis * > getAllAnalyses()
Get all the available analyses.
Definition: AnalysisLoader.cc:48
Rivet::AnalysisLoader::analysisNames
static vector< string > analysisNames()
Get all the available analyses&#39; names.
Definition: AnalysisLoader.cc:22
Rivet::AnalysisLoader::getAnalysis
static Analysis * getAnalysis(const string &analysisname)
Definition: AnalysisLoader.cc:40
Rivet::Analysis
This is the base class of all analysis classes in Rivet.
Definition: Analysis.hh:51
Rivet::AnalysisLoader
Internal class which loads and registers analyses from plugin libs.
Definition: AnalysisLoader.hh:19