CMS 3D CMS Logo

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, ReleaseVersion const& relVersion, PassID const& pass);
18 
19  ProcessConfiguration(std::string const& procName,
20  ParameterSetID const& pSetID,
21  ReleaseVersion const& relVersion,
22  PassID const& pass);
23 
24  std::string const& processName() const { return processName_; }
25  ParameterSetID const& parameterSetID() const;
26  bool isParameterSetValid() const { return parameterSetID_.isValid(); }
27  ReleaseVersion const& releaseVersion() const { return releaseVersion_; }
28  PassID const& passID() const { return passID_; }
29  ProcessConfigurationID id() const;
30 
31  void setParameterSetID(ParameterSetID const& pSetID);
32 
34 
35  void reduce();
36 
38 
39  struct Transients {
41  explicit Transients(bool current) : pcid_(), isCurrentProcess_(current) {}
42  void reset() {
43  pcid_.reset();
44  isCurrentProcess_ = false;
45  }
48  };
49 
50  private:
51  void setPCID(ProcessConfigurationID const& pcid) { transient_.pcid_ = pcid; }
54 
60  };
61 
62  typedef std::vector<ProcessConfiguration> ProcessConfigurationVector;
63 
65 
66  inline bool operator==(ProcessConfiguration const& a, ProcessConfiguration const& b) {
67  return a.processName() == b.processName() && a.parameterSetID() == b.parameterSetID() &&
68  a.releaseVersion() == b.releaseVersion() && a.passID() == b.passID();
69  }
70 
71  inline bool operator!=(ProcessConfiguration const& a, ProcessConfiguration const& b) { return !(a == b); }
72 
73  std::ostream& operator<<(std::ostream& os, ProcessConfiguration const& pc);
74 } // namespace edm
75 
76 #endif
edm::ProcessConfiguration::Transients::Transients
Transients(bool current)
Definition: ProcessConfiguration.h:41
edm::ProcessConfiguration::ProcessConfiguration
ProcessConfiguration()
Definition: ProcessConfiguration.cc:16
edm::ProcessConfiguration::releaseVersion
ReleaseVersion const & releaseVersion() const
Definition: ProcessConfiguration.h:27
funct::false
false
Definition: Factorize.h:29
edm::ProcessConfiguration::Transients
Definition: ProcessConfiguration.h:39
edm::ProcessConfiguration::isCurrentProcess
bool isCurrentProcess() const
Definition: ProcessConfiguration.h:52
edm
HLT enums.
Definition: AlignableModifier.h:19
edm::ProcessConfiguration::setCurrentProcess
void setCurrentProcess()
Definition: ProcessConfiguration.h:53
PassID.h
edm::ProcessConfiguration::isParameterSetValid
bool isParameterSetValid() const
Definition: ProcessConfiguration.h:26
edm::ProcessConfiguration::passID
PassID const & passID() const
Definition: ProcessConfiguration.h:28
ReleaseVersion.h
edm::operator<<
std::ostream & operator<<(std::ostream &ost, const HLTGlobalStatus &hlt)
Formatted printout of trigger tbale.
Definition: HLTGlobalStatus.h:106
edm::ProcessConfiguration::id
ProcessConfigurationID id() const
Definition: ProcessConfiguration.cc:44
edm::ProcessConfiguration::setPCID
void setPCID(ProcessConfigurationID const &pcid)
Definition: ProcessConfiguration.h:51
edm::operator!=
bool operator!=(debugging_allocator< X > const &, debugging_allocator< Y > const &) noexcept
Definition: debugging_allocator.h:75
edm::ProcessConfiguration::passID_
PassID passID_
Definition: ProcessConfiguration.h:58
edm::Hash::isValid
bool isValid() const
Definition: Hash.h:141
edm::operator==
bool operator==(debugging_allocator< X > const &, debugging_allocator< Y > const &) noexcept
Definition: debugging_allocator.h:72
edm::operator<
bool operator<(DetSet< T > const &x, DetSet< T > const &y)
Definition: DetSet.h:89
ProcessConfigurationID.h
edm::Hash< ParameterSetType >
edm::ProcessConfiguration::processName
std::string const & processName() const
Definition: ProcessConfiguration.h:24
b
double b
Definition: hdecay.h:118
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::ProcessConfiguration::parameterSetID
ParameterSetID const & parameterSetID() const
Definition: ProcessConfiguration.cc:31
a
double a
Definition: hdecay.h:119
edm::ProcessConfiguration::setParameterSetID
void setParameterSetID(ParameterSetID const &pSetID)
Definition: ProcessConfiguration.cc:57
edm::ProcessConfigurationVector
std::vector< ProcessConfiguration > ProcessConfigurationVector
Definition: ProcessConfiguration.h:62
edm::ProcessConfiguration::reduce
void reduce()
Definition: ProcessConfiguration.cc:69
edm::ProcessConfiguration::processName_
std::string processName_
Definition: ProcessConfiguration.h:55
edm::ProcessConfiguration::parameterSetID_
ParameterSetID parameterSetID_
Definition: ProcessConfiguration.h:56
edm::ReleaseVersion
std::string ReleaseVersion
Definition: ReleaseVersion.h:6
edm::ProcessConfiguration::initializeTransients
void initializeTransients()
Definition: ProcessConfiguration.h:37
edm::ProcessConfiguration::setProcessConfigurationID
ProcessConfigurationID setProcessConfigurationID()
Definition: ProcessConfiguration.cc:62
edm::ProcessConfiguration::releaseVersion_
ReleaseVersion releaseVersion_
Definition: ProcessConfiguration.h:57
edm::ProcessConfiguration::Transients::isCurrentProcess_
bool isCurrentProcess_
Definition: ProcessConfiguration.h:47
edm::ProcessConfiguration::Transients::reset
void reset()
Definition: ProcessConfiguration.h:42
edm::ProcessConfiguration::transient_
Transients transient_
Definition: ProcessConfiguration.h:59
ParameterSetID.h
edm::Hash::reset
void reset()
Definition: Hash.h:136
edm::ProcessConfiguration
Definition: ProcessConfiguration.h:14
edm::PassID
std::string PassID
Definition: PassID.h:7
edm::ProcessConfiguration::Transients::pcid_
ProcessConfigurationID pcid_
Definition: ProcessConfiguration.h:46
edm::ProcessConfiguration::Transients::Transients
Transients()
Definition: ProcessConfiguration.h:40