CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_13_patch3/src/DQM/SiStripCommissioningSummary/interface/SummaryHistogramFactory.h

Go to the documentation of this file.
00001 #ifndef DQM_SiStripCommissioningSummary_SummaryHistogramFactory_H
00002 #define DQM_SiStripCommissioningSummary_SummaryHistogramFactory_H
00003 
00004 #include "DataFormats/SiStripCommon/interface/SiStripConstants.h"
00005 #include <boost/cstdint.hpp>
00006 #include "TH1.h"
00007 #include <string>
00008 #include <map>
00009 
00010 class SummaryGenerator;
00011 
00012 template<class T>
00013 class SummaryHistogramFactory {
00014   
00015  public:
00016   
00017   SummaryHistogramFactory();
00018   ~SummaryHistogramFactory();
00019   
00020   void init( const sistrip::Monitorable&, 
00021              const sistrip::Presentation&,
00022              const sistrip::View&, 
00023              const std::string& top_level_dir, 
00024              const sistrip::Granularity& );
00025   
00026   uint32_t extract( const std::map<uint32_t,T>& data );
00027   
00028   void fill( TH1& summary_histo );
00029   
00030  private:
00031   
00032   sistrip::Monitorable mon_;
00033   sistrip::Presentation pres_;
00034   sistrip::View view_;
00035   std::string level_;
00036   sistrip::Granularity gran_;
00037   SummaryGenerator* generator_;
00038 
00039 };
00040 
00041 #endif // DQM_SiStripCommissioningSummary_SummaryHistogramFactory_H
00042 
00043 
00044