00001 #ifndef FWCore_Services_Tracer_h
00002 #define FWCore_Services_Tracer_h
00003
00004
00005
00006
00007
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00029 #include "FWCore/ServiceRegistry/interface/ActivityRegistry.h"
00030
00031
00032 namespace edm {
00033 namespace service {
00034 class Tracer {
00035 public:
00036 Tracer(const ParameterSet&,ActivityRegistry&);
00037
00038 void postBeginJob();
00039 void postEndJob();
00040
00041 void preBeginRun(RunID const& id, Timestamp const& ts);
00042 void postBeginRun(Run const& run, EventSetup const& es);
00043
00044 void preBeginLumi(LuminosityBlockID const& id, Timestamp const& ts);
00045 void postBeginLumi(LuminosityBlock const& run, EventSetup const& es);
00046
00047 void preEvent(EventID const& id, Timestamp const& ts);
00048 void postEvent(Event const& ev, EventSetup const& es);
00049
00050 void preEndLumi(LuminosityBlockID const& id, Timestamp const& ts);
00051 void postEndLumi(LuminosityBlock const& run, EventSetup const& es);
00052
00053 void preEndRun(RunID const& id, Timestamp const& ts);
00054 void postEndRun(Run const& run, EventSetup const& es);
00055
00056 void preSourceConstruction(ModuleDescription const& md);
00057 void postSourceConstruction(ModuleDescription const& md);
00058
00059 void preModuleConstruction(ModuleDescription const& md);
00060 void postModuleConstruction(ModuleDescription const& md);
00061
00062 void preModuleBeginJob(ModuleDescription const& md);
00063 void postModuleBeginJob(ModuleDescription const& md);
00064
00065 void preModuleBeginRun(ModuleDescription const& md);
00066 void postModuleBeginRun(ModuleDescription const& md);
00067
00068 void preModuleBeginLumi(ModuleDescription const& md);
00069 void postModuleBeginLumi(ModuleDescription const& md);
00070
00071 void preModuleEvent(ModuleDescription const& md);
00072 void postModuleEvent(ModuleDescription const& md);
00073
00074 void preModuleEndLumi(ModuleDescription const& md);
00075 void postModuleEndLumi(ModuleDescription const& md);
00076
00077 void preModuleEndRun(ModuleDescription const& md);
00078 void postModuleEndRun(ModuleDescription const& md);
00079
00080 void preModuleEndJob(ModuleDescription const& md);
00081 void postModuleEndJob(ModuleDescription const& md);
00082
00083 void preSourceEvent();
00084 void postSourceEvent();
00085
00086 void preSourceLumi();
00087 void postSourceLumi();
00088
00089 void preSourceRun();
00090 void postSourceRun();
00091
00092 void preOpenFile();
00093 void postOpenFile();
00094
00095 void preCloseFile();
00096 void postCloseFile();
00097
00098 void prePathBeginRun(std::string const& s);
00099 void postPathBeginRun(std::string const& s, HLTPathStatus const& hlt);
00100
00101 void prePathBeginLumi(std::string const& s);
00102 void postPathBeginLumi(std::string const& s, HLTPathStatus const& hlt);
00103
00104 void prePathEvent(std::string const& s);
00105 void postPathEvent(std::string const& s, HLTPathStatus const& hlt);
00106
00107 void prePathEndLumi(std::string const& s);
00108 void postPathEndLumi(std::string const& s, HLTPathStatus const& hlt);
00109
00110 void prePathEndRun(std::string const& s);
00111 void postPathEndRun(std::string const& s, HLTPathStatus const& hlt);
00112
00113 private:
00114 std::string indention_;
00115 unsigned int depth_;
00116
00117 };
00118 }
00119 }
00120
00121 #endif