CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
RunFactory.h
Go to the documentation of this file.
1 #ifndef DataFormats_FWLite_RunFactory_h
2 #define DataFormats_FWLite_RunFactory_h
3 // -*- C++ -*-
4 //
5 // Package: DataFormats/FWLite
6 // Class : RunFactory
7 //
16 //
17 // Original Author:
18 // Created: Wed Feb 10 11:15:16 CST 2010
19 //
20 
21 #include <memory>
22 
25 
26 namespace fwlite {
27  class RunFactory {
28  public:
29  RunFactory();
30  virtual ~RunFactory();
31 
32  // ---------- const member functions ---------------------
33  std::shared_ptr<fwlite::Run> makeRun(std::shared_ptr<BranchMapReader> branchMap) const;
34 
35  RunFactory(const RunFactory&) = delete; // stop default
36 
37  const RunFactory& operator=(const RunFactory&) = delete; // stop default
38 
39  private:
40  //This class is not inteded to be used across different threads
41  CMS_SA_ALLOW mutable std::shared_ptr<fwlite::Run> run_;
42 
43  // ---------- member data --------------------------------
44  };
45 } // namespace fwlite
46 
47 #endif
#define CMS_SA_ALLOW
std::shared_ptr< fwlite::Run > run_
Definition: RunFactory.h:41
std::shared_ptr< fwlite::Run > makeRun(std::shared_ptr< BranchMapReader > branchMap) const
Definition: RunFactory.cc:26
virtual ~RunFactory()
Definition: RunFactory.cc:24
const RunFactory & operator=(const RunFactory &)=delete