Rivet: /Users/chrisg/software/rivet/include/Rivet/AnalysisLoader.hh Source File

| 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
19 class AnalysisLoader {
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
88 static void loadFromAnalysisPlugins();
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
Rivet::AnalysisLoader
Internal class which loads and registers analyses from plugin libs.
Definition AnalysisLoader.hh:19
Rivet::AnalysisLoader::getAnalysis
static unique_ptr< Analysis > getAnalysis(const string &analysisname)
Get an analysis by name.
Rivet::AnalysisLoader::searchAnalysisPlugins
static vector< string > searchAnalysisPlugins()
Explicitly trigger the search for the available analyses plugin libraries (caches)
Rivet::AnalysisLoader::AnalysisBuilderBase
friend class AnalysisBuilderBase
Allow the analysis builders to call the private _registerBuilder function.
Definition AnalysisLoader.hh:96
Rivet::AnalysisLoader::stdAnalysisNames
static vector< string > stdAnalysisNames()
Get the standard analyses' names (from a release-specific list file)
Rivet::AnalysisLoader::getAllAnalysisNames
static vector< string > getAllAnalysisNames()
Definition AnalysisLoader.hh:31
Rivet::AnalysisLoader::getAllAnalyses
static vector< unique_ptr< Analysis > > getAllAnalyses()
Get all the available analyses.
Rivet::AnalysisLoader::analysisPlugins
static vector< string > analysisPlugins()
Return the active set of analysis plugin paths.
Rivet::AnalysisLoader::analysisNameAliases
static map< string, string > analysisNameAliases()
Get the map of analysis alias-names to their canonical equivalents.
Rivet::AnalysisLoader::setAnalysisPlugins
static void setAnalysisPlugins(const vector< string > pluginpaths)
Set a fixed list of analysis plugin libraries, bypassing the search.
Rivet::AnalysisLoader::analysisNames
static vector< string > analysisNames()
Get the available analyses' canonical names.
Rivet::AnalysisLoader::loadFromAnalysisPlugins
static void loadFromAnalysisPlugins()
Load the available analyses from the active plugin libraries (caches)
Rivet::AnalysisLoader::allAnalysisNames
static vector< string > allAnalysisNames()
Get all the available analyses' names, including aliases.
Rivet
Definition MC_Cent_pPb.hh:10