CMS 3D CMS Logo

ParameterSetDescriptionFillerBase.h
Go to the documentation of this file.
1 #ifndef FWCore_ParameterSet_ParameterSetDescriptionFillerBase_h
2 #define FWCore_ParameterSet_ParameterSetDescriptionFillerBase_h
3 // -*- C++ -*-
4 //
5 // Package: ParameterSet
6 // Class : ParameterSetDescriptionFillerBase
7 //
18 //
19 // Original Author: Chris Jones
20 // Created: Wed Aug 1 16:46:53 EDT 2007
21 //
22 
23 // system include files
24 
25 // user include files
26 
27 // forward declarations
29 
30 #include <string>
31 
32 namespace edm {
33  class EDProducer;
34  class EDFilter;
35  class EDAnalyzer;
36  class OutputModule;
37 
38  namespace one {
39  class EDProducerBase;
40  class EDFilterBase;
41  class EDAnalyzerBase;
42  class OutputModuleBase;
43  }
44 
45  namespace stream {
46  class EDProducerBase;
47  class EDFilterBase;
48  class EDAnalyzerBase;
49  }
50 
51  namespace global {
52  class EDProducerBase;
53  class EDFilterBase;
54  class EDAnalyzerBase;
55  class OutputModuleBase;
56  }
57 
59 {
60 
61  public:
64 
65  // ---------- const member functions ---------------------
66  virtual void fill(ConfigurationDescriptions & descriptions) const = 0;
67  virtual const std::string& baseType() const = 0;
68  virtual const std::string& extendedBaseType() const = 0;
69 
70  // ---------- static member functions --------------------
71 
72  // ---------- member functions ---------------------------
73 
74  protected:
75  static const std::string kEmpty;
94 
95  static const std::string& extendedBaseType(EDAnalyzer const*) {
96  return kExtendedBaseForEDAnalyzer;
97  }
98  static const std::string& extendedBaseType(EDProducer const*) {
99  return kExtendedBaseForEDProducer;
100  }
101  static const std::string& extendedBaseType(EDFilter const*) {
102  return kExtendedBaseForEDFilter;
103  }
104  static const std::string& extendedBaseType(OutputModule const*) {
105  return kExtendedBaseForOutputModule;
106  }
108  return kExtendedBaseForOneEDAnalyzer;
109  }
111  return kExtendedBaseForOneEDProducer;
112  }
114  return kExtendedBaseForOneEDFilter;
115  }
117  return kExtendedBaseForOneOutputModule;
118  }
120  return kExtendedBaseForStreamEDAnalyzer;
121  }
123  return kExtendedBaseForStreamEDProducer;
124  }
126  return kExtendedBaseForStreamEDFilter;
127  }
129  return kExtendedBaseForGlobalEDAnalyzer;
130  }
132  return kExtendedBaseForGlobalEDProducer;
133  }
135  return kExtendedBaseForGlobalEDFilter;
136  }
138  return kExtendedBaseForGlobalOutputModule;
139  }
140  static const std::string& extendedBaseType(void const *) {
141  return kEmpty;
142  }
143 
144  private:
146 
147  const ParameterSetDescriptionFillerBase& operator=(const ParameterSetDescriptionFillerBase&); // stop default
148 
149  // ---------- member data --------------------------------
150 
151 };
152 
153 }
154 #endif
static const std::string & extendedBaseType(global::OutputModuleBase const *)
static const std::string & extendedBaseType(global::EDProducerBase const *)
static const std::string & extendedBaseType(EDFilter const *)
static const std::string & extendedBaseType(OutputModule const *)
static const std::string & extendedBaseType(one::OutputModuleBase const *)
static const std::string & extendedBaseType(one::EDFilterBase const *)
static const std::string & extendedBaseType(global::EDFilterBase const *)
static const std::string & extendedBaseType(one::EDAnalyzerBase const *)
static const std::string & extendedBaseType(void const *)
static const std::string & extendedBaseType(EDProducer const *)
static const std::string & extendedBaseType(global::EDAnalyzerBase const *)
static const std::string & extendedBaseType(stream::EDAnalyzerBase const *)
static const std::string & extendedBaseType(stream::EDFilterBase const *)
HLT enums.
static const std::string & extendedBaseType(stream::EDProducerBase const *)
static const std::string & extendedBaseType(EDAnalyzer const *)
static const std::string & extendedBaseType(one::EDProducerBase const *)