00001 #ifndef __EMCCHANNELEVOLUTION_H__ 00002 #define __EMCCHANNELEVOLUTION_H__ 00003 00004 #include "emcManageable.h" 00005 #include <vector> 00006 #include <string> 00007 00008 class TGraph; 00009 class emcCalibrationDataHelper; 00010 class emcTracedFEM; 00011 00042 class emcChannelEvolution 00043 { 00044 public: 00045 emcChannelEvolution(emcManageable::EStorage datasource = 00046 emcManageable::kDB_Pg); 00047 00048 ~emcChannelEvolution(); 00049 00051 void dump(int ifem, int channel); 00052 00054 TGraph* graph(int ifem, int channel); 00055 00057 TGraph* graph(int ifem, int channel, time_t tics0); 00058 00064 void produce(int run1, int run2, const char* femdetails); 00065 00067 bool read(const char* inputdir); 00068 00070 bool save(const char* outputdir); 00071 00072 private: 00073 00074 emcTracedFEM* read(int ifem); 00075 00076 emcCalibrationDataHelper* fCDH; 00077 std::vector<emcTracedFEM*> fGains; 00078 emcManageable::EStorage fDataSource; 00079 std::string fSourceDir; 00080 }; 00081 00082 #endif