コード例 #1
0
ファイル: Controller.py プロジェクト: tbjc1magic/BlockerTest
    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
コード例 #2
0
ファイル: Other.py プロジェクト: tbjc1magic/BlockerTest
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')