def fringeIN(node,paramsDict): bunch = paramsDict["bunch"] length = paramsDict["parentNode"].getLength() usageIN = node.getUsage() e = node.getParam("ea1") 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 = 0 TPB.wedgedrift(bunch,e,inout) if(usageIN): frinout = 0 TPB.wedgerotate(bunch, e, frinout) TPB.bendfringeIN(bunch, rho) if(length != 0.): for i in xrange(len(poleArr)): pole = poleArr[i] kl = klArr[i]/length skew = skewArr[i] TPB.multpfringeIN(bunch,pole,kl,skew) frinout = 1 TPB.wedgerotate(bunch, e, frinout) TPB.wedgebendCF(bunch, e, inout, rho, len(poleArr), poleArr, klArr, skewArr, nParts - 1) else: if(usageIN): TPB.bendfringeIN(bunch, rho) if(length != 0.): for i in xrange(len(poleArr)): pole = poleArr[i] kl = klArr[i]/length skew = skewArr[i] TPB.multpfringeIN(bunch,pole,kl,skew)
def fringeIN(node,paramsDict): bunch = paramsDict["bunch"] length = paramsDict["parentNode"].getLength() usageIN = node.getUsage() e = node.getParam("ea1") 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 = 0 TPB.wedgedrift(bunch,e,inout) if(usageIN): frinout = 0 TPB.wedgerotate(bunch, e, frinout) TPB.bendfringeIN(bunch, rho) if(length != 0.): for i in xrange(len(poleArr)): pole = poleArr[i] kl = klArr[i]/length skew = skewArr[i] TPB.multpfringeIN(bunch,pole,kl,skew) frinout = 1 TPB.wedgerotate(bunch, e, frinout) TPB.wedgebendCF(bunch, e, inout, rho, len(poleArr), poleArr, klArr, skewArr, nParts - 1) else: if(usageIN): TPB.bendfringeIN(bunch, rho) if(length != 0.): for i in xrange(len(poleArr)): pole = poleArr[i] kl = klArr[i]/length skew = skewArr[i] TPB.multpfringeIN(bunch,pole,kl,skew)
def fringeIN(node, paramsDict): usageIN = node.getUsage() e = node.getParam("ea1") 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 = 0 TPB.wedgedrift(bunch, e, inout) if (usageIN): frinout = 0 TPB.wedgerotate(bunch, e, frinout) TPB.bendfringeIN(bunch, rho) if (length != 0.): for i in xrange(len(poleArr)): pole = poleArr[i] kl = klArr[i] / length skew = skewArr[i] TPB.multpfringeIN(bunch, pole, kl, skew, useCharge) frinout = 1 TPB.wedgerotate(bunch, e, frinout) TPB.wedgebendCF(bunch, e, inout, rho, len(poleArr), poleArr, klArr, skewArr, nParts - 1, useCharge) else: if (usageIN): TPB.bendfringeIN(bunch, rho) if (length != 0.): for i in xrange(len(poleArr)): pole = poleArr[i] kl = klArr[i] / length skew = skewArr[i] TPB.multpfringeIN(bunch, pole, kl, skew, useCharge)
def fringeIN(node,paramsDict): usageIN = node.getUsage() e = node.getParam("ea1") 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 = 0 TPB.wedgedrift(bunch,e,inout) if(usageIN): frinout = 0 TPB.wedgerotate(bunch, e, frinout) TPB.bendfringeIN(bunch, rho) if(length != 0.): for i in xrange(len(poleArr)): pole = poleArr[i] kl = klArr[i]/length skew = skewArr[i] TPB.multpfringeIN(bunch,pole,kl,skew,useCharge) frinout = 1 TPB.wedgerotate(bunch, e, frinout) TPB.wedgebendCF(bunch, e, inout, rho, len(poleArr), poleArr, klArr, skewArr, nParts - 1, useCharge) else: if(usageIN): TPB.bendfringeIN(bunch, rho) if(length != 0.): for i in xrange(len(poleArr)): pole = poleArr[i] kl = klArr[i]/length skew = skewArr[i] TPB.multpfringeIN(bunch,pole,kl,skew,useCharge)