#ifndef HISTORYSELECTOR_HPP #define HISTORYSELECTOR_HPP // // $Id: HistorySelector.hpp,v 1.5 2006/02/16 05:32:04 greenlee Exp $ // // File: HistorySelector.hpp // Purpose: Selector for HistoryChunk. This selector can be used in // conjunction with edm::TKey to select history chunks for a // given program and/or version. E.g.: // // TKey key(HistorySelector("MyProgram")); // list > hlist = key.findAll(); // // Leaving the program or version blank turns off selection based // on that attribute. (A default-constructed HistorySelector does // nothing.) // // // Created: 29-Mar-2000 Herb Greenlee // // $Revision: 1.5 $ // // #include #include "edm/AbsSelector.hpp" namespace edm {class Event;} namespace fwk { class HistorySelector : public edm::AbsSelector { public: // Static methods static bool is_monte_carlo(const edm::Event& event); static bool is_run2b(const edm::Event& event); static bool is_run2a(const edm::Event& event) {return !is_run2b(event);} // Constructors/destructor. HistorySelector(const HistorySelector& hs); HistorySelector(const std::string& program="", const std::string& prod_version=""); ~HistorySelector() {} // AbsSelector overrides. bool match(const edm::AbsChunk&) const; edm::AbsSelector* clone() const {return new HistorySelector(*this);} private: // Data std::string _program; std::string _prod_version; }; } #endif