22        static PlotEnv* m_instance;
 
   26        unsigned int m_n_manager;
 
   30        static PlotEnv& get();
 
   32        static void declare_plot_manager();
 
   33        static void destroy_plot_manager();
 
   37    std::list<std::unique_ptr<TObject>> m_objects;
 
   38    std::list<std::unique_ptr<TCanvas>> m_canvas;
 
   43    template<
class T, 
class ...ArgsT> T* create(ArgsT&& ...args) {
 
   45        auto* obj = 
new T(std::forward<ArgsT>(args)...);
 
   47        if constexpr (std::is_same<T, TCanvas>::value) {
 
   48            m_canvas.emplace_back(obj);
 
   50            m_objects.emplace_back(obj);