file /home/anarendran/Documents/temp/rivet/include/Rivet/AnalysisLoader.hh
/home/anarendran/Documents/temp/rivet/include/Rivet/AnalysisLoader.hh
Namespaces
Name |
---|
Rivet |
Classes
Name | |
---|---|
class | Rivet::AnalysisLoader Internal class which loads and registers analyses from plugin libs. |
Source code
// -*- C++ -*-
#ifndef RIVET_AnalysisLoader_HH
#define RIVET_AnalysisLoader_HH
#include "Rivet/Config/RivetCommon.hh"
#include <map>
#include <string>
namespace Rivet {
// Forward declarations
class Analysis;
class AnalysisBuilderBase;
class Log;
class AnalysisLoader {
public:
static vector<string> analysisNames();
static vector<string> allAnalysisNames();
static vector<string> getAllAnalysisNames() { return allAnalysisNames(); }
static vector<string> stdAnalysisNames();
static map<string,string> analysisNameAliases();
static unique_ptr<Analysis> getAnalysis(const string& analysisname);
static vector<unique_ptr<Analysis>> getAllAnalyses();
private:
friend class AnalysisBuilderBase;
static void _registerBuilder(const AnalysisBuilderBase* ab);
static void _loadAnalysisPlugins();
typedef map<string, const AnalysisBuilderBase*> AnalysisBuilderMap;
static AnalysisBuilderMap _ptrs;
static AnalysisBuilderMap _aliasptrs;
};
}
#endif
Updated on 2022-08-07 at 20:17:18 +0100