Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:04:10

0001 #ifndef DataFormats_FWLite_RunFactory_h
0002 #define DataFormats_FWLite_RunFactory_h
0003 // -*- C++ -*-
0004 //
0005 // Package:     DataFormats/FWLite
0006 // Class  :     RunFactory
0007 //
0008 /**\class RunFactory RunFactory.h src/DataFormats/interface/RunFactory.h
0009 
0010  Description: [one line class summary]
0011 
0012  Usage:
0013     <usage>
0014 
0015 */
0016 //
0017 // Original Author:
0018 //         Created:  Wed Feb 10 11:15:16 CST 2010
0019 //
0020 
0021 #include <memory>
0022 
0023 #include "DataFormats/FWLite/interface/Run.h"
0024 #include "FWCore/Utilities/interface/thread_safety_macros.h"
0025 
0026 namespace fwlite {
0027   class RunFactory {
0028   public:
0029     RunFactory();
0030     virtual ~RunFactory();
0031 
0032     // ---------- const member functions ---------------------
0033     std::shared_ptr<fwlite::Run> makeRun(std::shared_ptr<BranchMapReader> branchMap) const;
0034 
0035     RunFactory(const RunFactory&) = delete;  // stop default
0036 
0037     const RunFactory& operator=(const RunFactory&) = delete;  // stop default
0038 
0039   private:
0040     //This class is not inteded to be used across different threads
0041     CMS_SA_ALLOW mutable std::shared_ptr<fwlite::Run> run_;
0042 
0043     // ---------- member data --------------------------------
0044   };
0045 }  // namespace fwlite
0046 
0047 #endif