示例#1
0
		def fringeOUT(node,paramsDict):
                        bunch = paramsDict["bunch"]
                        length = paramsDict["parentNode"].getLength()
			usageOUT = node.getUsage()
			e = node.getParam("ea2")
			rho = node.getParam("rho")
			poleArr = node.getParam("poles")
                        klArr =  [-x*bunch.charge()*length for x in self.getParam("kls")]
			skewArr = node.getParam("skews")
                        nParts = paramsDict["parentNode"].getnParts()
			if(e != 0.):
				inout = 1
				TPB.wedgebendCF(bunch, e, inout, rho, len(poleArr), poleArr, klArr, skewArr, nParts - 1)
				if(usageOUT):
					frinout = 0
					TPB.wedgerotate(bunch, -e, frinout)
					TPB.bendfringeOUT(bunch, rho)
					if(length != 0.):
						for i in xrange(len(poleArr)):
							pole = poleArr[i]
							kl = klArr[i]/length
							skew = skewArr[i]
							TPB.multpfringeOUT(bunch,pole,kl,skew)
					frinout = 1
					TPB.wedgerotate(bunch, -e, frinout)
				TPB.wedgedrift(bunch,e,inout)
			else:
				if(usageOUT):
					TPB.bendfringeOUT(bunch, rho)
					if(length != 0.):
						for i in xrange(len(poleArr)):
							pole = poleArr[i]
							kl = klArr[i]/length
							skew = skewArr[i]
							TPB.multpfringeOUT(bunch,pole,kl,skew)
示例#2
0
		def fringeOUT(node,paramsDict):
                        bunch = paramsDict["bunch"]
                        length = paramsDict["parentNode"].getLength()
			usageOUT = node.getUsage()
			e = node.getParam("ea2")
			rho = node.getParam("rho")
			poleArr = node.getParam("poles")
                        klArr =  [-x*bunch.charge()*length for x in self.getParam("kls")]
			skewArr = node.getParam("skews")
                        nParts = paramsDict["parentNode"].getnParts()
			if(e != 0.):
				inout = 1
				TPB.wedgebendCF(bunch, e, inout, rho, len(poleArr), poleArr, klArr, skewArr, nParts - 1)
				if(usageOUT):
					frinout = 0
					TPB.wedgerotate(bunch, -e, frinout)
					TPB.bendfringeOUT(bunch, rho)
					if(length != 0.):
						for i in xrange(len(poleArr)):
							pole = poleArr[i]
							kl = klArr[i]/length
							skew = skewArr[i]
							TPB.multpfringeOUT(bunch,pole,kl,skew)
					frinout = 1
					TPB.wedgerotate(bunch, -e, frinout)
				TPB.wedgedrift(bunch,e,inout)
			else:
				if(usageOUT):
					TPB.bendfringeOUT(bunch, rho)
					if(length != 0.):
						for i in xrange(len(poleArr)):
							pole = poleArr[i]
							kl = klArr[i]/length
							skew = skewArr[i]
							TPB.multpfringeOUT(bunch,pole,kl,skew)
示例#3
0
 def fringeOUT(node, paramsDict):
     usageOUT = node.getUsage()
     e = node.getParam("ea2")
     rho = node.getParam("rho")
     poleArr = node.getParam("poles")[:]
     klArr = node.getParam("kls")[:]
     skewArr = node.getParam("skews")[:]
     length = paramsDict["parentNode"].getLength()
     bunch = paramsDict["bunch"]
     useCharge = 1
     if (paramsDict.has_key("useCharge")):
         useCharge = paramsDict["useCharge"]
     nParts = paramsDict["parentNode"].getnParts()
     if (e != 0.):
         inout = 1
         TPB.wedgebendCF(bunch, e, inout, rho, len(poleArr), poleArr,
                         klArr, skewArr, nParts - 1, useCharge)
         if (usageOUT):
             frinout = 0
             TPB.wedgerotate(bunch, -e, frinout)
             TPB.bendfringeOUT(bunch, rho)
             if (length != 0.):
                 for i in xrange(len(poleArr)):
                     pole = poleArr[i]
                     kl = klArr[i] / length
                     skew = skewArr[i]
                     TPB.multpfringeOUT(bunch, pole, kl, skew,
                                        useCharge)
             frinout = 1
             TPB.wedgerotate(bunch, -e, frinout)
         TPB.wedgedrift(bunch, e, inout)
     else:
         if (usageOUT):
             TPB.bendfringeOUT(bunch, rho)
             if (length != 0.):
                 for i in xrange(len(poleArr)):
                     pole = poleArr[i]
                     kl = klArr[i] / length
                     skew = skewArr[i]
                     TPB.multpfringeOUT(bunch, pole, kl, skew,
                                        useCharge)
示例#4
0
		def fringeOUT(node,paramsDict):
			usageOUT = node.getUsage()
			e = node.getParam("ea2")
			rho = node.getParam("rho")
			poleArr = node.getParam("poles")[:]
			klArr = node.getParam("kls")[:]
			skewArr = node.getParam("skews")[:]
			length = paramsDict["parentNode"].getLength()
			bunch = paramsDict["bunch"]
			useCharge = 1
			if(paramsDict.has_key("useCharge")): useCharge = paramsDict["useCharge"]				
			nParts = paramsDict["parentNode"].getnParts()
			if(e != 0.):
				inout = 1
				TPB.wedgebendCF(bunch, e, inout, rho, len(poleArr), poleArr, klArr, skewArr, nParts - 1, useCharge)
				if(usageOUT):
					frinout = 0
					TPB.wedgerotate(bunch, -e, frinout)
					TPB.bendfringeOUT(bunch, rho)
					if(length != 0.):
						for i in xrange(len(poleArr)):
							pole = poleArr[i]
							kl = klArr[i]/length
							skew = skewArr[i]
							TPB.multpfringeOUT(bunch,pole,kl,skew,useCharge)
					frinout = 1
					TPB.wedgerotate(bunch, -e, frinout)
				TPB.wedgedrift(bunch,e,inout)
			else:
				if(usageOUT):
					TPB.bendfringeOUT(bunch, rho)
					if(length != 0.):
						for i in xrange(len(poleArr)):
							pole = poleArr[i]
							kl = klArr[i]/length
							skew = skewArr[i]
							TPB.multpfringeOUT(bunch,pole,kl,skew,useCharge)