![]() |
![]() |
00001 #ifndef VIS_FRAMEWORK_BASE_VIS_EVENT_SELECTOR_H 00002 # define VIS_FRAMEWORK_BASE_VIS_EVENT_SELECTOR_H 00003 00004 //<<<<<< INCLUDES >>>>>> 00005 00006 # include "FWCore/Framework/interface/SelectorBase.h" 00007 # include "DataFormats/Provenance/interface/ConstBranchDescription.h" 00008 00009 //<<<<<< PUBLIC DEFINES >>>>>> 00010 //<<<<<< PUBLIC CONSTANTS >>>>>> 00011 //<<<<<< PUBLIC TYPES >>>>>> 00012 //<<<<<< PUBLIC VARIABLES >>>>>> 00013 //<<<<<< PUBLIC FUNCTIONS >>>>>> 00014 //<<<<<< CLASS DECLARATIONS >>>>>> 00015 00016 class VisEventSelector : public edm::SelectorBase 00017 { 00018 public: 00019 VisEventSelector (const std::string &friendlyName, 00020 const std::string &moduleLabel, 00021 const std::string &instanceName, 00022 const std::string &processName) 00023 : m_friendlyName (friendlyName), 00024 m_moduleLabel (moduleLabel), 00025 m_instanceName (instanceName), 00026 m_processName (processName) {} 00027 00028 // implicit copy constructor 00029 // implicit assignment operator 00030 // implicit destructor 00031 00032 virtual bool doMatch (const edm::ConstBranchDescription &p) const 00033 { 00034 return ((p.friendlyClassName() == m_friendlyName) && 00035 (p.moduleLabel() == m_moduleLabel) && 00036 (p.productInstanceName() == m_instanceName) && 00037 (p.processName () == m_processName)); 00038 } 00039 00040 virtual edm::SelectorBase *clone() const {return new VisEventSelector(*this);} 00041 00042 private: 00043 std::string m_friendlyName; 00044 std::string m_moduleLabel; 00045 std::string m_instanceName; 00046 std::string m_processName; 00047 }; 00048 00049 //<<<<<< INLINE PUBLIC FUNCTIONS >>>>>> 00050 //<<<<<< INLINE MEMBER FUNCTIONS >>>>>> 00051 00052 #endif // VIS_FRAMEWORK_BASE_VIS_EVENT_SELECTOR_H