Пример #1
0
    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()
Пример #3
0
    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()