00001
00002
00003
00004
00005
00006
00007 #ifndef JanEvent_hh
00008 #define JanEvent_hh
00009
00010 #include <iostream>
00011 using namespace std;
00012
00013 class JanEvent {
00014 public:
00015 JanEvent();
00016
00017 char* header();
00018 char* triggerData();
00019 unsigned short* bemcData();
00020 unsigned short* eemcData();
00021 unsigned short bemcIn() const;
00022 unsigned short eemcIn() const;
00023
00024 void setHeader(const char*);
00025 void setTriggerData(char*);
00026 void setBemcData(unsigned short*);
00027 void setEemcData(unsigned short*);
00028
00029 friend istream& operator>>(istream& in, JanEvent& event);
00030 friend ostream& operator<<(ostream& out, const JanEvent& event);
00031
00032 private:
00033 unsigned int mLength[4];
00034 char mHeader[100];
00035 char mTriggerData[20232];
00036 unsigned short mBemcData[4800];
00037 unsigned short mEemcData[960];
00038 };
00039
00040 inline char* JanEvent::header() { return mHeader; }
00041 inline char* JanEvent::triggerData() { return mTriggerData; }
00042 inline unsigned short* JanEvent::bemcData() { return mBemcData; }
00043 inline unsigned short* JanEvent::eemcData() { return mEemcData; }
00044 inline unsigned short JanEvent::bemcIn() const { return mLength[2] > 0; }
00045 inline unsigned short JanEvent::eemcIn() const { return mLength[3] > 0; }
00046
00047 #endif