CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_1/src/FWCore/TFWLiteSelector/interface/TFWLiteSelector.h

Go to the documentation of this file.
00001 #ifndef FWCore_TFWLiteSelector_TFWLiteSelector_h
00002 #define FWCore_TFWLiteSelector_TFWLiteSelector_h
00003 // -*- C++ -*-
00004 //
00005 // Package:     TFWLiteSelector
00006 // Class  :     TFWLiteSelector
00007 // 
00040 //
00041 // Original Author:  Chris Jones
00042 //         Created:  Fri Jun 30 21:04:46 CDT 2006
00043 //
00044 
00045 // system include files
00046 class TList;
00047 
00048 // user include files
00049 
00050 #include "boost/shared_ptr.hpp"
00051 
00052 #include "FWCore/TFWLiteSelector/interface/TFWLiteSelectorBasic.h"
00053 
00054 // forward declarations
00055 template <class TWorker>
00056 class TFWLiteSelector : public TFWLiteSelectorBasic
00057 {
00058 
00059    public:
00060       TFWLiteSelector() : worker_() {}
00061       virtual ~TFWLiteSelector() {}
00062 
00063       // ---------- const member functions ---------------------
00064 
00065       // ---------- static member functions --------------------
00066 
00067       // ---------- member functions ---------------------------
00068 
00069    private:
00070       TFWLiteSelector(const TFWLiteSelector&); // stop default
00071 
00072       const TFWLiteSelector& operator=(const TFWLiteSelector&); // stop default
00073 
00074       virtual void preProcessing(const TList*in, TList& out) {
00075         worker_.reset(new TWorker(in,out));
00076       }
00077       virtual void process(const edm::Event& iEvent) {
00078         worker_->process(iEvent);
00079       }
00080       virtual void postProcessing(TList& out) {
00081         worker_->postProcess(out);
00082       }
00083       
00084       // ---------- member data --------------------------------
00085       boost::shared_ptr<TWorker> worker_;
00086       ClassDef(TFWLiteSelector,2)
00087 };
00088 
00089 #endif