LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
ProcessConfiguration.cc
Go to the documentation of this file.
2 #include "cetlib/MD5Digest.h"
3 
4 #include <ostream>
5 #include <sstream>
6 #include <tuple>
7 
8 namespace art {
9 
12  {
13  // This implementation is ripe for optimization.
14  std::ostringstream oss;
15  oss << *this;
16  std::string stringrep = oss.str();
17  cet::MD5Digest md5alg(stringrep);
18  return ProcessConfigurationID(md5alg.digest().toString());
19  }
20 
21  bool
23  {
24  return std::tie(a.processName_, a.parameterSetID_, a.releaseVersion_) <
26  }
27 
28  bool
30  {
31  return std::tie(a.processName_, a.parameterSetID_, a.releaseVersion_) ==
33  }
34 
35  std::ostream&
36  operator<<(std::ostream& os, ProcessConfiguration const& pc)
37  {
38  os << pc.processName_ << ' ' << pc.parameterSetID_ << ' '
39  << pc.releaseVersion_
40  << ' '; // Retain the last space for backwards compatibility
41  return os;
42  }
43 }
std::ostream & operator<<(std::ostream &os, EDAnalyzer::Table< T > const &t)
Definition: EDAnalyzer.h:184
ProcessConfigurationID id() const
bool operator<(ProductInfo const &a, ProductInfo const &b)
Definition: ProductInfo.h:44
fhicl::ParameterSetID parameterSetID_
HLT enums.
Hash< ProcessConfigurationType > ProcessConfigurationID
bool operator==(Provenance const &a, Provenance const &b)
Definition: Provenance.h:168