00001 00007 #ifndef PROCESSEDPLOTTER_h 00008 #define PROCESSEDPLOTTER_h 00009 00010 #include "BaseModule.hh" 00011 #include "RootGraphix.hh" 00012 00013 #include <stdint.h> 00014 #include <time.h> 00015 #include <vector> 00016 00017 //Forward declarations 00018 class TCanvas; 00019 class TMultiGraph; 00020 class V1724EventMaker; 00021 class TLegend; 00022 00027 class ProcessedPlotter : public BaseModule{ 00028 public: 00029 ProcessedPlotter(); 00030 ~ProcessedPlotter(); 00031 00032 int Initialize(); 00033 int Finalize(); 00034 int Process(EventPtr event); 00035 00037 void Pause(){ _paused = true; } 00039 void Unpause() { _paused = false; } 00041 void TogglePause() { _paused = !_paused; } 00042 00043 static const std::string GetDefaultName(){ return "ProcessedPlotter"; } 00044 00046 const TCanvas* GetCanvas(int i=0) const; 00047 00048 //plot parameters 00049 //bool multi_canvas; 00050 int chans_per_pad; 00051 bool overlay_analysis; 00052 bool multi_color; 00053 bool draw_legend; 00054 bool draw_title; 00055 bool autoscalex; 00056 bool autoscaley; 00057 double xmin; 00058 double xmax; 00059 double ymin; 00060 double ymax; 00061 bool subtract_baseline; 00062 int downsample; 00063 bool drawpulses; 00064 bool drawpmtweights; 00065 bool scale_pmts_sum; 00066 00067 private: 00068 enum CANVASES { PULSES=0, PMTWEIGHTS=1, NCANVASES}; 00069 TCanvas* _canvas[NCANVASES]; 00070 RootGraphix* _graphix; 00071 00072 bool _paused; 00073 00074 }; 00075 00076 #endif