CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10_patch1/src/FWCore/Sources/interface/ExternalInputSource.h

Go to the documentation of this file.
00001 #ifndef FWCore_Sources_ExternalInputSource_h
00002 #define FWCore_Sources_ExternalInputSource_h
00003 
00004 /*----------------------------------------------------------------------
00005 ----------------------------------------------------------------------*/
00006 
00007 #include <memory>
00008 #include <vector>
00009 #include <string>
00010 
00011 #include "FWCore/Framework/interface/ConfigurableInputSource.h"
00012 #include "FWCore/Catalog/interface/InputFileCatalog.h"
00013 
00014 namespace edm {
00015   class ParameterSet;
00016   class ParameterSetDescription;
00017 
00018   class ExternalInputSource : public ConfigurableInputSource {
00019   public:
00020     ExternalInputSource(ParameterSet const& pset, InputSourceDescription const& desc, bool realData = true);
00021     virtual ~ExternalInputSource();
00022 
00023     std::vector<std::string> const& logicalFileNames() const {return catalog_.logicalFileNames();}
00024     std::vector<std::string> const& fileNames() const {return catalog_.fileNames();}
00025     InputFileCatalog& catalog() {return catalog_;}
00026     
00027     static void fillDescription(ParameterSetDescription& desc);
00028 
00029   protected:
00030     void incrementFileIndex() {++fileIndex_;}
00031 
00032   private:
00033     virtual size_t fileIndex() const {return fileIndex_;}
00034 
00035     size_t fileIndex_;
00036     InputFileCatalog catalog_;
00037   };
00038 }
00039 #endif