18myDC= testem0.DetectorConstruction()
19g4.gRunManager.SetUserInitialization(myDC)
21myPL= testem0.PhysicsList()
22g4.gRunManager.SetUserInitialization(myPL)
25myPGA= testem0.PrimaryGeneratorAction(myDC)
26g4.gRunManager.SetUserAction(myPGA)
28myRA= testem0.RunAction(myDC,myPGA)
31g4.gRunManager.SetUserAction(myRA)
35g4.gRunManager.Initialize()
37pg = g4.G4ParticleGun()
39materialList = testem0.getMaterialTable();
41particleList = testem0.getParticleTable()
43enrgyList = [
"eV",
"keV",
"MeV",
"GeV",
"TeV",
"PeV"]
45cutsList = [
"um",
"mm" ,
"cm",
"m",
"km"]
59 title = Label(self, text=
"testem0 empowered by Geant4Py\n\n\n")
60 title.grid(row=0, column=1, columnspan = 4)
63 particle_title = Label(self, text=
"Particle")
64 particle_title.grid(row=2, column=0)
66 particleFrame = Frame(self)
67 scrollbar2 = Scrollbar(particleFrame)
68 scrollbar2.pack(side = RIGHT, fill = Y)
69 self.
particleListBox = Listbox(particleFrame, yscrollcommand=scrollbar2.set, exportselection=FALSE,height = 6)
71 for item
in particleList:
74 particleFrame.grid(row=3, column=0)
78 fblank = Frame(self,width = 40)
79 fblank.grid(row=3,column=1)
82 detmaterial_title = Label(self, text=
"Material")
83 detmaterial_title.grid(row=2, column=2)
85 materialFrame = Frame(self)
86 scrollbar = Scrollbar(materialFrame)
87 scrollbar.pack(side = RIGHT, fill = Y)
88 self.
materialListBox = Listbox(materialFrame, yscrollcommand=scrollbar.set, exportselection=FALSE, height = 6)
90 for item
in materialList:
93 materialFrame.grid(row=3, column=2)
97 fblank = Frame(self,width = 40)
98 fblank.grid(row=3,column=3)
101 fEnergy = Frame(self)
102 energyLabel = Label(self, text=
"Energy")
103 energyLabel.grid(row = 2, column = 4)
105 scrollbarEnergy = Scrollbar(fEnergy)
106 scrollbarEnergy.pack(side = RIGHT, fill = Y)
111 self.
energyListBox = Listbox(fEnergy, yscrollcommand=scrollbarEnergy.set,exportselection=FALSE,width=8,height = 5)
113 for item
in enrgyList:
116 fEnergy.grid(row = 3, column = 4 )
120 fblank = Frame(self,width = 40)
121 fblank.grid(row=3,column=5)
125 cutsLabel = Label(self, text=
"Cuts", width= 8)
126 cutsLabel.grid(row = 2, column = 6)
128 scrollbarCuts = Scrollbar(fCuts)
129 scrollbarCuts.pack(side = RIGHT, fill = Y)
134 self.
cutsListBox = Listbox(fCuts, width= 8 ,yscrollcommand=scrollbarCuts.set,exportselection=FALSE,height = 5)
136 for item
in cutsList:
138 scrollbarCuts.config(command=self.
cutsListBox.yview)
139 fCuts.grid(row = 3, column = 6 )
143 fblank = Frame(self,height = 40)
144 fblank.grid(row=4,column=0)
148 startBut.grid(row=5, column=2, sticky=W)
151 exitBut = Button(self, bg=
"grey", text=
"Exit", command=self.quit)
152 exitBut.grid(row=5, column=6, sticky=E)
155 Frame.__init__(self, master)
164 g4.gApplyUICommand(
"/gun/particle " + particleList[index])
169 g4.gApplyUICommand(
"/testem/det/setMat " + materialList[index])
175 unity = enrgyList[index]
176 g4.gApplyUICommand(
"/gun/energy " + energy +
" " + unity)
182 unity = cutsList[index]
183 g4.gApplyUICommand(
"/testem/phys/setCuts " + cuts +
" " + unity)
186 g4.gRunManager.BeamOn(1)
def __init__(self, master=None)
auto get(Tuple< Elements... > &t) -> decltype(get_height< sizeof...(Elements) - I - 1 >(t))