CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
EventSelector.h
Go to the documentation of this file.
1 #ifndef Workspace_EventSelector_h_
2 #define Workspace_EventSelector_h_
3 
5 // Original author: W. Adam, 10/4/08
6 
7 // system include files
8 #include <string>
9 
10 // user include files
14 
15 class EventSelector {
16 public:
18  EventSelector (const edm::ParameterSet& iConfig) {
19  std::string selector = iConfig.getParameter<std::string>("selector");
20  name_ = iConfig.getUntrackedParameter<std::string>("name",selector);
21  }
22  virtual ~EventSelector () {}
24  const std::string& name () const {return name_;}
25  const std::vector<std::string> & description() { return description_;}
27  virtual bool select (const edm::Event&) const = 0;
28 
29  protected:
30  std::string name_;
31  std::vector<std::string> description_;
32 };
33 
35 
37 
38 #endif
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
virtual ~EventSelector()
Definition: EventSelector.h:22
virtual bool select(const edm::Event &) const =0
decision of the selector module
edmplugin::PluginFactory< EventSelector *(const edm::ParameterSet &) > EventSelectorFactory
Definition: EventSelector.h:36
std::vector< std::string > description_
Definition: EventSelector.h:31
EventSelector(const edm::ParameterSet &iConfig)
Definition: EventSelector.h:18
A selector of events.
Definition: EventSelector.h:15
const std::string & name() const
name of the module (from configuration)
Definition: EventSelector.h:24
const std::vector< std::string > & description()
Definition: EventSelector.h:25
std::string name_
Definition: EventSelector.h:30