00001 #ifndef Services_CPU_h 00002 #define Services_CPU_h 00003 // -*- C++ -*- 00004 // 00005 // Package: Services 00006 // Class : CPU 00007 // 00008 // 00009 // Original Author: Natalia Garcia 00010 // CPU.h: v 1.0 2009/01/08 11:27:50 00011 // 00012 00013 #include "DataFormats/Provenance/interface/ProvenanceFwd.h" 00014 #include "sigc++/signal.h" 00015 00016 namespace edm { 00017 class ActivityRegistry; 00018 class Event; 00019 class EventSetup; 00020 class ParameterSet; 00021 class ConfigurationDescriptions; 00022 00023 namespace service { 00024 class CPU { 00025 public: 00026 CPU(ParameterSet const&, ActivityRegistry&); 00027 ~CPU(); 00028 00029 static void fillDescriptions(ConfigurationDescriptions& descriptions); 00030 00031 private: 00032 int totalNumberCPUs_; 00033 double averageCoreSpeed_; 00034 bool reportCPUProperties_; 00035 00036 void postEndJob(); 00037 }; 00038 00039 inline 00040 bool isProcessWideService(CPU const*) { 00041 return true; 00042 } 00043 } 00044 } 00045 #endif