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
55
56
57
58
59
60
61
62
63
64
65
|
#ifndef FWCore_ParameterSet_ParameterSetConverter_h
#define FWCore_ParameterSet_ParameterSetConverter_h
#include <map>
#include <list>
#include <set>
#include <string>
#include <utility>
#include <vector>
#include "DataFormats/Provenance/interface/ParameterSetID.h"
#include "DataFormats/Provenance/interface/ParameterSetBlob.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
namespace edm {
typedef std::vector<std::string> StringVector;
struct MainParameterSet {
MainParameterSet(ParameterSetID const& oldID, std::string const& psetString);
~MainParameterSet();
ParameterSetID oldID_;
ParameterSet parameterSet_;
StringVector paths_;
StringVector endPaths_;
std::set<std::string> triggerPaths_;
};
struct TriggerPath {
TriggerPath(ParameterSet const& pset);
~TriggerPath();
ParameterSet parameterSet_;
StringVector tPaths_;
std::set<std::string> triggerPaths_;
};
//------------------------------------------------------------
// Class ParameterSetConverter
typedef std::map<ParameterSetID, ParameterSetBlob> ParameterSetMap;
class ParameterSetConverter {
public:
typedef std::list<std::string> StringList;
typedef std::map<std::string, std::string> StringMap;
typedef std::list<std::pair<std::string, ParameterSetID> > StringWithIDList;
typedef std::map<ParameterSetID, ParameterSetID> ParameterSetIdConverter;
ParameterSetConverter(ParameterSetMap const& psetMap,
ParameterSetIdConverter& idConverter,
bool alreadyByReference);
~ParameterSetConverter();
ParameterSetConverter(const ParameterSetConverter&) = delete;
ParameterSetConverter& operator=(const ParameterSetConverter&) = delete;
ParameterSetIdConverter const& parameterSetIdConverter() const { return parameterSetIdConverter_; }
private:
void convertParameterSets();
void noConvertParameterSets();
StringWithIDList parameterSets_;
std::vector<MainParameterSet> mainParameterSets_;
std::vector<TriggerPath> triggerPaths_;
StringMap replace_;
ParameterSetIdConverter& parameterSetIdConverter_;
};
} // namespace edm
#endif
|