QGPlot.hh

Go to the documentation of this file.
00001 #ifndef _QG_PLOT_HH_
00002 #define _QG_PLOT_HH_
00003 
00011 #include <list>
00012 #include <string>
00013 #include <vector>
00014 #include "Rtypes.h"
00015 
00016 class QChain;
00017 class QGCanvasWindow;
00018 class QGPlotEditWindow;
00019 class TCanvas;
00020 
00021 class QGPlot {
00022 public:
00024     QGPlot();
00025     
00027     QGPlot(const QGPlot&);
00028     
00030     virtual ~QGPlot();
00031 
00033     virtual void AddCut(const std::string& cut);
00034     
00036     virtual void AutoSetStyle();
00037 
00039     virtual void Display();
00040     
00042     virtual void DisplayEditWindow();
00043     
00045     virtual void Duplicate();
00046     
00048     virtual void Erase();
00049     
00051     virtual void Generate(QChain *chain = 0);
00052     
00054     virtual std::string GeneratePlotName(const std::string& baseName) const;
00055     
00057     virtual TCanvas *GetCanvas();
00058     
00060     virtual QGCanvasWindow *GetCanvasWindow() const {return fCanvasWindow;}
00061     
00063     virtual void GetCanvasWindowFromEditWindow();
00064     
00066     virtual const std::vector<std::string>& GetCuts() const {return fCuts;}
00067     
00069     virtual void GetCutsFromEditWindow();
00070     
00072     virtual QGPlotEditWindow *GetEditWindow() {return fPlotEditWindow;}
00073     
00075     virtual const char *GetName() const;
00076     
00078     virtual void GetParametersFromEditWindow();
00079     
00081     static QGPlot *GetPlotByName(const std::string& name);
00082     
00084     static const std::list<QGPlot*>& GetPlots() {return fPlots;}
00085     
00087     virtual const std::string& GetXUnits() const {return fXUnits;}
00088     
00090     virtual const std::string& GetXVariable() const {return fXVariable;}
00091     
00093     virtual const std::string& GetYUnits() const {return fYUnits;}
00094     
00096     virtual const std::string& GetYVariable() const {return fYVariable;}
00097     
00099     virtual bool IsNameInUse(const std::string& name) const;
00100     
00102     virtual bool IsSuperimposeSet() const {return fSuperimpose;}
00103     
00105     virtual void MakeCutsString();
00106 
00108     virtual bool NeedsRegeneration() const {return fNeedsRegeneration;}
00109     
00111     virtual void Plot();
00112     
00114     virtual void SetCanvasWindow(QGCanvasWindow *window);
00115 
00117     virtual void SetCuts(const std::vector<std::string>& cuts);
00118     
00120     virtual void SetName(const char *name = 0);
00121     
00123     virtual void SetPlotEditWindow(QGPlotEditWindow *window) {fPlotEditWindow = window;}
00124     
00126     virtual void SetProperty(const std::string& key, const std::string& value);
00127 
00129     virtual void SetRegenerate(bool flag = true) {fNeedsRegeneration = flag;}
00130     
00132     virtual void SetSuperimpose(bool flag = false) {fSuperimpose = flag;}
00133 
00135     virtual void SetXVariable(const std::string& x);
00136     
00138     virtual void SetXUnits(const std::string& units) {fXUnits = units;}
00139     
00141     virtual void SetYVariable(const std::string& y);
00142     
00144     virtual void SetYUnits(const std::string& units) {fYUnits = units;}
00145     
00147     static void ShowPlotsList();
00148 
00149 protected:
00151     QGCanvasWindow *fCanvasWindow;
00152     
00154     std::vector<std::string> fCuts;
00155     
00157     std::string fCutsString;
00158     
00160     bool fNeedsRegeneration;
00161     
00163     QGPlotEditWindow *fPlotEditWindow;
00164     
00166     static std::list<QGPlot*> fPlots;
00167     
00169     bool fSuperimpose;
00170     
00172     std::string fXVariable;
00173     
00175     std::string fXUnits;
00176     
00178     std::string fYVariable;
00179     
00181     std::string fYUnits;
00182     
00183     ClassDef(QGPlot, 0)
00184 };
00185 
00186 #endif

Generated on Fri Mar 6 13:40:39 2009 for CUORE Software by  doxygen 1.5.1