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 ]

Diff markup

Differences between /externals/g4tools/include/tools/plotter_common.icc (Version 11.3.0) and /externals/g4tools/include/tools/plotter_common.icc (Version 11.2)


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