rivet is hosted by Hepforge, IPPP Durham
Rivet 3.1.6
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
23 static vector<string> analysisNames();
24
26 static vector<string> allAnalysisNames();
28 static vector<string> getAllAnalysisNames() { return allAnalysisNames(); }
29
31 static vector<string> stdAnalysisNames();
32
34 static map<string,string> analysisNameAliases();
35
36
40 static unique_ptr<Analysis> getAnalysis(const string& analysisname);
41
43 static vector<unique_ptr<Analysis>> getAllAnalyses();
44
45
46 private:
47
49 friend class AnalysisBuilderBase;
50
52 static void _registerBuilder(const AnalysisBuilderBase* ab);
53
55 static void _loadAnalysisPlugins();
56
57 typedef map<string, const AnalysisBuilderBase*> AnalysisBuilderMap;
58 static AnalysisBuilderMap _ptrs;
59 static AnalysisBuilderMap _aliasptrs;
60
61 };
62
63
64}
65
66#endif
Internal class which loads and registers analyses from plugin libs.
Definition: AnalysisLoader.hh:19
static unique_ptr< Analysis > getAnalysis(const string &analysisname)
friend class AnalysisBuilderBase
Allow the analysis builders to call the private _registerBuilder function.
Definition: AnalysisLoader.hh:49
static vector< string > stdAnalysisNames()
Get the standard analyses' names (from a release-specific list file)
static vector< string > getAllAnalysisNames()
Definition: AnalysisLoader.hh:28
static vector< unique_ptr< Analysis > > getAllAnalyses()
Get all the available analyses.
static map< string, string > analysisNameAliases()
Get the map of analysis alias-names to their canonical equivalents.
static vector< string > analysisNames()
Get the available analyses' canonical names.
static vector< string > allAnalysisNames()
Get all the available analyses' names, including aliases.
Definition: MC_Cent_pPb.hh:10