Rivet 3.1.9
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();
31 static vector<string> getAllAnalysisNames() { return allAnalysisNames(); }
32
34 static vector<string> stdAnalysisNames();
35
37 static map<string,string> analysisNameAliases();
38
40
41
44
49 static unique_ptr<Analysis> getAnalysis(const string& analysisname);
50
52 static vector<unique_ptr<Analysis>> getAllAnalyses();
53
55
56
59
64 static vector<string> analysisPlugins();
65
71 static vector<string> searchAnalysisPlugins();
72
85 static void setAnalysisPlugins(const vector<string> pluginpaths);
86
89
91
92
93 private:
94
96 friend class AnalysisBuilderBase;
97
99 static void _registerBuilder(const AnalysisBuilderBase* ab);
100
102 static vector<string> _pluginpaths;
103
104 typedef map<string, const AnalysisBuilderBase*> AnalysisBuilderMap;
106 static AnalysisBuilderMap _ptrs;
108 static AnalysisBuilderMap _aliasptrs;
109
110 };
111
112
113}
114
115#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:96
static vector< string > stdAnalysisNames()
Get the standard analyses' names (from a release-specific list file)
static vector< string > getAllAnalysisNames()
Definition AnalysisLoader.hh:31
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.hh:10