CMS 3D CMS Logo

IterateNTimesLooper.cc

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 //
00003 // Package:     Modules
00004 // Class  :     IterateNTimesLooper
00005 // 
00006 // Implementation:
00007 //     <Notes on implementation>
00008 //
00009 // Original Author:  Chris Jones
00010 //         Created:  Tue Jul 11 11:16:14 EDT 2006
00011 // $Id: IterateNTimesLooper.cc,v 1.3 2007/06/25 23:22:15 wmtan Exp $
00012 //
00013 
00014 // system include files
00015 
00016 // user include files
00017 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00018 #include "FWCore/Modules/src/IterateNTimesLooper.h"
00019 
00020 
00021 //
00022 // constants, enums and typedefs
00023 //
00024 
00025 //
00026 // static data member definitions
00027 //
00028 
00029 //
00030 // constructors and destructor
00031 //
00032 IterateNTimesLooper::IterateNTimesLooper(const edm::ParameterSet& iConfig) :
00033 max_(iConfig.getParameter<unsigned int>("nTimes")),
00034 times_(0),
00035 shouldStop_(false)
00036 {
00037 }
00038 
00039 // IterateNTimesLooper::IterateNTimesLooper(const IterateNTimesLooper& rhs)
00040 // {
00041 //    // do actual copying here;
00042 // }
00043 
00044 IterateNTimesLooper::~IterateNTimesLooper()
00045 {
00046 }
00047 
00048 //
00049 // assignment operators
00050 //
00051 // const IterateNTimesLooper& IterateNTimesLooper::operator=(const IterateNTimesLooper& rhs)
00052 // {
00053 //   //An exception safe implementation is
00054 //   IterateNTimesLooper temp(rhs);
00055 //   swap(rhs);
00056 //
00057 //   return *this;
00058 // }
00059 
00060 //
00061 // member functions
00062 //
00063 void 
00064 IterateNTimesLooper::startingNewLoop(unsigned int iIteration) {
00065   times_ = iIteration;
00066   if (iIteration >= max_ ) {
00067     shouldStop_ = true;
00068   }
00069 }
00070 
00071 edm::EDLooper::Status 
00072 IterateNTimesLooper::duringLoop(const edm::Event& event, const edm::EventSetup& eventSetup) {
00073   return shouldStop_ ? kStop : kContinue;
00074 }
00075 
00076 edm::EDLooper::Status 
00077 IterateNTimesLooper::endOfLoop(const edm::EventSetup& es, unsigned int iCounter) {
00078   ++times_;
00079   return (times_ < max_ ) ? kContinue : kStop;
00080 }
00081 
00082 //
00083 // const member functions
00084 //
00085 
00086 //
00087 // static member functions
00088 //

Generated on Tue Jun 9 17:36:22 2009 for CMSSW by  doxygen 1.5.4