![]() |
![]() |
00001 #ifndef DataFormats_Provenance_ProcessConfiguration_h 00002 #define DataFormats_Provenance_ProcessConfiguration_h 00003 00004 #include <iosfwd> 00005 #include <string> 00006 00007 #include "DataFormats/Provenance/interface/ParameterSetID.h" 00008 #include "DataFormats/Provenance/interface/PassID.h" 00009 #include "DataFormats/Provenance/interface/ReleaseVersion.h" 00010 #include "DataFormats/Provenance/interface/ProcessConfigurationID.h" 00011 00012 namespace edm { 00013 struct ProcessConfiguration { 00014 ProcessConfiguration() : processName_(), parameterSetID_(), releaseVersion_(), passID_() {} 00015 ProcessConfiguration(std::string const& procName, 00016 ParameterSetID const& pSetID, 00017 ReleaseVersion const& relVersion, 00018 PassID const& pass) : 00019 processName_(procName), 00020 parameterSetID_(pSetID), 00021 releaseVersion_(relVersion), 00022 passID_(pass) { } 00023 00024 std::string const& processName() const {return processName_;} 00025 ParameterSetID const& parameterSetID() const {return parameterSetID_;} 00026 ReleaseVersion const& releaseVersion() const {return releaseVersion_;} 00027 PassID const& passID() const {return passID_;} 00028 ProcessConfigurationID id() const; 00029 00030 std::string processName_; 00031 ParameterSetID parameterSetID_; 00032 ReleaseVersion releaseVersion_; 00033 PassID passID_; 00034 }; 00035 00036 inline 00037 bool 00038 operator==(ProcessConfiguration const& a, ProcessConfiguration const& b) { 00039 return a.processName() == b.processName() && 00040 a.parameterSetID() == b.parameterSetID() && 00041 a.releaseVersion() == b.releaseVersion() && 00042 a.passID() == b.passID(); 00043 } 00044 00045 inline 00046 bool 00047 operator!=(ProcessConfiguration const& a, ProcessConfiguration const& b) { 00048 return !(a == b); 00049 } 00050 00051 std::ostream& 00052 operator<< (std::ostream& os, ProcessConfiguration const& pc); 00053 } 00054 00055 #endif