00001 #ifndef LOADPULSES_H_ 00002 #define LOADPULSES_H_ 00003 00004 #include "BaseModule.h" 00005 class TGlobalData; 00006 class TSetupData; 00007 namespace modules {class options;} 00008 namespace IDs {class source;} 00009 class TClonesArray; 00010 class TTree; 00011 00025 class LoadPulses : public BaseModule { 00026 00027 public: 00032 LoadPulses(modules::options* opts); 00035 ~LoadPulses(); 00036 00037 private: 00043 virtual int ProcessEntry(TGlobalData *gData, const TSetupData *gSetup); 00049 virtual int BeforeFirstEntry(TGlobalData* gData,const TSetupData *setup); 00055 virtual int AfterLastEntry(TGlobalData* gData,const TSetupData *setup); 00056 00057 std::string fFileName; 00058 std::string fTreeName; 00059 TTree* fInTree; 00060 Long64_t fCurrentEntry; 00061 Long64_t fNumEntries; 00062 typedef std::map<IDs::source,TClonesArray*> SourceToClonesArrayMap; 00063 SourceToClonesArrayMap fArrays; 00064 typedef std::vector<std::pair<IDs::source, TBranch*> > BranchList; 00065 BranchList fBranches; 00066 }; 00067 00068 #endif //LOADPULSES_H_