CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ProcessConfiguration.h
Go to the documentation of this file.
1 #ifndef DataFormats_Provenance_ProcessConfiguration_h
2 #define DataFormats_Provenance_ProcessConfiguration_h
3 
8 
9 #include <iosfwd>
10 #include <string>
11 #include <vector>
12 
13 namespace edm {
15  public:
17  ProcessConfiguration(std::string const& procName,
18  ReleaseVersion const& relVersion,
19  PassID const& pass);
20 
21  ProcessConfiguration(std::string const& procName,
22  ParameterSetID const& pSetID,
23  ReleaseVersion const& relVersion,
24  PassID const& pass);
25 
26  std::string const& processName() const {return processName_;}
27  ParameterSetID const& parameterSetID() const;
28  bool isParameterSetValid() const {return parameterSetID_.isValid();}
30  PassID const& passID() const {return passID_;}
31  ProcessConfigurationID id() const;
32 
33  void setParameterSetID(ParameterSetID const& pSetID);
34 
36 
37  void reduce();
38 
40 
41  struct Transients {
43  explicit Transients(bool current) : pcid_(), isCurrentProcess_(current) {}
44  void reset() {
45  pcid_.reset();
46  isCurrentProcess_ = false;
47  }
50  };
51 
52  private:
53  void setPCID(ProcessConfigurationID const& pcid) {transient_.pcid_ = pcid;}
56 
62  };
63 
64  typedef std::vector<ProcessConfiguration> ProcessConfigurationVector;
65 
66  bool
68 
69  inline
70  bool
72  return a.processName() == b.processName() &&
73  a.parameterSetID() == b.parameterSetID() &&
74  a.releaseVersion() == b.releaseVersion() &&
75  a.passID() == b.passID();
76  }
77 
78  inline
79  bool
81  return !(a == b);
82  }
83 
84  std::ostream&
85  operator<<(std::ostream& os, ProcessConfiguration const& pc);
86 }
87 
88 #endif
bool operator<(DetSet< T > const &x, DetSet< T > const &y)
Definition: DetSet.h:90
std::vector< ProcessConfiguration > ProcessConfigurationVector
ProcessConfigurationID setProcessConfigurationID()
ProcessConfigurationID id() const
bool operator!=(debugging_allocator< X > const &, debugging_allocator< Y > const &)
void setPCID(ProcessConfigurationID const &pcid)
void setParameterSetID(ParameterSetID const &pSetID)
PassID const & passID() const
std::string const & processName() const
ParameterSetID const & parameterSetID() const
bool operator==(debugging_allocator< X > const &, debugging_allocator< Y > const &)
ReleaseVersion const & releaseVersion() const
double b
Definition: hdecay.h:120
std::string ReleaseVersion
Definition: ReleaseVersion.h:7
bool isValid() const
Definition: Hash.h:150
double a
Definition: hdecay.h:121
volatile std::atomic< bool > shutdown_flag false
std::ostream & operator<<(std::ostream &ost, const HLTGlobalStatus &hlt)
Formatted printout of trigger tbale.
void reset()
Definition: Hash.h:143
std::string PassID
Definition: PassID.h:8