00001 #ifndef ISLANDLENGTH_H_ 00002 #define ISLANDLENGTH_H_ 00003 00004 #include "definitions.h" 00005 #include "BaseModule.h" 00006 class TGlobalData; 00007 class TSetupData; 00008 namespace modules {class options;}; 00009 00023 class IslandLength : public BaseModule { 00024 00025 public: 00030 IslandLength(modules::options* opts); 00033 ~IslandLength(); 00034 00035 private: 00043 virtual int ProcessEntry(TGlobalData *gData,const TSetupData *gSetup); 00051 virtual int BeforeFirstEntry(TGlobalData* gData,const TSetupData *setup); 00059 virtual int AfterLastEntry(TGlobalData* gData,const TSetupData *setup); 00060 00061 private: 00062 typedef const std::map<std::string, std::string> mapSS_t; 00063 typedef mapSS_t::const_iterator mapSS_iter; 00064 typedef std::map<std::string, TH1F*> mapSH_t; 00065 typedef StringPulseIslandMap::iterator mapSP_iter; 00066 typedef PulseIslandList::iterator PIL_iter; 00067 00068 00070 IslandLength(const IslandLength& src); 00071 00074 IslandLength& operator() (const IslandLength& rhs); 00075 00077 virtual void Book(TGlobalData* data,const TSetupData* setup); 00078 00080 mapSH_t fHistos; 00081 00083 mapSH_t fHistosNorm; 00084 00086 TH1* fNormHist; 00087 00088 //Counter for the number of entries we have processed; 00089 int fNProcessed; 00090 }; 00091 00092 #endif //ISLANDLENGTH_H_ 00093