00001 #ifndef TFIBERHODEVENT_H 00002 #define TFIBERHODEVENT_H 00003 00004 #include "TGo4EventElement.h" 00005 00006 #include <vector> 00007 #include <stdint.h> 00008 00009 class TFiberHodProc; 00010 00011 // JAM enable this definition to propagate full timestamp to hodoscope hits 00012 //#define HODOSCOPE_FULLTIMESTAMP 1 00013 00014 00015 class TFiberHodEvent : public TGo4EventElement { 00016 00017 friend class TFiberHodProc; 00018 00019 public: 00020 struct hit_t { 00021 Double_t X; 00022 Double_t Y; 00023 Double_t time; // dt to trigger 00024 #ifdef HODOSCOPE_FULLTIMESTAMP 00025 uint64_t fulltime; // absolute ts 00026 #endif 00027 Int_t NumHits; 00028 Double_t ADC; 00029 }; 00030 00031 TFiberHodEvent(); // required for ROOT streamer 00032 TFiberHodEvent(const char* name, Short_t id=0); 00033 virtual ~TFiberHodEvent(); 00034 00035 virtual void Clear(Option_t *t=""); 00036 00037 00038 // return number of hits in the event 00039 unsigned NumHits() const { return fHits.size(); } 00040 00041 // return record for specified hit 00042 hit_t& Hit(unsigned n) { return fHits[n]; } 00043 00044 protected: 00045 00046 std::vector<hit_t> fHits; 00047 00048 ClassDef(TFiberHodEvent,1) 00049 }; 00050 00051 #endif 00052