def LOAD(self, plot=True ): # plot True jezeli chcemy dodatkowo plotowac, inaczej False self.file = self.tree.cursor_node().get_label() if (self.file[-4:] == ".lis"): self.STATUS("PLOTTING") MGR = sf2r_manager(False, True) #DEBUG = False API = True plots = MGR.run_path(self.folder, self.file) # tu wywala TH1F'y if self.canvas: for i in range(self.number): self.canvas[0][i].get_tk_widget().destroy() self.TOOLBAR[i].destroy() pass self.canvas = [] self.TOOLBAR = [] if plot == False: self.STATUS("FILE " + self.file + " ONLY CONVERTED") return self.canvas.append(plot_3d_2canvas(plots[0], self.win)) self.number = len(self.canvas[0]) self.canvas[0][0].get_tk_widget().grid(row=1, column=1) self.TOOLBAR.append( NavigationToolbar2TkAgg(self.canvas[0][0], self.win)) self.TOOLBAR[0].grid(row=2, column=1) if (len(self.canvas[0]) > 1): self.canvas[0][1].get_tk_widget().grid(row=3, column=1) self.TOOLBAR.append( NavigationToolbar2TkAgg(self.canvas[0][1], self.win)) self.TOOLBAR[1].grid(row=4, column=1) if (len(self.canvas[0]) > 2): self.canvas[0][2].get_tk_widget().grid(row=1, column=2) self.TOOLBAR.append( NavigationToolbar2TkAgg(self.canvas[0][2], self.win)) self.TOOLBAR[2].grid(row=2, column=2) self.tree.focus_set() self.STATUS("FILE " + self.file + " CONVERTED AND PLOTTED") self.tree.focus_set()
def LOAD(self, plot=True, all=False ): # plot True jezeli chcemy dodatkowo plotowac, inaczej False if all == True: self.STATUS("ALL_DIRECTIORY_CONVERTED") string = "python ./sf2rconverter/sf2rconverter.py -p " + self.folder print string os.system(string) print "All files converted." tkMessageBox.showinfo("SUCCESS", "All files converted.") self.tree.focus_set() else: if (self.file[-4:] == ".lis" or self.file[-4:] == ".dat" or self.file[-5:] == ".root"): self.STATUS("PLOTTING") MGR = sf2r_manager(False, True) #DEBUG = False API = True if (self.file[-4:] == ".lis" or self.file[-4:] == ".dat"): plots = MGR.run_path(self.folder, self.file) # tu wywala TH1F'y file = None if not os.path.exists('fluka2root_one_detector.root'): file = TFile('fluka2root_one_detector.root', 'new') else: file = TFile('fluka2root_one_detector.root', 'recreate') for chart in plots: if chart.get_type() == '1DPLOT' or chart.get_type( ) == '2DPLOT' or chart.get_type() == '3DPLOT': chart.get_histo().Write() else: histos = chart.get_histo() for histo in histos: histo.Write() file.Close() else: f = ROOT.TFile.Open(self.file) keys = f.GetListOfKeys() plots = [] p = [] for el in keys: p.append(f.Get(el.GetName())) plots.append(p) if plot == False: self.STATUS("FILE " + self.file + " ONLY CONVERTED") else: if self.canvas: for i in xrange(len(self.canvas[0])): if any(isinstance(x, str) for x in self.canvas): self.canvas = [] else: self.canvas[0][i].get_tk_widget().destroy() if len(self.TOOLBAR) > 0: self.TOOLBAR[i].destroy() pass self.canvas = [] self.TOOLBAR = [] if isinstance(plots[0], plot_1d): self.canvas.append(plot_1d_2canvas(plots[0], self.win)) elif isinstance(plots[0], plot_2d): self.canvas.append(plot_2d_2canvas(plots[0], self.win)) elif isinstance(plots[0], plot_3d): self.canvas.append(plot_3d_2canvas(plots[0], self.win)) else: self.canvas.append(plot_3d_2canvas(plots[0], self.win)) if any(isinstance(x, str) for x in self.canvas): print self.canvas[0] self.STATUS("ERROR") tkMessageBox.showinfo("ERROR", self.canvas[0]) self.STATUS("FILE " + self.file + " CONVERTED") if self.file[-4:] == ".lis" or self.file[ -4:] == ".dat" or not any( isinstance(x, str) for x in self.canvas): self.number = len(self.canvas[0]) self.layouts(self.number) if self.file[-5:] == ".root": self.STATUS("FILE " + self.file + " PLOTTED") else: self.STATUS("FILE " + self.file + " CONVERTED AND PLOTTED") self.tree.focus_set()
def LOAD(self, plot=True ): # plot True jezeli chcemy dodatkowo plotowac, inaczej False self.file = self.tree.cursor_node().get_label() if (self.file[-4:] == ".lis" or self.file[-5:] == ".root"): self.STATUS("PLOTTING") MGR = sf2r_manager(False, True) #DEBUG = False API = True if (self.file[-4:] == ".lis"): plots = MGR.run_path(self.folder, self.file) # tu wywala TH1F'y else: f = ROOT.TFile.Open(self.file) keys = f.GetListOfKeys() plots = [] p = [] for el in keys: p.append(f.Get(el.GetName())) plots.append(p) if self.canvas: for i in xrange(len(self.canvas[0])): self.canvas[0][i].get_tk_widget().destroy() self.TOOLBAR[i].destroy() pass self.canvas = [] self.TOOLBAR = [] if plot == False: self.STATUS("FILE " + self.file + " ONLY CONVERTED") return print "TU TEZ" self.canvas.append(plot_3d_2canvas(plots[0], self.win)) self.number = len(self.canvas[0]) self.canvas[0][0].get_tk_widget().grid(row=1, column=1) self.TOOLBAR.append( NavigationToolbar2TkAgg(self.canvas[0][0], self.win)) self.TOOLBAR[0].grid(row=2, column=1) if (len(self.canvas[0]) > 1): self.canvas[0][1].get_tk_widget().grid(row=3, column=1) self.TOOLBAR.append( NavigationToolbar2TkAgg(self.canvas[0][1], self.win)) self.TOOLBAR[1].grid(row=4, column=1) if (len(self.canvas[0]) > 2): self.canvas[0][2].get_tk_widget().grid(row=1, column=2) self.TOOLBAR.append( NavigationToolbar2TkAgg(self.canvas[0][2], self.win)) self.TOOLBAR[2].grid(row=2, column=2) if (len(self.canvas[0]) > 3): self.canvas[0][3].get_tk_widget().grid(row=3, column=2) self.TOOLBAR.append( NavigationToolbar2TkAgg(self.canvas[0][3], self.win)) self.TOOLBAR[3].grid(row=4, column=2) if (len(self.canvas[0]) > 4): self.canvas[0][4].get_tk_widget().grid(row=5, column=1, columnspan=2, sticky=N + S) self.TOOLBAR.append( NavigationToolbar2TkAgg(self.canvas[0][4], self.win)) self.TOOLBAR[4].grid(row=6, column=1, columnspan=2, sticky=N + S) self.tree.focus_set() self.STATUS("FILE " + self.file + " CONVERTED AND PLOTTED") self.tree.focus_set()