CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ModuleDescription.h
Go to the documentation of this file.
1 #ifndef DataFormats_Provenance_ModuleDescription_h
2 #define DataFormats_Provenance_ModuleDescription_h
3 
4 /*----------------------------------------------------------------------
5 
6 ModuleDescription: The description of a producer module.
7 
8 ----------------------------------------------------------------------*/
12 
13 #include "boost/shared_ptr.hpp"
14 
15 #include <iosfwd>
16 #include <string>
17 
18 namespace edm {
19 
20  // once a module is born, these parts of the module's product provenance
21  // are constant (change to ModuleDescription)
22 
24  public:
25 
27 
28  ModuleDescription(std::string const& modName,
29  std::string const& modLabel);
30 
31  ModuleDescription(std::string const& modName,
32  std::string const& modLabel,
33  boost::shared_ptr<ProcessConfiguration const> procConfig);
34 
36  std::string const& modName,
37  std::string const& modLabel);
38 
40  std::string const& modName,
41  std::string const& modLabel,
42  boost::shared_ptr<ProcessConfiguration const> procConfig);
43 
45 
46  void write(std::ostream& os) const;
47 
49  std::string const& moduleName() const {return moduleName_;}
50  std::string const& moduleLabel() const {return moduleLabel_;}
53  std::string const& processName() const;
54  std::string const& releaseVersion() const;
55  std::string const& passID() const;
56  ParameterSetID const& mainParameterSetID() const;
57 
58  // compiler-written copy c'tor, assignment, and d'tor are correct.
59 
60  bool operator<(ModuleDescription const& rh) const;
61 
62  bool operator==(ModuleDescription const& rh) const;
63 
64  bool operator!=(ModuleDescription const& rh) const;
65 
66  private:
67 
68  // ID of parameter set of the creator
70 
71  // The class name of the creator
72  std::string moduleName_;
73 
74  // A human friendly string that uniquely identifies the EDProducer
75  // and becomes part of the identity of a product that it produces
76  std::string moduleLabel_;
77 
78  // The process configuration.
79  boost::shared_ptr<ProcessConfiguration const> processConfigurationPtr_;
80  };
81 
82  inline
83  std::ostream&
84  operator<<(std::ostream& os, ModuleDescription const& p) {
85  p.write(os);
86  return os;
87  }
88 
89 }
90 #endif
ParameterSetID const & mainParameterSetID() const
std::string const & processName() const
std::string const & moduleName() const
std::string const & passID() const
std::string const & moduleLabel() const
std::string const & releaseVersion() const
bool operator!=(ModuleDescription const &rh) const
bool operator==(ModuleDescription const &rh) const
ProcessConfigurationID processConfigurationID() const
ParameterSetID parameterSetID_
boost::shared_ptr< ProcessConfiguration const > processConfigurationPtr_
ParameterSetID const & parameterSetID() const
std::ostream & operator<<(std::ostream &ost, const HLTGlobalStatus &hlt)
Formatted printout of trigger tbale.
void write(std::ostream &os) const
ProcessConfiguration const & processConfiguration() const
bool operator<(ModuleDescription const &rh) const