/usr/include/Rivet/AnalysisLoader.hh is in librivet-dev 1.8.3-1.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | // -*- C++ -*-
#ifndef RIVET_AnalysisLoader_HH
#define RIVET_AnalysisLoader_HH
#include "Rivet/Rivet.hh"
#include "Rivet/Tools/Logging.fhh"
#include <map>
#include <string>
namespace Rivet {
// Forward declarations
class Analysis;
class AnalysisBuilderBase;
/// @brief Internal class which loads and registers analyses from plugin libs
class AnalysisLoader {
public:
/// Get all the available analyses' names.
static vector<string> analysisNames();
static set<string> getAllAnalysisNames();
/// Get an analysis by name.
/// Warning: a name arg which matches no known analysis will return a null
/// pointer. Check your return values before using them!
static Analysis* getAnalysis(const string& analysisname);
/// Get all the available analyses.
static vector<Analysis*> getAllAnalyses();
private:
/// Allow the analysis builders to call the private _registerBuilder function
friend class AnalysisBuilderBase;
/// Register a new analysis builder
static void _registerBuilder(const AnalysisBuilderBase* a);
/// Load the available analyses at runtime.
static void _loadAnalysisPlugins();
typedef map<string, const AnalysisBuilderBase*> AnalysisBuilderMap;
static AnalysisBuilderMap _ptrs;
};
}
#endif
|