00001 #ifndef SAVEPULSES_H_ 00002 #define SAVEPULSES_H_ 00003 00004 #include "BaseModule.h" 00005 class TTree; 00006 class TClonesArray; 00007 00008 class TGlobalData; 00009 class TSetupData; 00010 namespace modules {class options;} 00011 namespace IDs {class source;} 00012 00026 class SavePulses : public BaseModule { 00027 00028 typedef std::map<IDs::source,TClonesArray*> SourceToClonesArrayMap; 00029 00030 public: 00035 SavePulses(modules::options* opts); 00038 ~SavePulses(); 00039 00040 private: 00046 virtual int ProcessEntry(TGlobalData *gData, const TSetupData *gSetup); 00052 virtual int BeforeFirstEntry(TGlobalData* gData,const TSetupData *setup); 00058 virtual int AfterLastEntry(TGlobalData* gData,const TSetupData *setup); 00059 00060 private: 00061 TTree* fTree; 00062 SourceToClonesArrayMap fArrays; 00063 }; 00064 00065 #endif //SAVEPULSES_H_