Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
JEventProcessor_rawevent.h
Go to the documentation of this file.
1 // $Id$
2 //
3 // File: JEventProcessor_rawevent.h
4 // Created: Fri Jun 24 12:05:19 EDT 2011
5 // Creator: wolin (on Linux stan.jlab.org 2.6.18-194.11.1.el5 x86_64)
6 //
7 
8 #ifndef _JEventProcessor_rawevent_
9 #define _JEventProcessor_rawevent_
10 
11 
12 // temporary root stuff
13 #include <TH1.h>
14 
15 
16 #include <vector>
17 #include <map>
18 
19 
20 #include <JANA/JApplication.h>
21 #include <JANA/JEventProcessor.h>
22 #include <JANA/JEventLoop.h>
23 
24 #ifdef HAVE_EVIO
25 #include <evioFileChannel.hxx>
26 #include <evioUtil.hxx>
27 #endif //HAVE_EVIO
28 
29 #include <BCAL/DBCALHit.h>
30 #include <BCAL/DBCALTDCHit.h>
31 #include <CDC/DCDCHit.h>
32 #include <FCAL/DFCALHit.h>
33 #include <FDC/DFDCHit.h>
34 #include <START_COUNTER/DSCHit.h>
35 #include <TOF/DTOFHit.h>
36 #include <TAGGER/DTAGMHit.h>
37 #include <TAGGER/DTAGHHit.h>
40 
41 using namespace std;
42 using namespace jana;
43 #ifdef HAVE_EVIO
44 using namespace evio;
45 
46 
47 // holds crate/slot/channel
48 typedef struct {
49  int crate;
50  int slot;
51  int channel;
52 } cscVal;
53 typedef const cscVal &cscRef;
54 
55 #endif //HAVE_EVIO
56 
57 
58 //----------------------------------------------------------------------------
59 
60 
61 class JEventProcessor_rawevent : public jana::JEventProcessor {
62 
63  public:
66  const char* className(void){return "JEventProcessor_rawevent";}
67 
68 
69  private:
70  jerror_t init(void);
71  jerror_t brun(jana::JEventLoop *eventLoop, int32_t runnumber);
72  jerror_t evnt(jana::JEventLoop *eventLoop, uint64_t eventnumber);
73  jerror_t erun(void);
74  jerror_t fini(void);
75 
76 #ifdef HAVE_EVIO
77 
78  // these routines read and fill the translation tables
79  static void readTranslationTable(void);
80  static void StartElement(void *userData, const char *xmlname, const char **atts);
81  static void EndElement(void *userData, const char *xmlname);
82 
83 
84  // these routines access the translation tables
85  cscRef DTOFHitTranslationADC(const DTOFHit* hit) const;
86  cscRef DTOFHitTranslationTDC(const DTOFHit* hit) const;
87 
88  cscRef DBCALHitTranslationADC(const DBCALHit* hit) const;
89  //cscRef DBCALHitTranslationTDC(const DBCALHit* hit) const;
90  cscRef DBCALHitTranslationTDC(const DBCALTDCHit* hit) const;
91 
92  cscRef DFCALHitTranslationADC(const DFCALHit* hit) const;
93 
94  cscRef DFDCAnodeHitTranslation(const DFDCHit* hit) const;
95  cscRef DFDCCathodeHitTranslation(const DFDCHit* hit) const;
96 
97  cscRef DCDCHitTranslationADC(const DCDCHit* hit) const;
98 
99  cscRef DSTHitTranslationADC(const DSCHit* hit) const;
100  cscRef DSTHitTranslationTDC(const DSCHit* hit) const;
101 
102  cscRef DTAGMHitTranslationADC(const DTAGMHit* hit) const;
103  cscRef DTAGMHitTranslationTDC(const DTAGMHit* hit) const;
104 
105  cscRef DTAGHHitTranslationADC(const DTAGHHit* hit) const;
106  cscRef DTAGHHitTranslationTDC(const DTAGHHit* hit) const;
107 
108  cscRef DPSHitTranslationADC(const DPSHit* hit) const;
109 
110  cscRef DPSCHitTranslationADC(const DPSCHit* hit) const;
111  cscRef DPSCHitTranslationTDC(const DPSCHit* hit) const;
112 #endif //HAVE_EVIO
113 };
114 
115 #endif // _JEventProcessor_rawevent_
116 
117 
118 //----------------------------------------------------------------------------
Definition: DPSHit.h:15
Definition: DSCHit.h:14
static void EndElement(void *userData, const char *xmlname)
File: DTOFHit.h Created: Tue Jan 18 16:15:26 EST 2011 Creator: B. Zihlmann Purpose: Container class t...
Definition: DTOFHit.h:16
static void StartElement(void *userData, const char *xmlname, const char **atts)
class DFDCHit: definition for a basic FDC hit data type.
Definition: DFDCHit.h:20