// $Id$ // // File: JEventProcessor_TrackPNG.h // Created: Fri Feb 1 07:09:07 EST 2019 // Creator: davidl (on Linux gluon47.jlab.org 2.6.32-642.3.1.el6.x86_64 x86_64) // #ifndef _JEventProcessor_TrackPNG_ #define _JEventProcessor_TrackPNG_ #include #include #include #include class JEventProcessor_TrackPNG:public jana::JEventProcessor{ public: JEventProcessor_TrackPNG(); ~JEventProcessor_TrackPNG(); const char* className(void){return "JEventProcessor_TrackPNG";} std::map mtxs; // key = geant_pid, value is mutex used to lock writing to corresponding element of ofs std::map ofs; // key = geant_pid, value is track_parms.csv output file stream pointer std::map bfs; // key = geant_pid, value is buffer output file stream pointer std::vector cdc_nwires; //< Number of wires for each CDC layer void WriteTrack(const DTrackTimeBased *tbt, uint32_t trackid, uint64_t eventnumber); 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_TrackPNG_