00001 #ifndef FWCore_Catalog_InputFileCatalog_h 00002 #define FWCore_Catalog_InputFileCatalog_h 00004 // 00005 // $Id: InputFileCatalog.h,v 1.3 2008/03/14 03:46:02 wmtan Exp $ 00006 // 00007 // Class InputFileCatalog. Services to manage InputFile catalog 00008 // 00009 // Author of original version: Luca Lista 00010 // Author of current version: Bill Tanenbaum 00011 // 00013 00014 #include <string> 00015 #include "FWCore/Catalog/interface/FileCatalog.h" 00016 00017 namespace edm { 00018 class ParameterSet; 00019 class InputFileCatalog : public FileCatalog { 00020 public: 00021 explicit InputFileCatalog(ParameterSet const& pset, 00022 PoolCatalog & poolcat, 00023 std::string const& namesParameter = std::string("fileNames"), 00024 bool canBeEmpty = false, 00025 bool noThrow = false); 00026 virtual ~InputFileCatalog(); 00027 std::vector<FileCatalogItem> const& fileCatalogItems() const {return fileCatalogItems_;} 00028 std::vector<std::string> const& logicalFileNames() const {return logicalFileNames_;} 00029 std::vector<std::string> const& fileNames() const {return fileNames_;} 00030 bool empty() const {return fileCatalogItems_.empty();} 00031 private: 00032 void findFile(std::string & pfn, std::string const& lfn, bool noThrow); 00033 std::vector<std::string> logicalFileNames_; 00034 std::vector<std::string> fileNames_; 00035 std::vector<FileCatalogItem> fileCatalogItems_; 00036 }; 00037 } 00038 00039 #endif