Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/externals/g4tools/include/tools/plotter_common.icc

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

  1 // Copyright (C) 2010, Guy Barrand. All rights reserved.
  2 // See the file tools.license for terms.
  3 
  4   //proxies to have less verbose user programming :
  5 
  6   //WARNING : the plotter must have at least 1x1 plotting area,
  7   //          else the below will crash because current_plotter()
  8   //          will return a null pointer.
  9 
 10   tools::sg::plots& plots() {return m_plots;}
 11   const tools::sg::plots& plots() const {return m_plots;}
 12 
 13   void next() {m_plots.next();}
 14   bool set_current_plotter(unsigned int a_index) {return m_plots.set_current_plotter(a_index);}
 15 
 16   void add_plottable(tools::sg::plottable* a_plottable) {
 17     m_plots.current_plotter().add_plottable(a_plottable); //it takes ownership.
 18   }
 19 
 20   tools::sg::plottable* plot(const tools::histo::h1d& a_histo) {
 21   //tools::sg::plottable* p = new tools::sg::h1d2plot<tools::histo::h1d>(a_histo);
 22     tools::sg::plottable* p = new tools::sg::h1d2plot(a_histo);
 23     m_plots.current_plotter().add_plottable(p); //it takes ownership.
 24     return p;
 25   }
 26 
 27   tools::sg::plottable* plot(const tools::histo::h2d& a_histo) {
 28   //tools::sg::plottable* p = new tools::sg::h2d2plot<tools::histo::h2d>(a_histo);
 29     tools::sg::plottable* p = new tools::sg::h2d2plot(a_histo);
 30     m_plots.current_plotter().add_plottable(p); //it takes ownership.
 31     return p;
 32   }
 33 
 34   tools::sg::plottable* plot(const tools::histo::p1d& a_histo) {
 35     tools::sg::plottable* p = new tools::sg::p1d2plot(a_histo);
 36     m_plots.current_plotter().add_plottable(p); //it takes ownership.
 37     return p;
 38   }
 39 
 40   tools::sg::plottable* plot(const tools::histo::c2d& a_cloud) {
 41     tools::sg::plottable* p = new tools::sg::c2d2plot(a_cloud);
 42     m_plots.current_plotter().add_plottable(p); //it takes ownership.
 43     return p;
 44   }
 45 
 46   tools::sg::plottable* plot(const tools::histo::c3d& a_cloud) {
 47     tools::sg::plottable* p = new tools::sg::c3d2plot(a_cloud);
 48     m_plots.current_plotter().add_plottable(p); //it takes ownership.
 49     return p;
 50   }
 51 
 52   tools::sg::plottable* plot_cp(const tools::histo::h1d& a_histo) {
 53   //tools::sg::plottable* p = new tools::sg::h1d2plot_cp<tools::histo::h1d>(a_histo);
 54     tools::sg::plottable* p = new tools::sg::h1d2plot_cp(a_histo);
 55     m_plots.current_plotter().add_plottable(p); //it takes ownership.
 56     return p;
 57   }
 58 
 59   tools::sg::plottable* plot_cp(const tools::histo::h2d& a_histo) {
 60   //tools::sg::plottable* p = new tools::sg::h2d2plot_cp<tools::histo::h2d>(a_histo);
 61     tools::sg::plottable* p = new tools::sg::h2d2plot_cp(a_histo);
 62     m_plots.current_plotter().add_plottable(p); //it takes ownership.
 63     return p;
 64   }
 65 
 66   tools::sg::plottable* plot_cp(const tools::histo::p1d& a_histo) {
 67     tools::sg::plottable* p = new tools::sg::p1d2plot_cp(a_histo);
 68     m_plots.current_plotter().add_plottable(p); //it takes ownership.
 69     return p;
 70   }
 71 
 72 
 73   //tools::sg::plottable* plot(const tools::histo::p2d& a_histo) {
 74   //  tools::sg::plottable* p = new tools::sg::p2d2plot(a_histo);
 75   //  m_plots.current_plotter().add_plottable(p); //it takes ownership.
 76   //  return p;
 77   //}
 78 
 79   tools::sg::plottable* plot_cp(const tools::histo::c2d& a_cloud) {
 80     tools::sg::plottable* p = new tools::sg::c2d2plot_cp(a_cloud);
 81     m_plots.current_plotter().add_plottable(p); //it takes ownership.
 82     return p;
 83   }
 84 
 85   tools::sg::plottable* plot_cp(const tools::histo::c3d& a_cloud) {
 86     tools::sg::plottable* p = new tools::sg::c3d2plot_cp(a_cloud);
 87     m_plots.current_plotter().add_plottable(p); //it takes ownership.
 88     return p;
 89   }
 90 
 91   template <class T>
 92   tools::sg::plottable* plot(const T& a_func) {
 93     tools::sg::plottable* p = new tools::sg::f1d2plot<T>(a_func);
 94     m_plots.current_plotter().add_plottable(p);
 95     return p;
 96   }
 97 
 98   template <class T>
 99   tools::sg::plottable* plot(const std::vector<T>& a_xs,const std::vector<T>& a_ys) {
100     tools::sg::plottable* p = new tools::sg::xy2plot<T>(a_xs,a_ys);
101     m_plots.current_plotter().add_plottable(p);
102     return p;
103   }
104 
105   tools::sg::plottable* plot_fit(const std::vector<std::string>& a_names,const std::vector<double>& a_output) {
106     tools::sg::plottable* p = new tools::sg::fit2plot(a_names,a_output);
107     m_plots.current_plotter().add_plottable(p);
108     return p;
109   }
110 
111