rivet is hosted by Hepforge, IPPP Durham
Rivet 4.0.0
AnalysisLoader.hh
1// -*- C++ -*-
2#ifndef RIVET_AnalysisLoader_HH
3#define RIVET_AnalysisLoader_HH
4
5#include "Rivet/Config/RivetCommon.hh"
6#include <map>
7#include <string>
8
9namespace Rivet {
10
11
12 // Forward declarations
13 class Analysis;
14 class AnalysisBuilderBase;
15 class Log;
16
17
20 public:
21
24
26 static vector<string> analysisNames();
27
29 static vector<string> allAnalysisNames();
30
32 static vector<string> stdAnalysisNames();
33
35 static map<string,string> analysisNameAliases();
36
38
39
42
47 static unique_ptr<Analysis> getAnalysis(const string& analysisname);
48
50 static vector<unique_ptr<Analysis>> getAllAnalyses();
51
53
54
57
62 static vector<string> analysisPlugins();
63
69 static vector<string> searchAnalysisPlugins();
70
83 static void setAnalysisPlugins(const vector<string> pluginpaths);
84
87
89
90
91 private:
92
94 friend class AnalysisBuilderBase;
95
97 static void _registerBuilder(const AnalysisBuilderBase* ab);
98
100 static vector<string> _pluginpaths;
101
102 typedef map<string, const AnalysisBuilderBase*> AnalysisBuilderMap;
104 static AnalysisBuilderMap _ptrs;
106 static AnalysisBuilderMap _aliasptrs;
107
108 };
109
110
111}
112
113#endif
Internal class which loads and registers analyses from plugin libs.
Definition AnalysisLoader.hh:19
static unique_ptr< Analysis > getAnalysis(const string &analysisname)
Get an analysis by name.
static vector< string > searchAnalysisPlugins()
Explicitly trigger the search for the available analyses plugin libraries (caches)
friend class AnalysisBuilderBase
Allow the analysis builders to call the private _registerBuilder function.
Definition AnalysisLoader.hh:94
static vector< string > stdAnalysisNames()
Get the standard analyses' names (from a release-specific list file)
static vector< unique_ptr< Analysis > > getAllAnalyses()
Get all the available analyses.
static vector< string > analysisPlugins()
Return the active set of analysis plugin paths.
static map< string, string > analysisNameAliases()
Get the map of analysis alias-names to their canonical equivalents.
static void setAnalysisPlugins(const vector< string > pluginpaths)
Set a fixed list of analysis plugin libraries, bypassing the search.
static vector< string > analysisNames()
Get the available analyses' canonical names.
static void loadFromAnalysisPlugins()
Load the available analyses from the active plugin libraries (caches)
static vector< string > allAnalysisNames()
Get all the available analyses' names, including aliases.
Definition MC_CENT_PPB_Projections.hh:10