// $Id$ // // File: JEventProcessor_hdl3_timing.h // Created: Wed Mar 9 23:03:38 EST 2016 // Creator: davidl (on Linux gluon48.jlab.org 2.6.32-431.20.3.el6.x86_64 x86_64) // #ifndef _JEventProcessor_hdl3_timing_ #define _JEventProcessor_hdl3_timing_ #include #include #include #include #include class JEventProcessor_hdl3_timing:public jana::JEventProcessor{ public: JEventProcessor_hdl3_timing(); ~JEventProcessor_hdl3_timing(); const char* className(void){return "JEventProcessor_hdl3_timing";} TFile *rootfile; TTree *ttiming; uint32_t buff_size; double prof_time[JEventSource_EVIO::kNtimers]; double tevent; double Ibeam; double GetTime(void) { struct timeval tval; struct timezone tzone; gettimeofday(&tval, &tzone); double t = (double)tval.tv_sec+(double)tval.tv_usec/1.0E6; return t; } private: jerror_t init(void); ///< Called once at program start. jerror_t brun(jana::JEventLoop *eventLoop, int32_t runnumber); ///< Called everytime a new run number is detected. jerror_t evnt(jana::JEventLoop *eventLoop, uint64_t eventnumber); ///< Called every event. jerror_t erun(void); ///< Called everytime run number changes, provided brun has been called. jerror_t fini(void); ///< Called after last event of last event source has been processed. }; #endif // _JEventProcessor_hdl3_timing_