parameterArray=new Array("tag","imgID","abbreviation","name","decays")BNpDecay = new Array(0.999999999,"BNp")BNpbarDecay = new Array(0.999999999,"BNpbar")BNnDecay = new Array(0.999999999,"BNp","LEminus","LEnubar")BNnbarDecay = new Array(0.999999999,"BNpbar","LEplus","LEnu")BLDecay = new Array(0.639,"BNp","MPminus",0.358,"BNn","MP",0.00175,"BNn","BosGamma",0.00084,"BNp","MPminus","BosGamma",0.000832,"BNp","LEminus","LEnubar",0.000157,"BNp","LMUminus","LMUnubar")BLbarDecay = new Array(0.639,"BNpbar","MPplus",0.358,"BNnbar","MP",0.00175,"BNnbar","BosGamma",0.00084,"BNpbar","MPplus","BosGamma",0.000832,"BNpbar","LEplus","LEnu",0.000157,"BNpbar","LMUplus","LMUnu")BSplusDecay = new Array(0.5157,"BNp","MP",0.4831,"BNn","MPplus",0.00123,"BNp","BosGamma",0.00045,"BNn","MPplus","BosGamma",0.000020,"BL","LEplus","LEnu")BSplusbarDecay = new Array(0.5157,"BNpbar","MP",0.4831,"BNnbar","MPminus",0.00123,"BNpbar","BosGamma",0.00045,"BNnbar","MPminus","BosGamma",0.000020,"BLbar","LEminus","LEnubar")BSDecay = new Array(0.999999999,"BL","BosGamma")BSbarDecay = new Array(0.999999999,"BLbar","BosGamma")BSminusDecay = new Array(0.99848,"BNn","MPminus",0.00046,"BNn","MPminus","BosGamma",0.001017,"BNn","LEminus","LEnubar",0.00045,"BNn","LMUminus","LMUnubar",0.0000573,"BL","LEminus","LEnubar")BSminusbarDecay = new Array(0.99848,"BNnbar","MPplus",0.00046,"BNnbar","MPplus","BosGamma",0.001017,"BNnbar","LEplus","LEnu",0.00045,"BNnbar","LMUplus","LMUnu",0.0000573,"BLbar","LEplus","LEnu")BXDecay = new Array(0.9954, "BL","MP",0.00106,"BL","BosGamma",0.0035,"BS","BosGamma")BXbarDecay = new Array(0.9954, "BLbar","MP",0.00106,"BLbar","BosGamma",0.0035,"BSbar","BosGamma")BXminusDecay = new Array(0.99887,"BL","MPminus",0.000127,"BSminus","BosGamma",0.000563,"BL","LEminus","LEnubar",0.00035,"BL","LMUminus","LMUnubar",0.000087,"BS","LEminus","LEnubar")BXminusbarDecay = new Array(0.99887,"BLbar","MPplus",0.000127,"BSminusbar","BosGamma",0.000563,"BLbar","LEplus","LEnu",0.00035,"BLbar","LMUplus","LMUnu",0.000087,"BSbar","LEplus","LEnu")BOminusDecay = new Array(0.678,"BL","MKminus",0.236,"BX","MPminus",0.086,"BXminus","MP",0.00043,"BXminus","MPplus","MPminus")BOminusbarDecay = new Array(0.678,"BLbar","MKplus",0.236,"BXbar","MPplus",0.086,"BXminusbar","MP",0.00043,"BXminusbar","MPminus","MPplus")proton=new Array("BNp","p.gif","proton", BNpDecay )antiProton=new Array("BNpbar","pbar.gif","anti-proton", BNpbarDecay)neutron=new Array("BNn","n.gif","neutron", BNnDecay )antiNeutron=new Array("BNnbar","nbar.gif","anti-neutron", BNnbarDecay)lambda=new Array("BL","lam.gif","lambda",BLDecay)antiLambda=new Array("BLbar","lambar.gif","anti-lambda",BLbarDecay)sigmaPlus=new Array("BSplus","splus.gif","sigma plus", BSplusDecay)antiSigmaPlus=new Array("BSplusbar","splusbar.gif","anti-sigma plus", BSplusbarDecay)sigma=new Array("BS","s.gif","sigma",BSDecay)antiSigma=new Array("BSbar","sbar.gif","anti-sigma",BSbarDecay)sigmaMinus=new Array("BSminus","sminus.gif","sigma minus", BSminusDecay)antiSigmaMinus=new Array("BSminusbar","sminbar.gif","anti-sigma minus", BSminusbarDecay)xi=new Array("BX","x.gif","xi", BXDecay)antiXi=new Array("BXbar","xbar.gif","anti-xi", BXbarDecay)xiMinus=new Array("BXminus","xminus.gif","xi minus", BXminusDecay)antiXiMinus=new Array("BXminusbar","xminbar.gif","anti-xi minus", BXminusbarDecay)omegaMinus=new Array("BOminus","ominus.gif","omega minus", BOminusDecay)antiOmegaMinus=new Array("BOminusbar","ominbar.gif","anti-omega minus", BOminusbarDecay)MPplusDecay = new Array(0.999877,"LMUplus","LMUnu",0.000124,"LMUplus","LMUnu","BosGamma",0.000123,"LEplus","LEnu",0.000000161,"LEplus","LEnu","BosGamma",0.00000001025,"LEplus","LEnu","MP",0.0000000032,"LEplus","LEnu"," LEplus","LEminus")MPminusDecay = new Array(0.999877,"LMUminus","LMUnubar",0.000124,"LMUminus","LMUnubar","BosGamma",0.000123,"LEminus","LEnubar",0.000000161,"LEminus","LEnubar","BosGamma",0.00000001025,"LEminus","LEnubar","MP",0.0000000032,"LEminus","LEnubar"," LEminus","LEplus")MPDecay = new Array(0.98798,"BosGamma","BosGamma",0.01198,"LEplus","LEminus","BosGamma","BosGamma",0.0000314,"LEplus","LEplus","LEminus","LEminus",0.000000075,"LEplus","LEminus")MKminusDecay = new Array(0.6351,"LMUminus","LMUnubar",0.0000155,"LEminus","LEnubar",0.2116,"MPminus","MP","0.0559","MPminus","MPminus","MPplus",0.0173,"MPminus","MP","MP",0.0318,"MP","LMUminus","LMUnubar",0.0482,"MP","LEminus","LEnubar")MKplusDecay = new Array(0.6351,"LMUplus","LMUnu",0.0000155,"LEplus","LEnu",0.2116,"MPplus","MP","0.0559","MPplus","MPplus","MPminus",0.0173,"MPplus","MP","MP",0.0318,"MP","LMUplus","LMUnu",0.0482,"MP","LEplus","LEnu")MKDecay = new Array(0.6861/2,"MPplus","MPminus",0.3139/2,"MP","MP",0.00178/2,"MPplus","MPminus","BosGamma",0.2112/2,"MP","MP","MP",0.1256/2,"MPplus","MPminus","MP",0.2717/4,"MPplus","LMUminus","LMUnubar",0.271/4,"MPminus","LMUplus","LMUnu",0.3878/4,"MPplus","LEminus","LEnubar",0.3878/4,"MPminus","LEplus","LEnu")MKbarDecay = new Array(0.6861/2,"MPminus","MPplus",0.3139/2,"MP","MP",0.00178/2,"MPminus","MPplus","BosGamma",0.2112/2,"MP","MP","MP",0.1256/2,"MPminus","MPplus","MP",0.2717/4,"MPminus","LMUplus","LMUnu",0.271/4,"MPplus","LMUminus","LMUnubar",0.3878/4,"MPminus","LEplus","LEnu",0.3878/4,"MPplus","LEminus","LEnubar")MEDecay = new Array(0.3925,"BosGamma","BosGamma",0.321,"MP","MP","MP",0.00071,"MP","BosGamma","BosGamma",0.232,"MPplus","MPminus","MP",0.0478,"MPplus","MPminus","BosGamma",0.0049,"LEplus","LEminus","BosGamma",0.00031,"LMUplus","LMUminus","BosGamma",0.000058,"LMUplus","LMUminus",0.0013,"MPplus","MPminus","LEplus","LEminus")positivePion=new Array("MPplus","pplus.gif","positive pion", MPplusDecay)negativePion=new Array("MPminus","pminus.gif","negative pion", MPminusDecay)neutralPion=new Array("MP","p0.gif","neutral pion",MPDecay)positiveKaon=new Array("MKplus","kplus.gif","positive kaon", MKplusDecay)negativeKaon=new Array("MKminus","kminus.gif","negative kaon", MKminusDecay)neutralKaon=new Array("MK","k.gif","neutral kaon", MKDecay)antiNeutralKaon=new Array("MKbar","kbar.gif","anti-neutral kaon", MKbarDecay)eta=new Array("ME","eta.gif","eta",MEDecay)LEminusDecay = new Array(0.999999999,"LEminus")LEplusDecay = new Array(0.999999999,"LEplus")LEnuDecay = new Array(0.999999999,"LEnu")LEnubarDecay = new Array(0.999999999,"LEnubar")LMUminusDecay = new Array(0.999999999,"LEminus","LEnubar","LMUnu")LMUplusDecay = new Array(0.999999999,"LEplus","LEnu","LMUnubar")LMUnuDecay = new Array(0.999999999,"LMUnu")LMUnubarDecay = new Array(0.999999999,"LMUnubar")LTAUminusDecay = new Array(0.1735,"LMUminus","LMUnubar","LTAUnu",0.0023,"LMUminus","LMUnubar","LTAUnu","BosGamma",0.1783,"LEminus","LEnubar","LTAUnu",0.1131,"MPminus","LTAUnu",0.0071,"MKminus","LTAUnu",0.2554,"MPminus","MP","LTAUnu",0.0052,"MKminus","MP","LTAUnu",0.0927,"MPminus","MP","MP","LTAUnu",0.00081,"MKminus","MP","MP","LTAUnu",0.0114,"MPminus","MP","MP","MP","LTAUnu",0.00050,"MKminus","MP","MP","MP","LTAUnu",0.000000077,"MPminus","MKbar","LTAUnu",0.00155,"MKminus","MK","LTAUnu",0.0000041,"MPminus","MKbar","MP","LTAUnu",0.00138,"MKminus","MK","MP","LTAUnu",0.00101,"MPminus","MK","MKbar","LTAUnu",0.1409,"MPminus","MPplus","MPminus","LTAUnu",0.0039,"MKminus","MPplus","MPminus","LTAUnu",0.0037,"MKminus","MKplus","MPminus","LTAUnu",0.00171,"ME","MPminus","MP","LTAUnu",0.00026,"ME","MKminus","LTAUnu")LTAUplusDecay = new Array(0.1735,"LMUplus","LMUnu","LTAUnubar",0.0023,"LMUplus","LMUnu","LTAUnubar","BosGamma",0.1783,"LEplus","LEnu","LTAUnubar",0.1131,"MPplus","LTAUnubar",0.0071,"MKplus","LTAUnubar",0.2554,"MPplus","MP","LTAUnubar",0.0052,"MKplus","MP","LTAUnubar",0.0927,"MPplus","MP","MP","LTAUnubar",0.00081,"MKplus","MP","MP","LTAUnubar",0.0114,"MPplus","MP","MP","MP","LTAUnubar",0.00050,"MKplus","MP","MP","MP","LTAUnubar",0.000000077,"MPplus","MK","LTAUnubar",0.00155,"MKplus","MKbar","LTAUnubar",0.0000041,"MPplus","MK","MP","LTAUnubar",0.00138,"MKplus","MKbar","MP","LTAUnubar",0.00101,"MPplus","MKbar","MK","LTAUnubar",0.1409,"MPplus","MPminus","MPplus","LTAUnubar",0.0039,"MKplus","MPminus","MPplus","LTAUnubar",0.0037,"MKplus","MKminus","MPplus","LTAUnubar",0.00171,"ME","MPplus","MP","LTAUnubar",0.00026,"ME","MKplus","LTAUnubar")LTAUnuDecay = new Array(0.999999999,"LTAUnu")LTAUnubarDecay = new Array(0.999999999,"LTAUnubar")electron=new Array("LEminus","eminus.gif","electron",LEminusDecay )positron=new Array("LEplus","eplus.gif","positron",LEplusDecay)electronNeutrino=new Array("LEnu","nue.gif","electron neutrino", LEnuDecay)electronAntiNeutrino=new Array("LEnubar","nuebar.gif","electron anti-neutrino", LEnubarDecay)negativeMuon=new Array("LMUminus","muminus.gif","negative muon", LMUminusDecay)positiveMuon=new Array("LMUplus","muplus.gif","positive muon", LMUplusDecay)muonNeutrino=new Array("LMUnu","numu.gif","muon neutrino", LMUnuDecay)muonAntiNeutrino=new Array("LMUnubar","numubar.gif","muon anti-neutrino", LMUnubarDecay)negativeTauLepton=new Array("LTAUminus","tauminus.gif","negative tau", LTAUminusDecay)positiveTauLepton=new Array("LTAUplus","tauplus.gif","positive tau", LTAUplusDecay)tauNeutrino=new Array("LTAUnu","nutau.gif","tau neutrino", LTAUnuDecay)tauAntiNeutrino=new Array("LTAUnubar","nutaubar.gif","tau anti-neutrino", LTAUnubarDecay)gammaDecay = new Array(0.999999999,"BosGamma")gamma=new Array("BosGamma","gamma.gif","photon",gammaDecay)particleCands=new Array(	proton,antiProton,neutron,antiNeutron,	lambda,antiLambda,	sigmaPlus,antiSigmaPlus,sigma,antiSigma,sigmaMinus,antiSigmaMinus,	xi,antiXi,xiMinus,antiXiMinus,	omegaMinus,antiOmegaMinus,	positivePion,negativePion,neutralPion,	positiveKaon,negativeKaon,neutralKaon,antiNeutralKaon,	eta,	positron,electron,electronNeutrino,electronAntiNeutrino,	positiveMuon,negativeMuon,muonNeutrino,muonAntiNeutrino,	positiveTauLepton,negativeTauLepton,tauNeutrino,tauAntiNeutrino,	gamma)function resetForm(form){	form.reset()	balanced=false	defaultStatus=""	for(i=menuEnd;i<document.images.length;i++){		document.images[i].src="blank.gif"	}}function adP(particleLabel,ensN){	arry=particleCands	if(ensN==1){		for(i=menuEnd;i<document.images.length;i++){			document.images[i].src="blank.gif"		}	}	for(i=0;i<arry.length;i++){		if(arry[i][0]==particleLabel){			if(ensN==1){				document.images[menuEnd].src=arry[i][1]				document.images[menuEnd+1].src="yields.gif"			}			totalProb=0			for(j=0;j<arry[i][3].length;j++){				x=arry[i][3][j].toString().charAt(0)				if(x=="0"||x=="."){					totalProb+=eval(arry[i][3][j])				}			}			//alert(totalProb)			randSeed=Math.random()			LB=0			for(j=0;j<arry[i][3].length;j++){				x=arry[i][3][j].toString().charAt(0)				if(x=="0"||x=="."){					normedValue=arry[i][3][j]/totalProb+LB					if(normedValue>randSeed&&randSeed>LB){						observedDecayAddress=j						if(ensN!=1){						tabEns(particleLabel,observedDecayAddress)							break						}						step=0						for(k=j+1;k<arry[i][3].length;k++){							step+=1							y=arry[i][3][k].toString().charAt(0)							if(y=="0"||y=="."){break}							if(y!="0"&&y!="."&&ensN==1){								showDecay(arry[i][3][k],step)							}						}					}					LB=normedValue				}			}		}	}}function showDecay(particleTag,step){	for(n=0;n<particleCands.length;n++){		if(particleCands[n][0]==particleTag){			m=menuEnd+step+1			document.images[m].src=particleCands[n][1]		}	}}function runEns(ensN){	decayNumber=0	ensArray=new Array(ensN)	x=document.images[menuEnd].src	y=x.lastIndexOf("/")+1	z=x.substring(y,x.length)	if(z!="blank.gif"){		for(q=0;q<particleCands.length;q++){			if(particleCands[q][1]==z){				w=particleCands[q][0]				particleArray=particleCands[q]				for(r=1;r<ensN+1;r++){					status="Collecting data..."+r+"/"+ensN					adP(w,ensN)				}			}		}		ensArray=sortTheArray(ensArray)		//alert(ensArray)		ensArray=digestArray(ensArray)		//alert(ensArray)		ensDisplay(ensArray,particleArray,ensN,particleCands)	}}function ensDisplay(ensArray,particleArray,ensN,particleCands){	document.open("text/html")	document.bgColor="ffffff"	document.write("Go back.".link("javascript:history.back()"))	document.write("<br>")	numberOfDecays=(ensArray.length)/2	for(j=0;j<numberOfDecays;j++){		startImage=particleArray[1]		bRatio=ensArray[(j*2)+1]+"&nbsp;&nbsp;&nbsp;&nbsp;"		document.write("<font size=+3>"+bRatio+"</font>")		document.write("<img src="+startImage)		document.write(" height=60 width=35></img>")		document.write("&nbsp;&nbsp;&nbsp;&nbsp;")		document.write("<img src=yields.gif")		document.write(" height=60 width=35></img>")		document.write("&nbsp;&nbsp;&nbsp;&nbsp;")		for(i=0;i<6;i++){			tentAd=eval(ensArray[j*2])+i+1			nextPart=particleArray[3][tentAd]			if(nextPart==null){break}			if(nextPart!=null){				if(nextPart.toString().charAt(0)=="0"				||nextPart.toString().charAt(0)=="."				){					break				}			}			for(s=0;s<particleCands.length;s++){				if(particleCands[s][0]==nextPart){					nextPart=particleCands[s][1]				}			}			document.write("<img src="+nextPart)			document.write(" blank.gif height=60")			document.write(" width=35></img>")			//document.write("&nbsp;&nbsp;&nbsp;&nbsp;")		}		document.write("<br>")	}	document.close()	defaultStatus=""}function digestArray(undigestedArray){	digestedArrayString=","	oldItem=undigestedArray[0]	itemCount=0	for(i=0;i<undigestedArray.length;i++){		if(undigestedArray[i]==oldItem){			itemCount++		}		if(undigestedArray[i]!=oldItem){			digestedArrayString+=oldItem+","+itemCount+","			oldItem=undigestedArray[i]			itemCount=1		}		if(i==undigestedArray.length-1){			digestedArrayString+=oldItem+","+itemCount+","		}	}	digestedArrayLength=0	for(h=0;h<digestedArrayString.length;h++){		if(digestedArrayString.charAt(h)==","){digestedArrayLength++}	}	digestedArray=new Array(digestedArrayLength-1)	dAAddress=0	for(h=0;h<digestedArrayString.length-1;h++){		if(digestedArrayString.charAt(h)==","){			x=digestedArrayString.substring(h+1,digestedArrayString.length)			y=x.substring(0,x.indexOf(","))			digestedArray[dAAddress]=y			dAAddress++		}	}	digestedArrayString=digestedArrayString.substring(1,digestedArrayString.length)	return digestedArray}function sortTheArray(unsortedArray){	sortedArray=new Array(unsortedArray.length)	unsortedArray1=new Array(unsortedArray.length)	modeArray=new Array()	modeCountArray=new Array()	for(i=0;i<unsortedArray.length;i++){		unsortedArray1[i]=unsortedArray[i]	}	k=0	for(i=0;i<unsortedArray1.length;i++){		if(unsortedArray1[i]!=null){			decayMode=unsortedArray1[i]			modeArray[k]=unsortedArray1[i];k++			modeCountArray[k-1]=0			for(j=0;j<unsortedArray1.length;j++){				if(unsortedArray1[j]==decayMode){					unsortedArray1[j]=null					modeCountArray[k-1]++				}			}		}	}	k=0	for(i=0;i<modeArray.length;i++){		for(j=0;j<modeCountArray[i];j++){			sortedArray[k]=modeArray[i]			k++		}	}	return sortedArray}function tabEns(particleLabel,observedDecayAddress){	ensArray[decayNumber]=observedDecayAddress	decayNumber++}function menuWrite(){	document.bgColor="ffffff"	menuEnd=0	for(j=0;j<particleCands.length;j++){		x=particleCands[j][0].charAt(0);y=particleCands[j][0].charAt(1)		if(x=="B"&&y!="o"){			menuEnd++			z=particleCands[j][1]			mapname=particleCands[j][0]+"map"			document.write("<img border=0 src="+z+" usemap=#"+mapname+"></img>&nbsp")			document.write("<map name="+mapname+">")			document.write("<area shape=rect coords=0,0,35,60 href=javascript:adP('"+particleCands[j][0]+"',1)>")			document.write("</map>")		}	}	document.write("<br>")	for(j=0;j<particleCands.length;j++){		x=particleCands[j][0].charAt(0)		if(x=="M"){			menuEnd++			z=particleCands[j][1]			mapname=particleCands[j][0]+"map"			document.write("<img border=0 src="+z+" usemap=#"+mapname+"></img>&nbsp;&nbsp")			document.write("<map name="+mapname+">")			document.write("<area shape=rect coords=0,0,35,60 href=javascript:adP('"+particleCands[j][0]+"',1)>")			document.write("</map>")		}	}	document.write("<br>")	for(j=0;j<particleCands.length;j++){		x=particleCands[j][0].charAt(0)		if(x=="L"){			menuEnd++			z=particleCands[j][1]			mapname=particleCands[j][0]+"map"			document.write("<img border=0 src="+z+" usemap=#"+mapname+"></img>&nbsp")			document.write("<map name="+mapname+">")			document.write("<area shape=rect coords=0,0,35,60 href=javascript:adP('"+particleCands[j][0]+"',1)>")			document.write("</map>")		}	}	document.write("&nbsp;&nbsp;&nbsp;&nbsp;")	document.write("&nbsp;&nbsp;&nbsp;&nbsp;")	document.write("&nbsp;&nbsp;&nbsp;&nbsp;")	for(j=0;j<particleCands.length;j++){		x=particleCands[j][0].charAt(0);y=particleCands[j][0].charAt(1)		if(x=="B"&&y=="o"){			menuEnd++			z=particleCands[j][1]			mapname=particleCands[j][0]+"map"			document.write("<img border=0 src="+z+" usemap=#"+mapname+"></img>")			document.write("<map name="+mapname+">")			document.write("<area shape=rect coords=0,0,35,60 href=javascript:adP('"+particleCands[j][0]+"',1)>")			document.write("</map>")		}	}	document.write("<form name=partDecay>")	document.write("<input type=button value=CLEAR onClick=resetForm(form)></input>")	if(document.title=="Particle Decay Sampler"){		document.write("<input type=button value='SAMPLE 10' onClick=runEns(10)></input>")		document.write("<input type=button value='SAMPLE 100' onClick=runEns(100)></input>")		document.write("<input type=button value='SAMPLE 1000' onClick=runEns(1000)></input>")	}	document.write("</form>")	document.write("<img src=blank.gif height=60 width=35></img>")	document.write("&nbsp;&nbsp;&nbsp;&nbsp;")	document.write("<img src=blank.gif height=60 width=35></img>")	document.write("&nbsp;&nbsp;&nbsp;&nbsp;")	for(i=0;i<8;i++){		document.write("<img src=blank.gif height=60 width=35></img>")		document.write("&nbsp;&nbsp;&nbsp;&nbsp;")	}}menuWrite()