// Usage // stores 5 bytes per event // takes 10s to store/retrieve 5M events #ifndef STNTUPLE_TOneEvent #define STNTUPLE_TOneEvent #include "Stntuple/loop/TStnModule.hh" #include "Stntuple/obj/TStnHeaderBlock.hh" #include class TOneEvent: public TStnModule { public: TOneEvent(const char* name="TOneEvent", const char* title="Duplicate Remover"); ~TOneEvent(); void SetGoodRunRange(int first, int last) { fGoodRun=first; lGoodRun=last; } Int_t BeginJob (); Int_t Event (Int_t ientry); //0=none, 1 =simple summary, 2=summary by run, 3= summary by event void PrintSummary(Int_t level); class TOneEventRun { public: TOneEventRun(UInt_t runnum):run(runnum) {} ~TOneEventRun() {} typedef std::vector intVector; typedef std::vector byteVector; intVector events; byteVector count; UInt_t run; }; private: TStnHeaderBlock* fHeaderBlock; typedef std::vector runVector; runVector runs; TOneEventRun* lastRun; int fGoodRun,lGoodRun; // first and last acceptable run ClassDef(TOneEvent,0) }; #endif