CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_2_9_HLT1_bphpatch4/src/FWCore/Sources/interface/EventSkipperByID.h

Go to the documentation of this file.
00001 #ifndef FWCore_Sources_EventSkipperByID_h
00002 #define FWCore_Sources_EventSkipperByID_h
00003 
00004 #include "DataFormats/Provenance/interface/EventRange.h"
00005 #include "DataFormats/Provenance/interface/LuminosityBlockID.h"
00006 #include "DataFormats/Provenance/interface/LuminosityBlockRange.h"
00007 #include "DataFormats/Provenance/interface/EventID.h"
00008 #include "boost/shared_ptr.hpp"
00009 #include <memory>
00010 #include <vector>
00011 
00012 namespace edm {
00013   class ParameterSet;
00014   class ParameterSetDescription;
00015 
00016   class EventSkipperByID {
00017   public:
00018     explicit EventSkipperByID(ParameterSet const& pset);
00019     ~EventSkipperByID();
00020     bool skipIt(RunNumber_t run, LuminosityBlockNumber_t lumi, EventNumber_t event) const;
00021     bool skippingLumis() const {return skippingLumis_;}
00022     bool skippingEvents() const {return skippingEvents_;}
00023     bool somethingToSkip() const {return somethingToSkip_;}
00024     static
00025     std::auto_ptr<EventSkipperByID>create(ParameterSet const& pset);
00026     static void fillDescription(ParameterSetDescription & desc);
00027 
00028   private:
00029 
00030     RunNumber_t firstRun_;
00031     LuminosityBlockNumber_t firstLumi_;
00032     EventNumber_t firstEvent_;
00033     std::vector<LuminosityBlockRange> whichLumisToSkip_;
00034     std::vector<LuminosityBlockRange> whichLumisToProcess_;
00035     std::vector<EventRange> whichEventsToSkip_;
00036     std::vector<EventRange> whichEventsToProcess_;
00037     bool skippingLumis_;
00038     bool skippingEvents_;
00039     bool somethingToSkip_;
00040   };
00041 }
00042 
00043 #endif