CMS 3D CMS Logo

ProcessConfiguration.h

Go to the documentation of this file.
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

Generated on Tue Jun 9 17:31:34 2009 for CMSSW by  doxygen 1.5.4