Rivet API documentation

Rivet 4.1.3
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
40 static map<string,string> analysisInspireIDMap();
41
43
44
47
52 static unique_ptr<Analysis> getAnalysis(const string& analysisname);
53
55 static vector<unique_ptr<Analysis>> getAllAnalyses();
56
58
59
62
67 static vector<string> analysisPlugins();
68
74 static vector<string> searchAnalysisPlugins();
75
88 static void setAnalysisPlugins(const vector<string> pluginpaths);
89
92
94
95
96 private:
97
99 friend class AnalysisBuilderBase;
100
102 static void _registerBuilder(const AnalysisBuilderBase* ab);
103
105 static vector<string> _pluginpaths;
106
107 typedef map<string, const AnalysisBuilderBase*> AnalysisBuilderMap;
109 static AnalysisBuilderMap _ptrs;
111 static AnalysisBuilderMap _aliasptrs;
112
113 };
114
115
116}
117
118#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:99
static vector< string > stdAnalysisNames()
Get the standard analyses' names (from a release-specific list file).
static map< string, string > analysisInspireIDMap()
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.
This is the base class of all analysis classes in Rivet.
Definition Analysis.hh:69
Logging system for controlled & formatted writing to stdout.
Definition Logging.hh:10
Definition MC_CENT_PPB_Projections.hh:10