def reset_models(self,phi1,phi2): Ne20 = AtomicMassTable.GetElement(10,20) H1 = AtomicMassTable.GetElement(1,1) Ne21 = AtomicMassTable.GetElement(10,21) H2 = AtomicMassTable.GetElement(1,2) He4 = AtomicMassTable.GetElement(2,4) Na23 = AtomicMassTable.GetElement(11,23) Ti48 = AtomicMassTable.GetElement(22,48) Au197 = AtomicMassTable.GetElement(79,197) K0=38.5 P1 = KINEMATICS(m=[Ne20[3],H2[3],Ne21[3],H1[3]], K0= K0,Eex2=2.8,Eex3=0) P2 = KINEMATICS(m=[Ne20[3],H2[3],Ne21[3],H1[3]], K0= K0,Eex2=4.73,Eex3=0) P3 = KINEMATICS(m=[Ne20[3],H2[3],Ne21[3],H1[3]], K0= K0,Eex2=6.26,Eex3=0) tm = TrajectoryManager() #tm.InitlalTrajectoriesWithFile() phirange = [] resolution = 0.5 if phi1<0: range1 = numpy.linspace(phi1+360,360,int(math.fabs(phi1)/resolution)) range2 = numpy.linspace(0,phi2,int(math.fabs(phi2)/resolution)) phirange = list(range1)+list(range2) else: phirange = list( numpy.linspace(phi1,phi2,int(math.fabs(phi2-phi1)/resolution)) ) for j in phirange: # for i in range(73,95): for i in range(73,95): P1.calculate(math.radians(i),math.radians(j)) #print j, P1.philab3, P1.thetalab3 tm.AddTrajectory(1, P1.thetalab3, P1.philab3+180 , P1.K3 ,H1[3], H1[2],2) # for i in range(68,95): for i in range(68,95): P2.calculate(math.radians(i),math.radians(j)) tm.AddTrajectory(2, P2.thetalab3, P2.philab3 +180, P2.K3 ,H1[3], H1[2],2) # for i in range(60,95): for i in range(60,95): P3.calculate(math.radians(i),math.radians(j)) tm.AddTrajectory(3, P3.thetalab3, P3.philab3+180 , P3.K3 ,H1[3], H1[2],2) self.tm = tm
Na23 = AtomicMassTable.GetElement(11,23) Ti48 = AtomicMassTable.GetElement(22,48) Au197 = AtomicMassTable.GetElement(79,197) from PosManager import TrajectoryManager, Trajectory K0=40 P1 = KINEMATICS(m=[Ne20[3],H2[3],Ne21[3],H1[3]], K0= K0,Eex2=2.8,Eex3=0) P2 = KINEMATICS(m=[Ne20[3],H2[3],Ne21[3],H1[3]], K0= K0,Eex2=4.73,Eex3=0) P3 = KINEMATICS(m=[Ne20[3],H2[3],Ne21[3],H1[3]], K0= K0,Eex2=6.26,Eex3=0) tm = TrajectoryManager() #tm.InitlalTrajectoriesWithFile() import random for j in numpy.linspace(-0.1,0.1,50): for i in range(90,92): P1.calculate(math.radians(i),math.radians(j)) #print j, P1.philab3, P1.thetalab3 tm.AddTrajectory(1, P1.thetalab3, P1.philab3 , P1.K3 ,H1[3], H1[2],2) for i in range(63,94): P2.calculate(math.radians(i),math.radians(j)) tm.AddTrajectory(2, P2.thetalab3, P2.philab3 , P2.K3 ,H1[3], H1[2],2) for i in range(50,95): P3.calculate(math.radians(i),math.radians(j)) tm.AddTrajectory(3, P3.thetalab3, P3.philab3 , P3.K3 ,H1[3], H1[2],2) points = tm.GetPoints(0.26) plt.figure(1) #print points[1] for groupID,ele in points.iteritems(): plt.plot(zip(*ele)[0], zip(*ele)[1] ,'o')