Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
JEventProcessor_danahddm.h
Go to the documentation of this file.
1 // $Id$
2 //
3 // File: JEventProcessor_danahddm.h
4 // Created: Mon Mar 15 09:08:37 EDT 2010
5 // Creator: wolin (on Linux stan.jlab.org 2.6.18-164.el5 x86_64)
6 //
7 
8 #ifndef _JEventProcessor_danahddm_
9 #define _JEventProcessor_danahddm_
10 
11 #include <string>
12 #include <fstream>
13 using namespace std;
14 
15 #include <HDDM/hddm_s.hpp>
16 
17 #include <JANA/JEventProcessor.h>
18 #include <JANA/JEventLoop.h>
19 using namespace jana;
20 
21 
22 
23 class JEventProcessor_danahddm : public JEventProcessor {
24 
25  public:
26 
29 
30  jerror_t init(void); ///< Called once at program start.
31  jerror_t brun(JEventLoop *loop, int32_t runnumber); ///< Called everytime a new run number is detected.
32  jerror_t evnt(JEventLoop *loop, uint64_t eventnumber); ///< Called every event.
33  jerror_t erun(void); ///< Called everytime run number changes, provided brun has been called.
34  jerror_t fini(void); ///< Called after last event of last event source has been processed.
35 
36 
37  private:
38 
39  std::ofstream *file;
40  hddm_s::ostream *fout;
41  unsigned long Nevents_written;
42 
45 
46  void Add_DTrackTimeBased(JEventLoop *loop,
47  hddm_s::ReconViewList::iterator riter);
48 
49  string DMatrixDSymToString(const DMatrixDSym &mat);
50 };
51 
52 
53 #endif // _JEventProcessor_danahddm_
TMatrixDSym DMatrixDSym
Definition: DMatrixDSym.h:13