added heliosmatics.html

This commit is contained in:
Ryan@fsunuc 2022-12-13 18:24:26 -05:00
parent 0128789b91
commit 58553b86d5
6 changed files with 570 additions and 53 deletions

View File

@ -35,7 +35,7 @@ temp = lc_read_csv(query);
print( "Content-type:text/html\r\n\r\n") print( "Content-type:text/html\r\n\r\n")
print("<html>") print("<html>")
print("<style> body { font-family: courier, courier new, serif;} </style>") print("<style> body { font-family: courier, courier new, serif; color: #F7CF3C; } </style>")
print("<body>") print("<body>")
print("<br>========================= " + AZ ) print("<br>========================= " + AZ )
@ -67,12 +67,12 @@ except :
import os, subprocess import os, subprocess
os.chdir(r"files") os.chdir(r"files")
result=subprocess.run(['../Cleopatra/Isotope', AZ], stdout=subprocess.PIPE).stdout.decode('utf-8') result=subprocess.run(['../Cleopatra/IsotopeShort', AZ], stdout=subprocess.PIPE).stdout.decode('utf-8')
p1 = result.find('S1n:') p1 = result.find('Sn:')
print("<br>" + result[p1:p1+13]) print("<br>" + result[p1:p1+16])
p1 = result.find('S1p') p1 = result.find('Sp')
print("<br>" + result[p1:p1+13]) print("<br>" + result[p1:p1+16])
p1 = result.find('S(4He)') p1 = result.find('Sa')
print("<br>" + result[p1:p1+16]) print("<br>" + result[p1:p1+16])
print("<br>=============================") print("<br>=============================")

451
heliosmatics.html Normal file
View File

@ -0,0 +1,451 @@
<!DOCTYPE html>
<html>
<head>
<title>Heliosmatics</title>
<meta name="description" content="HELIOSMATICS was first build by Ben P. Kay in MS Excel around 2010. Later, it was modified by Ryan Tang. Now, it migrate to web.">
<script src="https://cdn.plot.ly/plotly-2.16.1.min.js"></script>
</head>
<style>
body{
font-family: Arial, Helvetica, sans-serif;
}
</style>
<body>
<h1>HELIOSmatics (experimental...)</h1>
<h3 id='reactionName'> 24F(d,p)25F@10MeV/u</h3>
<table>
<tr>
<td>
<input type="radio" name="SSType" id='HELIOS' value="HELIOS"/>HELIOS
</td>
<td>
<input type="radio" name="SSType" id='SOLARIS' value="SOLARIS" checked="checked"/>SOLARIS
</td>
<td>
<input type="radio" name="SSType" id='ISS' value="ISS"/>ISS
</td>
</tr>
</table>
<p></p>
<table id="setting">
<tr>
<td style="text-align:right"> Beam (A):</td>
<td><Input type="text" size="7" value="24F" id="beam"/></td>
<td style="text-align:right"> Beam Ex:</td>
<td><Input type="text" size="7" value="0" id="beamEx"/></td>
<td>MeV</td>
</tr>
<tr>
<td style="text-align:right"> Target (a):</td>
<td><Input type="text" size="7" value="d" id="target"/></td>
<td style="text-align:right"> Beam Energy:</td>
<td><Input type="text" size="7" value="10" id="KEA"/></td>
<td>MeV/u</td>
</tr>
<tr>
<td style="text-align:right"> Light (b):</td>
<td><Input type="text" size="7" value="p" id="light"/></td>
<td style="text-align:right"> min Beam Energy:</td>
<td id='minKEA'>-1.107</td>
<td>MeV/u</td>
</tr>
<tr>
<td style="text-align:right"> Heavy (B):</td>
<td id='heavyName'>25F</td>
<td style="text-align:right"> Q-value:</td>
<td id='Q-value'>2.057</td>
<td>MeV</td>
</tr>
<tr></tr>
<tr>
<td style="text-align:right"> B-field:</td>
<td><Input type="text" size="7" value="2" id="BField"/></td>
<td>T</td>
</tr>
<tr>
</tr>
</table>
<table id="ExTable", style="border:1px solid">
<tr>
<td> E<sub>x</sub> [MeV]</td>
<td> &theta;<sub>cm</sub>[deg]</td>
<td>E<sub>b</sub>[MeV]</td>
<td>Z<sub>b0</sub>[mm]</td>
<td>Z<sub>b</sub>[mm]</td>
<td>2*&rho;<sub>b</sub>[mm]</td>
<td>&theta;Lab<sub>b</sub>[deg]</td>
<td>T<sub>b</sub>[ns]</td>
<td>E<sub>B</sub>[MeV]</td>
<td>&theta;Lab<sub>B</sub>[deg]</td>
<td>Z<sub>B0</sub>/2[mm]</td>
<td>2*&rho;<sub>B</sub>[mm]</td>
</tr>
</tr>
<td><input type="text" id='Ex1' name="Ex" size="7" value="0"/></td>
<td><input type="text" id='theta1' name="thetaCM" size="7" value="10"/></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><button type="button" onclick="addRow()">Add E<sub>x</sub></button></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td><button type="button" onclick="deleteRow()">Remove E<sub>x</sub></button></td>
</tr>
</table>
<div id="Plot_EZ" style="width:600px;height:600px;"></div>
<p id='x1'></p>
<p id='y1'></p>
<!--
<p id="n0"></p>
<p id="n1"></p>
<p id="n2"></p>
<p id="n3"></p>
<p id='beam_k_lab'></p>
<p id='E_tot_cm'></p>
<p id='KE_cm'></p>
<p id='max_Ex'></p>
<p id='beta'></p>
<p id='gamma'></p>
<p id='msg'></p>
-->
</body>
<script>
function addRow() {
var table = document.getElementById("ExTable");
var nRow = table.rows.length;
var row = table.insertRow(nRow-1);
row.innerHTML = '<td><input type="text" name="Ex" size="7" value=\"' + (nRow-2) + '\" id=\"Ex' + (nRow-1) + '\"/></td> \
<td><input type="text" name="thetaCM" size="7" value=\"10\" id=\"theta' + (nRow-1) + '\"/></td> \
<td></td> \
<td></td> \
<td></td> \
<td></td> \
<td></td> \
<td></td> \
<td></td> \
<td></td> \
<td></td> \
<td></td>';
Calculation();
}
function deleteRow(){
var table = document.getElementById("ExTable");
var nRow = table.rows.length;
if ( nRow > 3){
table.deleteRow(nRow-2);
}
Calculation();
}
var beam = []; //A, Z, Mass
var target= [];
var light=[];
var heavy=[];
function GetMass(AZ, id){
var str = 'massProxy.py?AZ=' + AZ;
var client = new XMLHttpRequest();
client.onreadystatechange = function() {
var mass = client.responseText.split(",");
if( id == 0 ){
beam[0] = parseInt(mass[0]);
beam[1] = parseInt(mass[1]);
beam[2] = parseFloat(mass[2]);
}
if( id == 1 ){
target[0] = parseInt(mass[0]);
target[1] = parseInt(mass[1]);
target[2] = parseFloat(mass[2]);
}
if( id == 2 ){
light[0] = parseInt(mass[0]);
light[1] = parseInt(mass[1]);
light[2] = parseFloat(mass[2]);
}
}
client.open('GET', str, false);
client.send();
}
function GetMass2(A,Z){
var str = 'massProxy.py?A=' + A + '&Z=' + Z;
var client = new XMLHttpRequest();
client.onreadystatechange = function() {
var mass = client.responseText.split(",");
heavy[2] = parseFloat(mass[2]);
heavy[3] = mass[3].replace(/\s/g, '');
}
client.open('GET', str, false);
client.send();
}
function Plot(data, titleTxt, rangeX, rangeY){
}
function Calculation(){
var beam_AZ = document.getElementById('beam').value;
GetMass(beam_AZ, 0);
var target_AZ = document.getElementById('target').value;
GetMass(target_AZ, 1);
var light_AZ = document.getElementById('light').value;
GetMass(light_AZ, 2);
heavy[0] = beam[0]+target[0]-light[0];
heavy[1] = beam[1]+target[1]-light[1];
GetMass2(heavy[0], heavy[1]);
heavy_AZ = heavy[3];
var beamEx = parseFloat(document.getElementById('beamEx').value);
var BField = parseFloat(document.getElementById('BField').value);
var KEA = document.getElementById('KEA').value;
var KE = KEA * beam[0];
var reactionName = beam_AZ +"(" + target_AZ + "," + light_AZ + ")" + heavy_AZ + "@" + KEA + "MeV/u";
document.getElementById('reactionName').innerHTML = reactionName;
var Qvalue = - heavy[2] - light[2] + beam[2] + target[2] + beamEx;
var minKEA = (Math.pow(light[2] + heavy[2],2) - Math.pow(beam[2] + target[2],2))/2/target[2]/beam[0];
var helios = document.getElementById('HELIOS').checked;
var solaris = document.getElementById('SOLARIS').checked;
var iss = document.getElementById('ISS').checked;
var perpDistant = 11.5; //mm, detector prepdicular distance
var bore = 462.0; // mm
//if ( solaris == true ){
//
//}
if ( iss == true ){
perpDistant = 20;
}
var beam_k_lab = Math.sqrt(Math.pow(beam[2]+KE,2) - Math.pow(beam[2],2));
var E_tot_cm = Math.sqrt(Math.pow(target[2]+beam[2],2) + 2*target[2]*KE);
var KE_cm = E_tot_cm - beam[2] - target[2];
var max_Ex = KE_cm + Qvalue;
var beta = beam_k_lab/(beam[2] + target[2] + KE);
var gamma = 1./Math.sqrt(1-beta*beta);
document.getElementById('heavyName').innerHTML = heavy_AZ;
document.getElementById('minKEA').innerHTML = minKEA.toFixed(3);
document.getElementById('Q-value').innerHTML = Qvalue.toFixed(3);
/*
document.getElementById('n0').innerHTML = beam[0] + "," + beam[1] + "," + beam[2]
document.getElementById('n1').innerHTML = target[0] + "," + target[1] + "," + target[2]
document.getElementById('n2').innerHTML = light[0] + "," + light[1] + "," + light[2]
document.getElementById('n3').innerHTML = heavy[0] + "," + heavy[1] + "," + heavy[2]
document.getElementById('beam_k_lab').innerHTML = beam_k_lab;
document.getElementById('E_tot_cm').innerHTML = E_tot_cm;
document.getElementById('max_Ex').innerHTML = max_Ex;
document.getElementById('KE_cm').innerHTML = KE_cm;
document.getElementById('beta').innerHTML = beta;
document.getElementById('gamma').innerHTML = gamma;
*/
const c = 299.792468;
var ez_slope = BField * c * light[1]*beta/2/Math.PI/1000; // MeV/mm
var alpha = ez_slope/beta;
var alpha_B = alpha * heavy[1]/light[1];
var tableEx = document.getElementById("ExTable");
var nRow = tableEx.rows.length;
var xList =[];
var yList =[];
for( let i = 1; i < nRow-1; i++){
let Ex = parseFloat(document.getElementById("Ex" + i).value);
let theta = parseFloat(document.getElementById("theta" + i).value);
let haha1 = E_tot_cm*E_tot_cm - Math.pow(heavy[2] + Ex + light[2],2);
let haha2 = E_tot_cm*E_tot_cm - Math.pow(heavy[2] + Ex - light[2],2);
let k_cm = Math.sqrt(haha1*haha2)/2/E_tot_cm;
let cs = Math.cos(theta*Math.PI/180.);
let ss = Math.sin(theta*Math.PI/180.);
let qb = Math.sqrt(light[2]*light[2]+k_cm*k_cm);
let Eb = gamma * qb - gamma * beta * k_cm * cs - light[2];
let Zb0 = (gamma*beta* qb - gamma * k_cm * cs )/alpha; //mm
let rho = k_cm * ss/c/light[1]/BField * 1000; // mm
let Zb = Zb0 * (1- Math.asin(perpDistant/rho)/2/Math.PI);
let thetaLab = 180 - Math.atan2(k_cm * ss, gamma * (beta * qb - k_cm * cs)) * 180/Math.PI;
let Tcyc = (light[2] + Eb)/alpha/c;
tableEx.rows[i].cells[2].innerHTML = Eb.toFixed(3);
tableEx.rows[i].cells[3].innerHTML = Zb0.toFixed(1);
tableEx.rows[i].cells[4].innerHTML = Zb.toFixed(1);
tableEx.rows[i].cells[5].innerHTML = (2*rho).toFixed(1);
tableEx.rows[i].cells[6].innerHTML = thetaLab.toFixed(2);
tableEx.rows[i].cells[7].innerHTML = Tcyc.toFixed(2);
let qB = Math.sqrt(heavy[2]*heavy[2]+k_cm*k_cm);
let EB = gamma * qB + gamma * beta * k_cm * cs - heavy[2];
let thetaLab_B = Math.atan2(-k_cm * ss, gamma * (beta * qB + k_cm * cs)) * 180/Math.PI;
let ZB0 = (gamma*beta* qB + gamma * k_cm * cs )/alpha_B; //mm
let rhoB = k_cm * ss/c/heavy[1]/BField * 1000; // mm
tableEx.rows[i].cells[8].innerHTML = EB.toFixed(3);
tableEx.rows[i].cells[9].innerHTML = thetaLab_B.toFixed(2);
tableEx.rows[i].cells[10].innerHTML = (ZB0/2).toFixed(2);
tableEx.rows[i].cells[11].innerHTML = (2*rhoB).toFixed(2);
var xxx = [];
var yyy = [];
for( let j = 0; j < 100 ; j++){
let thetaCM = Math.PI/Math.log10(100) * Math.log10(100/(100-j)) ;
let temp = 2* Math.PI * ez_slope / beta / k_cm * perpDistant / Math.sin(thetaCM);
if( !isFinite(temp) ) continue;
let pxTemp = beta /ez_slope * (gamma * beta * qb - gamma * k_cm * Math.cos(thetaCM)) * (1 - Math.asin(temp)/Math.PI/2) ;
let pyTemp = gamma * qb - light[2] - gamma * beta * k_cm * Math.cos(thetaCM);
if( !isNaN(pxTemp) && !isNaN(pyTemp) ){
xxx.push(pxTemp);
yyy.push(pyTemp);
}
};
xList.push(xxx);
yList.push(yyy);
};
///------------- generate plot
for( let i = 1; i < nRow-1; i++){
if( i == 1 ){
var data = [
{ x : xList[0], y : yList[0], mode:"lines", type:"scatter"}
];
var layout = {
xaxis: {range: [-700, 0], title: "Z [mm]", mirror : "allticks", linewidth : "1"},
yaxis: {range: [0, 10], title: "Energy [MeV]" , mirror : "allticks", linewidth : "1"},
title: reactionName
};
Plotly.newPlot( "Plot_EZ", data, layout );
}else{
Plotly.addTraces("Plot_EZ", {x : xList[i-1], y: yList[i-1]});
}
}
}
document.getElementById('beam').addEventListener('keypress',
function(e){
if(e.keyCode == 13){
Calculation();
}
}, false
);
document.getElementById('target').addEventListener('keypress',
function(e){
if(e.keyCode == 13){
Calculation();
}
}, false
);
document.getElementById('light').addEventListener('keypress',
function(e){
if(e.keyCode == 13){
Calculation();
}
}, false
);
document.getElementById('BField').addEventListener('keypress',
function(e){
if(e.keyCode == 13){
Calculation();
}
}, false
);
document.getElementById('beamEx').addEventListener('keypress',
function(e){
if(e.keyCode == 13){
Calculation();
}
}, false
);
document.getElementById('KEA').addEventListener('keypress',
function(e){
if(e.keyCode == 13){
Calculation();
}
}, false
);
window.logMeThis = function(msg){
Calculation();
}
var FuncEx = window.logMeThis.bind(null, "Ex");
window.addEventListener('keypress', FuncEx);
var FuncThetaCM = window.logMeThis.bind(null, "thetaCM");
window.addEventListener('keypress', FuncThetaCM);
var FuncThetaCM = window.logMeThis.bind(null, "SSType");
window.addEventListener('click', FuncThetaCM);
Calculation();
</script>
<html>

View File

@ -50,6 +50,8 @@
margin-left : 0; margin-left : 0;
} }
article { article {
float: left;
margin-left : 0px;
width: 100%; width: 100%;
height: 100vh; height: 100vh;
margin-left : 0; margin-left : 0;
@ -157,6 +159,10 @@
<td style="text-align:right"> &nbsp;&nbsp;Misc. Calulations : </td> <td style="text-align:right"> &nbsp;&nbsp;Misc. Calulations : </td>
<td><a href="miscCal.html" target="uploaded">Click Here.</a></td> <td><a href="miscCal.html" target="uploaded">Click Here.</a></td>
</tr> </tr>
<tr>
<td style="text-align:right"> HELIOSmatics : </td>
<td><a href="heliosmatics.html" target="uploaded">Click Here.</a></td>
</tr>
<table> <table>
<p></p><!-- ////////////////////////////////////////// --> <p></p><!-- ////////////////////////////////////////// -->

58
massProxy.py Executable file
View File

@ -0,0 +1,58 @@
#!/usr/bin/python3
import cgi, cgitb
form = cgi.FieldStorage()
AZ = form.getvalue('AZ')
A=form.getvalue('A')
Z=form.getvalue('Z')
import os, subprocess
os.chdir(r"files")
result = "";
if 'AZ' in form:
result=subprocess.run(['../Cleopatra/IsotopeShort', AZ], stdout=subprocess.PIPE).stdout.decode('utf-8')
if 'A' in form:
result=subprocess.run(['../Cleopatra/IsotopeShort', A, Z], stdout=subprocess.PIPE).stdout.decode('utf-8')
print( "Content-type:text/html\r\n\r\n")
#print("<html>")
#print("<body>")
if result != "":
pA = result.find('A:')
pZ = result.find('Z:')
p1 = result.find('Mass:')
p2 = result.find('Name:')
p2a = result.find('|')
print(int(result[pA+2:pA+5]), ",", int(result[pZ+2:pZ+5]), ",", float(result[p1+5:p1+13+5]), ",", result[p2+5: p2a])
else:
print("error");
#print("<br>" + result[p1:p1+13+5])
#p1 = result.find('Sn:')
#print("<br>" + result[p1:p1+16])
#p1 = result.find('Sp')
#print("<br>" + result[p1:p1+16])
#p1 = result.find('Sa')
#print("<br>" + result[p1:p1+16])
#print("<br>=============================")
#print("</body>")
#print("</html>")
#import plotly.express as px
#fig = px.scatter(x=range(10), y = range(10))
#fig.write_html("test.html")

View File

@ -4,25 +4,34 @@ import cgi, cgitb
import subprocess import subprocess
def findName(A, Z): def FindName(A, Z):
result = subprocess.run(["../Cleopatra/Isotope", str(A), str(Z)], stdout=subprocess.PIPE).stdout.decode('utf-8') result = subprocess.run(["../Cleopatra/IsotopeShort", str(A), str(Z)], stdout=subprocess.PIPE).stdout.decode('utf-8')
ppp1 = result.find('31m') ppp1 = result.find('Name:')
ppp2 = result.find('[m') ppp2 = result.find('|')
return result[ppp1+3:ppp2-1] return result[ppp1+5:ppp2]
def FindAZ(AZ):
result = subprocess.run(["../Cleopatra/IsotopeShort", AZ], stdout=subprocess.PIPE).stdout.decode('utf-8')
pA = result.find('A:')
pZ = result.find('Z:')
return [int(result[pA+2:pA+5]), int(result[pZ+2:pZ+5])]
form = cgi.FieldStorage() form = cgi.FieldStorage()
beam_A = form.getvalue('beam_A') beam_AZ = form.getvalue('beam_AZ')
beam_Z = form.getvalue('beam_Z') #beam_A = form.getvalue('beam_A')
#beam_Z = form.getvalue('beam_Z')
beam_Jpi = form.getvalue('beam_Jpi') beam_Jpi = form.getvalue('beam_Jpi')
beam_Ex = form.getvalue('beam_Ex') beam_Ex = form.getvalue('beam_Ex')
target_A = form.getvalue('target_A') target_AZ = form.getvalue('target_AZ')
target_Z = form.getvalue('target_Z') #target_A = form.getvalue('target_A')
#target_Z = form.getvalue('target_Z')
lRecoil_A = form.getvalue('lRecoil_A') lRecoil_AZ = form.getvalue('lRecoil_AZ')
lRecoil_Z = form.getvalue('lRecoil_Z') #lRecoil_A = form.getvalue('lRecoil_A')
#lRecoil_Z = form.getvalue('lRecoil_Z')
KEA = form.getvalue('KEA') KEA = form.getvalue('KEA')
BField = form.getvalue('BField') BField = form.getvalue('BField')
@ -51,15 +60,19 @@ gate = form.getvalue('gate')
os.chdir(r"files") os.chdir(r"files")
#================== write reactionConfig.txt #================== write reactionConfig.txt
beam = FindAZ(beam_AZ)
target = FindAZ(target_AZ)
lRecoil = FindAZ(lRecoil_AZ)
fn1 = "sim_reactionConfig.txt" fn1 = "sim_reactionConfig.txt"
f = open(fn1, "w") f = open(fn1, "w")
f.write("%s //beam_A\n" % beam_A) f.write("%s //beam_A\n" % beam[0])
f.write("%s //beam_Z\n" % beam_Z) f.write("%s //beam_Z\n" % beam[1])
f.write("%s //target_A\n" % target_A) f.write("%s //target_A\n" % target[0])
f.write("%s //target_Z\n" % target_Z) f.write("%s //target_Z\n" % target[1])
f.write("%s //recoil_light_A\n" % lRecoil_A) f.write("%s //recoil_light_A\n" % lRecoil[0])
f.write("%s //recoil_light_Z\n" % lRecoil_Z) f.write("%s //recoil_light_Z\n" % lRecoil[1])
f.write("%.3f //beam_energy_in_MeV/u\n" % float(KEA)) f.write("%.3f //beam_energy_in_MeV/u\n" % float(KEA))
f.write("0.000 //beam_energy_sigma_in_MeV/u\n") f.write("0.000 //beam_energy_sigma_in_MeV/u\n")
f.write("0.000 //beam_angle_in_mrad\n") f.write("0.000 //beam_angle_in_mrad\n")
@ -124,6 +137,7 @@ f.close()
#================== if DWBA, write DWBA.txt, else write Ex.txt #================== if DWBA, write DWBA.txt, else write Ex.txt
fn4 = "sim_DWBA.txt" fn4 = "sim_DWBA.txt"
'''
beamName="" beamName=""
hRecoil_A = int(beam_A) + int(target_A) - int(lRecoil_A) hRecoil_A = int(beam_A) + int(target_A) - int(lRecoil_A)
hRecoil_Z = int(beam_Z) + int(target_Z) - int(lRecoil_Z) hRecoil_Z = int(beam_Z) + int(target_Z) - int(lRecoil_Z)
@ -158,16 +172,14 @@ if lRecoil_A == "3" and lRecoil_Z == "2":
lRecoilName="3He" lRecoilName="3He"
if lRecoil_A == "4" and lRecoil_Z == "2": if lRecoil_A == "4" and lRecoil_Z == "2":
lRecoilName="a" lRecoilName="a"
'''
hRecoil = [ beam[0] + target[0] - lRecoil[0], beam[1] + target[1] - lRecoil[1] ]
hRecoil_AZ = FindName(hRecoil[0], hRecoil[1]);
if isDWBA : if isDWBA :
#===== check if the reaction DWBA support
if targetName=="" or lRecoilName=="" :
isDWBA = False
else:
#===== find the symbol of Beam #===== find the symbol of Beam
beamName=findName(beam_A, beam_Z) reactionName = beam_AZ + "(" + target_AZ +","+lRecoil_AZ+")" + hRecoil_AZ;
hRecoilName=findName(hRecoil_A, hRecoil_Z)
reactionName = beamName + "(" + targetName +","+lRecoilName+")" + hRecoilName;
f = open(fn4, "w") f = open(fn4, "w")

View File

@ -19,16 +19,12 @@
<table> <table>
<tr> <tr>
<td>Beam Energy</td> <td>Beam Energy</td>
<td></td>
<td><input type = "text" name = "KEA" size="5" value="10"/></td> <td><input type = "text" name = "KEA" size="5" value="10"/></td>
<td style="text-align:left">MeV/u</td> <td style="text-align:left">MeV/u</td>
</tr> </tr>
<tr> <tr>
<td>Beam </td> <td>Beam </td>
<td style="text-align:right">A:</td> <td><input type = "text" name = "beam_AZ" size="5" value="16O"/></td>
<td><input type = "text" name = "beam_A" size="5" value="16"/></td>
<td style="text-align:right">Z:</td>
<td><input type = "text" name = "beam_Z" size="5" value="8"/></td>
<td style="text-align:right">J<sup>&pi;</sup></td> <td style="text-align:right">J<sup>&pi;</sup></td>
<td><input type = "text" name = "beam_Jpi" size="5" value="0+"/><td> <td><input type = "text" name = "beam_Jpi" size="5" value="0+"/><td>
<td style="text-align:right">Ex:</td> <td style="text-align:right">Ex:</td>
@ -37,17 +33,11 @@
</tr> </tr>
<tr> <tr>
<td>Target</td> <td>Target</td>
<td style="text-align:right">A:</td> <td><input type = "text" name = "target_AZ" size="5" value="d"/></td>
<td><input type = "text" name = "target_A" size="5" value="2"/></td>
<td style="text-align:right">Z:</td>
<td><input type = "text" name = "target_Z" size="5" value="1"/></td>
</tr> </tr>
<tr> <tr>
<td>Light recoil</td> <td>Light recoil</td>
<td style="text-align:right">A:</td> <td><input type = "text" name = "lRecoil_AZ" size="5" value="p"/></td>
<td><input type = "text" name = "lRecoil_A" size="5" value="1"/></td>
<td style="text-align:right">Z:</td>
<td><input type = "text" name = "lRecoil_Z" size="5" value="1"/></td>
</tr> </tr>
</table> </table>