some UI change on add Ex

This commit is contained in:
Ryan@fsunuc 2023-01-17 16:05:37 -05:00
parent 6704bf7944
commit a57183f8bb
15 changed files with 1760 additions and 56 deletions

View File

@ -3,7 +3,7 @@
<head>
<title>Heliosmatics</title>
<meta name="description" content="HELIOSmatics was first built by Ben P. Kay in MS Excel around 2010. Later, it was modified by Ryan Tang. Now, it migrates to web.">
<link rel="icon" type="image/x-icon" href="SOLARIS_favicon.png">
<link rel="icon" type="image/x-icon" href="logos/SOLARIS_favicon.png">
<script src="https://cdn.plot.ly/plotly-2.16.1.min.js"></script>
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, user-scalable=no, user-scalable=0"/>
</head>
@ -447,12 +447,14 @@ function CopyInputs(){
copyText += inputs[i].value + ", ";
}
}
copyText += document.getElementById('heavyName').innerHTML;
//console.log(copyText);
navigator.clipboard.writeText(copyText).then(
() => {
alert('setting copied to clipboard.\nCan paste it in Monte Carlo simulation.\n' + copyText);
alert('Setting copied to clipboard.\nCan paste it in Monte Carlo simulation.\n' + copyText);
}).catch(
() =>{
alert('Cannot copy.');

542
heliosmatics2.html Normal file
View File

@ -0,0 +1,542 @@
<!DOCTYPE html>
<html>
<head>
<title>Heliosmatics 2</title>
<meta name="description" content="HELIOSmatics was first built by Ben P. Kay in MS Excel around 2010. Later, it was modified by Ryan Tang. Now, it migrates to web.">
<link rel="icon" type="image/x-icon" href="logos/SOLARIS_favicon.png">
<script src="https://cdn.plot.ly/plotly-2.16.1.min.js"></script>
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, user-scalable=no, user-scalable=0"/>
</head>
<style>
body{
font-family: Arial, Helvetica, sans-serif;
//background : #6DB33E;
//background : #F7CF3C;
}
.column{
float : left;
width: 650px;
padding: 0px;
}
.row:after {
content: "";
display: table;
clear: both;
}
.plotStyle{
width:650px;
height:600px;
}
.slider{
width : 400px;
}
.plotSlider{
width: 400px;
}
hr {
height:4px;
background-color:#6DB33E;
border-style:none;
border-width:none;
}
@media screen and (max-width: 1000px) {
.column {
width: 100%;
}
.plotStyle{
width:400px;
height: 370px;
}
.slider{
width: 200px;
}
.plotSlider{
width: 180px;
}
img {
height: 50px;
}
}
</style>
<body">
<h1>HELIOSmatics 2</h1>
<h1 id='reactionName' style="color: #1363A7"> 24F(d,p)25F@10MeV/u</h1>
<table>
<tr>
<td style="text-align:right"> Beam (A):</td>
<td><Input type="text" style="width:60px" value="24F" id="beam" enterkeyhint="done"/></td>
<td style="text-align:right"> Beam Ex:</td>
<td><Input type="text" style="width:60px" value="0" id="beamEx" enterkeyhint="done"/></td>
<td>MeV</td>
<td id='beamSp'></td>
</tr>
<tr>
<td style="text-align:right"> Target (a):</td>
<td><Input type="text" style="width:60px" value="d" id="target" enterkeyhint="done"/></td>
</tr>
<tr>
<td style="text-align:right"> Light (b):</td>
<td><Input type="text" style="width:60px" value="p" id="light" enterkeyhint="done"/></td>
<td style="text-align:right"> Q-value:</td>
<td id='Q-value'>2.057</td>
<td>MeV</td>
</tr>
<tr>
<td style="text-align:right"> Heavy (B):</td>
<td id='heavyName'>25F</td>
</tr>
</table>
<p style="font: 12px" id='heavySp'></p>
<p></p>
<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>
<tr>
<td style="text-align:right"> B-field (abs.):</td>
<td><Input type="text" style="width:60px" value="2" id='BField' enterkeyhint="done"/></td>
<td>T</td>
<td><Input type="range" min="0" max="6" step="0.05" value="2" class="slider" id='BRange'/> </td>
</tr>
<tr>
<td style="text-align:right"> Beam Energy:</td>
<td><Input type="text" style="width:60px" value="10" id='KEA' enterkeyhint="done"/></td>
<td>MeV/u</td>
<td><Input type="range" min="0" max="20" step="0.1" value="10" class="slider" id='KEARange'/> </td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td id='minKEA'> </td>
</tr>
</table>
<p></p>
<table id="ExTable", style="border:1px solid; text-align:center;">
<tr>
<th style="width:85px"> E<sub>x</sub> [MeV]</th>
<th style="width:85px"> &theta;<sub>cm</sub>[deg]</th>
<th style="width:70px">E<sub>b</sub>[MeV]</th>
<th style="width:70px">Z<sub>b0</sub>[mm]</th>
<th style="width:70px">Z<sub>b</sub>[mm]</th>
<th style="width:70px">2&rho;<sub>b</sub>[mm]</th>
<th style="width:70px">&theta;Lab<sub>b</sub>[deg]</th>
<th style="width:60px">T<sub>b</sub>[ns]</th>
<th style="width:70px">E<sub>B</sub>[MeV]</th>
<th style="width:90px">&theta;Lab<sub>B</sub>[deg]</th>
<th style="width:80px">Z<sub>B0</sub>/2[mm]</th>
<th style="width:70px">2&rho;<sub>B</sub>[mm]</th>
</tr>
</tr>
<td><input type="text" id='Ex1' name="Ex" size="8" value="0" enterkeyhint="done"/></td>
<td><input type="text" id='theta1' name="thetaCM" size="8" value="10" enterkeyhint="done"/></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</tr>
<td><input type="text" id='Ex2' name="Ex" size="8" value="1" enterkeyhint="done"/></td>
<td><input type="text" id='theta2' name="thetaCM" size="8" value="40" enterkeyhint="done"/></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()" style="width:85px">Add E<sub>x</sub></button></td>
<td><button type="button" onclick="deleteRow()">Remove E<sub>x</sub></button></td>
</tr>
</table>
<p></p>
<table>
<tr>
<td style="text-align:right"> &theta;<sub>CM</sub>:</td>
<td><Input type="text" style="width:60px" value="0" id='thetaCM' enterkeyhint="done"/></td>
<td>deg</td>
<td><Input type="range" min="0" max="50" step="0.1" value="0" class="slider" id='thetaCMRange'/> </td>
</tr>
<td style="text-align:right"> Array Pos:</td>
<td><Input type="text" style="width:60px" value="-100" id='posArray' enterkeyhint="done"/></td>
<td>mm</td>
<td><Input type="range" min="-500" max="1000" step="1" value="-100" class="slider" id='posArrayRange'/> </td>
</tr>
<tr>
<td style="text-align:right"> Recoil Pos:</td>
<td><Input type="text" style="width:60px" value="1500" id='posRecoil' enterkeyhint="done"/></td>
<td>mm</td>
<td><Input type="range" min="0" max="2000" step="1" value="1500" class="slider" id='posRecoilRange'/> </td>
</tr>
</table>
<table>
<tr>
<td style="text-align:right" > Recoil radius, inner [mm]:</td>
<td><Input type="text" style="width:40px" value="10" id='innerRecoil' enterkeyhint="done"/></td>
<td style="text-align:right" > outter [mm]:</td>
<td><Input type="text" style="width:40px" value="45" id='outterRecoil' enterkeyhint="done"/></td>
</tr>
</table>
<p></p>
<div class="row">
<div class="column">
<table cellspacing="0" cellpadding="0">
<tr>
<td>
<div id="Plot_EZ" class="plotStyle"></div>
</td>
</tr>
<tr> <td>&nbsp;</td></tr>
<tr>
<td> &nbsp;zRange can be changed by Array position.</td>
</tr>
<tr>
<td>
<table>
<tr>
<td>eRange:</td>
<td><Input type="text" style="width:60px" value="12" id='eRange' enterkeyhint="done"/></td>
<td>MeV</td>
<td><Input type="range" min="1" max="30" step="0.1" value="12" class="plotSlider" id='eRangeSlider'/></td>
</tr>
</table>
</td>
</tr>
<tr> <td>&nbsp;</td></tr>
</table>
</div>
<div class="column">
<table cellspacing="0" cellpadding="0">
<tr>
<td>
<div id="Plot_RZ" class="plotStyle"></div>
</td>
</tr>
<tr> <td>&nbsp;</td></tr>
<tr>
<td>
<table>
<tr>
<td>zRange(Min):</td>
<td><Input type="text" style="width:60px" value="-200" id='zRange1' enterkeyhint="done"/></td>
<td>mm</td>
<td><Input type="range" min="-2000" max="4000" step="1" value="-200" class="plotSlider" id='zRange1Slider'/></td>
</tr>
<tr>
<td>zRange(Max):</td>
<td><Input type="text" style="width:60px" value="2000" id='zRange2' enterkeyhint="done"/></td>
<td>mm</td>
<td><Input type="range" min="-2000" max="4000" step="1" value="2000" class="plotSlider" id='zRange2Slider'/></td>
</tr>
<tr>
<td>rRange:</td>
<td><Input type="text" style="width:60px" value="50" id='rRange' enterkeyhint="done"/></td>
<td>mm</td>
<td><Input type="range" min="1" max="400" step="1" value="50" class="plotSlider" id='rRangeSlider'/></td>
</tr>
</table>
</td>
</tr>
<tr> <td>&nbsp;</td></tr>
</table>
</div>
</div>
<p id="n0"></p>
<!-- ##############################################################-->
<hr>
<h1>DWBA and Monte Carlo Simulation</h1>
<h3>DWBA and E<sub>x</sub> List:</h3>
<input type="checkbox" id="pos" onclick="checkParity()" checked/>Positive parity</td>
<input type="checkbox" id="neg" onclick="checkParity()" checked/>Negative parity</td>
<input type="checkbox" id="unk" onclick="checkParity()" checked/>Unknown parity</td>
<br>
<button type="button" onclick="addStates()">Add known states</button>
Max Ex: <input type="text" id="maxEx" size="5" value="5"/>MeV
<p id='waiting'></p>
Beam J<sup>&pi;</sup>: <input type="text" id="beamJpi" size="7"value="1/2+"/>
<table id="ExTable2">
<tr>
<td><b> E<sub>x</sub> [MeV] </b></td>
<td><b> &nbsp;&nbsp;&nbsp;J<sup>&#960;</sup></b></td>
<td><b> Orbital </b></td>
</tr>
</tr>
<td><input type="text" name="Ex" size="5" value="0"/></td>
<td><input type="text" name="Jpi" size="5" value="3/2+"/></td>
<td><input type="text" name="Orb" size="6" value="0d3/2"/></td>
<td><button type="button" onclick="addRow(this)">Insert Ex</button></td>
<td><button type="button" onclick="deleteRow(this)">Remove Ex</button></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td><button type="button" onclick="copyEx()">Copy Ex</button></td>
<td><button type="button" onclick="pasteEx()">&nbsp; Paste Ex &nbsp;</button></td>
</tr>
</table>
<p></p>
<table>
<tr>
<td>Incoming Channel</td>
<td>
<select name="op1">
<option value="A" selected>D | An & Cai (2006) E < 183, 12 < A < 238</option>
<option value="H">D | Han, Shi, & Shen (2006) E < 200, 12 < A < 209</option>
<option value="B">D | Bojowald et al. (1988) 50 < E < 80, 27 < A < 208</option>
<option value="D">D | Daehnick, Childs, Vrcelj (1980) 11.8 < E < 80, 27 < A < 238 (REL) </option>
<option value="C">D | Daehnick, Childs, Vrcelj (1980) 11.8 < E < 80, 27 < A < 238 (NON-REL) </option>
<option value="L">D | Lohr and Haeberli (1974) 9 < E < 13, 40 < A </option>
<option value="Q">D | Perey and Perey (1963) 12 < E < 25, 40 < A </option>
<option value="Z">D | Zhang, Pang, Lou (2016) 5 < E < 170, A < 18, spe 6-7Li </option>
<option value="K">P | Koning & Delaroche (2009) E < 200, 24 < A < 209 | Iso.Dep.</option>
<option value="V">P | Varner et al. (1991) 16 < E < 65, 4 < A < 209</option>
<option value="M">P | Menet et al. (1971) 30 < E < 60, 40 < A </option>
<option value="G">P | Becchetti and Greenlees (1969) E < 50, 40 < A </option>
<option value="P">P | Perey (1963) E < 20, 30 < A < 100 </option>
<option value="x">A=3 | Xu, Guo, Han, & Shen (2011) E < 250, 20 < A < 209 </option>
<option value="l">A=3 | Liang, Li, & Cai (2009) E < 270, All masses </option>
<option value="p">A=3 | Pang et al. (2009) all E, all masses, Iso. Dep. </option>
<option value="c">A=3 | Li, Liang, Cai (2007), E < 40, 48 < A < 232, Tritons </option>
<option value="t">A=3 | Trost et al. (1987) 10 < E < 220, 10 < A < 208 </option>
<option value="h">A=3 | Hyakutake et al. (1980) 90 < E < 120, About 58 < A < 92 </option>
<option value="b">A=3 | Becchetti and Greenlees (1971), E < 40, 40 < A, Iso. Dep. </option>
<option value="s">A=4 | Su & Han (2015) E < 398, 20 < A < 209 </option>
<option value="a">A=4 | Avrigeanu et al. (2009) </option>
<option value="f">A=4 | Bassani and Picard (1969) 24 < E < 31, A = 90 </option>
</select>
<td>
</tr>
<tr>
<td>Outgoing Channel</td>
<td>
<select name="op2">
<option value="A">D | An & Cai (2006) E < 183, 12 < A < 238</option>
<option value="H">D | Han, Shi, & Shen (2006) E < 200, 12 < A < 209</option>
<option value="B">D | Bojowald et al. (1988) 50 < E < 80, 27 < A < 208</option>
<option value="D">D | Daehnick, Childs, Vrcelj (1980) 11.8 < E < 80, 27 < A < 238 (REL) </option>
<option value="C">D | Daehnick, Childs, Vrcelj (1980) 11.8 < E < 80, 27 < A < 238 (NON-REL) </option>
<option value="L">D | Lohr and Haeberli (1974) 9 < E < 13, 40 < A </option>
<option value="Q">D | Perey and Perey (1963) 12 < E < 25, 40 < A </option>
<option value="Z">D | Zhang, Pang, Lou (2016) 5 < E < 170, A < 18, spe 6-7Li </option>
<option value="K" selected>P | Koning & Delaroche (2009) E < 200, 24 < A < 209, Iso.Dep.</option>
<option value="V">P | Varner et al. (1991) 16 < E < 65, 4 < A < 209</option>
<option value="M">P | Menet et al. (1971) 30 < E < 60, 40 < A </option>
<option value="G">P | Becchetti and Greenlees (1969) E < 50, 40 < A </option>
<option value="P">P | Perey (1963) E < 20, 30 < A < 100 </option>
<option value="x">A=3 | Xu, Guo, Han, & Shen (2011) E < 250, 20 < A < 209 </option>
<option value="l">A=3 | Liang, Li, & Cai (2009) E < 270, All masses </option>
<option value="p">A=3 | Pang et al. (2009) all E | all masses, Iso. Dep. </option>
<option value="c">A=3 | Li, Liang, Cai (2007), E < 40, 48 < A < 232, Tritons </option>
<option value="t">A=3 | Trost et al. (1987) 10 < E < 220, 10 < A < 208 </option>
<option value="h">A=3 | Hyakutake et al. (1980) 90 < E < 120, About 58 < A < 92 </option>
<option value="b">A=3 | Becchetti and Greenlees (1971), E < 40, 40 < A, Iso. Dep. </option>
<option value="s">A=4 | Su & Han (2015) E < 398, 20 < A < 209 </option>
<option value="a">A=4 | Avrigeanu et al. (2009) </option>
<option value="f">A=4 | Bassani and Picard (1969) 24 < E < 31, A = 90 </option>
</select>
<td>
</tr>
</table>
<p></p>
<input type="radio" name="DWBA" id="DWBA" value="DWBA" onclick="DWBAOpt(0)" checked="checked"/>Cal. DWBA
<input type="radio" name="DWBA" id="ONLY" value="ONLY" onclick="DWBAOpt(1)"/>ONLY Cal. DWBA
<table>
<tr>
<td>min &theta;<sub>CM</sub></td>
<td><input type="text" name="ang1" id="ang1" size="7" value="0" disabled/></td>
<td>[deg]</td>
</tr>
<tr>
<td>max &theta;<sub>CM</sub></td>
<td><input type="text" name="ang2" id="ang2" size="7" value="180" disabled/></td>
<td>[deg]</td>
</tr>
</table>
<p></p>
<h3> Plot config:</h3>
<table>
<tr>
<td><input type="checkbox" name="plot" value="pEZ" checked/>E vs Z</td>
<td><input type="checkbox" name="plot" value="pExCal" checked/>Ex (cal.)</td>
<td><input type="checkbox" name="plot" value="pThetaCM" checked/>ThetaCM</td>
</tr>
<tr>
<td><input type="checkbox" name="plot" value="pThetaCM_Z" checked/>ThetaCM vs Z</td>
<td><input type="checkbox" name="plot" value="pRecoilXY" checked/>Recoil X vs Y</td>
<td><input type="checkbox" name="plot" value="pRecoilRThetaCM"/>Recoil-R vs ThetaCM</td>
</tr>
<tr>
<td><input type="checkbox" name="plot" value="pRecoilRZ"/>Recoil R vs Z</td>
<td><input type="checkbox" name="plot" value="pTDiffZ"/>Time diff vs Z</td>
<td><input type="checkbox" name="plot" value="pArrayXY"/>Array X vs Y</td>
</tr>
</table>
<p></p>
<input type="checkbox" name="gate" value="hit==1" checked/>Array Hit<br>
<input type="checkbox" name="gate" value="loop<=1" checked/>Loop = 1<br>
<input type="checkbox" name="gate" value="thetaCM>10" checked/> ThetaCM > 10 deg<br>
<p></p>
<button style="width:200px;height:60px;" formtarget="_blank">Run Simulation</button>
<!-- ##############################################################-->
<hr>
<h1>&theta;<sub>CM</sub> Calculator</h1>
The calculation only give &theta;<sub>CM</sub> after the bending.
<p></p>
<table>
<tr>
<td>Ex [MeV] : </td>
<td><Input type="text" style="width:60px" value="0" id='Ex0' enterkeyhint="done"/></td>
<td>&theta;<sub>CM</sub> Gate [deg] : </td>
<td><Input type="text" style="width:60px" value="10" id='thetaCMGate' enterkeyhint="done"/></td>
<td>X Gate [%] : </td>
<td><Input type="text" style="width:60px" value="95" id='XGate' enterkeyhint="done"/></td>
</tr>
<tr>
<table id='thetaCMTable' style="border:1px solid; text-align:center;">
<tr>
<td style="width:30px"><b>ID</b></td>
<td style="width:120px"><b>pos<sub>0</sub>(gated)</b></td>
<td style="width:120px"><b>pos<sub>1</sub>(gated)</b></td>
<td style="width:60px"><b>&theta;<sub>1</sub>[deg]</b></td>
<td style="width:60px"><b>&theta;<sub>2</sub>[deg]</b></td>
<td style="width:60px"><b>&theta;<sub>avg</sub>[deg]</b></td>
<td style="width:60px"><b>&Delta;&theta;[deg]</b></td>
<td style="width:100px"><b>sin(&theta;<sub>avg</sub>)&Delta;&theta;</b></td>
</tr>
</table>
</tr>
</table>
<hr>
<p></p>
HELIOSmatics was first built by Ben P. Kay in MS Excel around 2010. It was modified by Ryan Tang later. And now it migrated to the web on Dec, 2022.
<br>
The calculation can be found in the source code (heliosmatics.js or press F12)
<p></p>
<!--
<hr>
Experimental 3D model
<div id="Plot_3D" class="plotStyle"></div>
-->
</body>
<!-- ######################################################################################### -->
<script src="heliosmatics2.js"></script>
<script>
function CopyInputs(){
let inputs = document.getElementsByTagName("input");
let copyText = "====HELIOSMATICS|";
for(let i = 0; i < inputs.length; i++){
if( inputs[i].type == 'text'){
//console.log(inputs[i].id.substring(0,2));
if( inputs[i].id.substring(0,2) == 'Ex' || inputs[i].id.substring(0,5) == 'theta' ) {
continue;
}
if( inputs[i].id == 'innerRecoil'){
break;
}
copyText += inputs[i].value + ", ";
}
}
//console.log(copyText);
navigator.clipboard.writeText(copyText).then(
() => {
alert('setting copied to clipboard.\nCan paste it in Monte Carlo simulation.\n' + copyText);
}).catch(
() =>{
alert('Cannot copy.');
});
//window.open('simpleSim.html');
}
function DWBAOpt(opt){
if( opt == 0 ){
document.getElementById('ang1').value = 0;
document.getElementById('ang1').disabled = true;
document.getElementById('ang2').value = 180;
document.getElementById('ang2').disabled = true;
}
if( opt == 1 ){
document.getElementById('ang1').value = 10;
document.getElementById('ang1').disabled = false;
document.getElementById('ang2').value = 40;
document.getElementById('ang2').disabled = false;
}
}
</script>
<html>

1115
heliosmatics2.js Normal file

File diff suppressed because it is too large Load Diff

View File

@ -3,7 +3,7 @@
<head>
<title>SOLARIS Si-Array Mode Simulation </title>
<meta name="description" content="SOLARIS Si-Array mode simulation. This is ported from the original Heliosmatics in MS excel, Monte Carlo simulation using CERN ROOT, and DWBA simulation using the Peolemy.">
<link rel="icon" type="image/x-icon" href="SOLARIS_favicon.png">
<link rel="icon" type="image/x-icon" href="logos/SOLARIS_favicon.png">
</head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
@ -96,7 +96,7 @@
<header>
<div class="row">
<div class="column1"">
<img src="SOLARIS_logo.png" width="300">
<img src="logos/SOLARIS_logo.png" width="300">
</div>
<div class="column2">
<span style="font-size:70px;">Simulation</span>
@ -107,6 +107,7 @@
<section>
<nav id="nav">
<div class="visit-counter"></div>
<p></p>
<table class="center">
<tr>
@ -155,7 +156,23 @@
</section>
<script>
/*
var counterContainer = document.querySelector(".visit-counter");
var visitCount = localStorage.getItem("page_view");
if( visitCount ){
visitCount = Number(visitCount) + 1;
localStorage.setItem("page_view", visitCount);
}else{
visitCount = 1;
localStorage.setItem("page_view", 1);
}
counterContainer.innerHTML = visitCount;
*/
var frame = document.getElementById("main");
var frameNav = document.getElementById("nav");
var frameArticle = document.getElementById("article");

View File

@ -44,14 +44,14 @@
<h4>The SOLARIS project is based on HELIOS (ANL) and is leaded by ANL.</h4>
<h4>The ISS (ISOLDE Solenoidal Spectrometer) is located as CERN.</h4>
<a href="https://fsunuc.physics.fsu.edu" target="_blank"><img src="FSU_logo_640.png"></a>
<a href="https://fribs.msu.edu/news/2021/solaris.html" target="_blank"><img src="FRIB_logo.jpg"></a>
<a href="https://home.cern/science/experiments/isolde" target="_blank"><img src="CERN_logo.svg"></a>
<a href="https://www.anl.gov/phy" target="_blank"><img src="ANL_logo.gif"></a>
<a href="https://fsunuc.physics.fsu.edu" target="_blank"><img src="logos/FSU_logo_640.png"></a>
<a href="https://fribs.msu.edu/news/2021/solaris.html" target="_blank"><img src="logos/FRIB_logo.jpg"></a>
<a href="https://home.cern/science/experiments/isolde" target="_blank"><img src="logos/CERN_logo.svg"></a>
<a href="https://www.anl.gov/phy" target="_blank"><img src="logos/ANL_logo.gif"></a>
<a href="https://www.anl.gov/phy/solaris" target="_blank"><img src="SOLARIS_logo.png"></a>
<a href="https://isolde-solenoidal-spectrometer.web.cern.ch/" target="_blank"><img src="ISS_logo.png"></a>
<a href="https://www.anl.gov/phy/helical-orbit-spectrometer" target="_blank"><img src="HELIOS_logo.jpg"></a>
<a href="https://www.anl.gov/phy/solaris" target="_blank"><img src="logos/SOLARIS_logo.png"></a>
<a href="https://isolde-solenoidal-spectrometer.web.cern.ch/" target="_blank"><img src="logos/ISS_logo.png"></a>
<a href="https://www.anl.gov/phy/helical-orbit-spectrometer" target="_blank"><img src="logos/HELIOS_logo.jpg"></a>
<p></p>
The simulation was started from Ben Kay (ANL) around 2010 using excel spreadsheet.

View File

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

View File

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 600 KiB

After

Width:  |  Height:  |  Size: 600 KiB

View File

Before

Width:  |  Height:  |  Size: 93 KiB

After

Width:  |  Height:  |  Size: 93 KiB

View File

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

Before

Width:  |  Height:  |  Size: 80 KiB

After

Width:  |  Height:  |  Size: 80 KiB

View File

Before

Width:  |  Height:  |  Size: 215 KiB

After

Width:  |  Height:  |  Size: 215 KiB

View File

@ -286,21 +286,21 @@ print("<br> %s" % gate)
if dwbaPNG != "" :
print ("<img src=\"files/%s\">" % dwbaPNG)
print ("<br> Downlaod the <a href=\"files/%s\" download=\"%s\">%s</a>" % (fn4, fn4, fn4))
print ("<br> Downlaod the <a href=\"files/%s\" download=\"%s\">%s</a>" % (fn4+".in", fn4+".in", fn4+".in"))
print ("<br> Downlaod the <a href=\"files/%s\" download=\"%s\">%s</a>" % (fn4+".out", fn4+".out", fn4+".out"))
print ("<br> Downlaod the <a href=\"files/%s\" download=\"%s\">%s</a>" % (fn4+".Xsec.txt", fn4+".Xsec.txt", fn4+".Xec.txt"))
print ("<br> Downlaod the <a href=\"files/%s\" download=\"%s\">%s</a>" % (fn4+".root", fn4+".root", fn4+".root"))
print ("<br> Download the <a href=\"files/%s\" download=\"%s\">%s</a>" % (fn4, fn4, fn4))
print ("<br> Download the <a href=\"files/%s\" download=\"%s\">%s</a>" % (fn4+".in", fn4+".in", fn4+".in"))
print ("<br> Download the <a href=\"files/%s\" download=\"%s\">%s</a>" % (fn4+".out", fn4+".out", fn4+".out"))
print ("<br> Download the <a href=\"files/%s\" download=\"%s\">%s</a>" % (fn4+".Xsec.txt", fn4+".Xsec.txt", fn4+".Xec.txt"))
print ("<br> Download the <a href=\"files/%s\" download=\"%s\">%s</a>" % (fn4+".root", fn4+".root", fn4+".root"))
print ("<br>")
print ("<p style=\"color:#1363A7;font-size:20px;\"><b>If the DWBA result different from the setting or not show, probably the DWBA setting is incorrect that causes the calculation fail.</b></p>")
if pngName != "" :
print ("<img src=\"files/%s\">" % pngName)
print ("<br> Downlaod the <a href=\"files/%s\" download=\"%s\">reactionConfig file</a>" % (fn1, fn1))
print ("<br> Downlaod the <a href=\"files/%s\" download=\"%s\">detectorGeo file</a>" % (fn2, fn2))
print ("<br> Downlaod the <a href=\"files/%s\" download=\"%s\">Ex file</a>" % (fnEx, fnEx))
print ("<br> Downlaod the simulation <a href=\"files/transfer.root\" download=\"transfer.root\">root file</a>")
print ("<br> Download the <a href=\"files/%s\" download=\"%s\">reactionConfig file</a>" % (fn1, fn1))
print ("<br> Download the <a href=\"files/%s\" download=\"%s\">detectorGeo file</a>" % (fn2, fn2))
print ("<br> Download the <a href=\"files/%s\" download=\"%s\">Ex file</a>" % (fnEx, fnEx))
print ("<br> Download the simulation <a href=\"files/transfer.root\" download=\"transfer.root\">root file</a>")
if fn5 != "" :
print ("<br> Downlaod the <a href=\"files/%s\" download=\"%s\">Plot Config file</a>" % (fn5, fn5))

View File

@ -1,9 +1,8 @@
<!DOCTYPE html>
<html>
<head>
<title>DWBA and Monte Carlo Simulation</title>
<link rel="icon" type="image/x-icon" href="SOLARIS_favicon.png">
<link rel="icon" type="image/x-icon" href="logos/SOLARIS_favicon.png">
</head>
<style>
body {
@ -24,25 +23,25 @@
<table>
<tr>
<td>Beam Energy</td>
<td><input type = "text" name = "KEA" size="5" value="10" /></td>
<td><input type = "text" name = "KEA" size="6" value="10" /></td>
<td style="text-align:left">MeV/u</td>
</tr>
<tr>
<td>Beam </td>
<td><input type = "text" name = "beam_AZ" size="5" value="16O"/></td>
<td><input type = "text" name = "beam_AZ" size="6" value="16O"/></td>
<td style="text-align:right">J<sup>&pi;</sup></td>
<td><input type = "text" id="beam_Jpi" name = "beam_Jpi" size="5" value="0+"/><td>
<td style="text-align:right">Ex:</td>
<td><input type = "text" name = "beam_Ex" size="5" value="0.00"/></td>
<td><input type = "text" name = "beam_Ex" size="6" value="0.00"/></td>
<td style="text-align:left">MeV</td>
</tr>
<tr>
<td>Target</td>
<td><input type = "text" name = "target_AZ" size="5" value="d"/></td>
<td><input type = "text" name = "target_AZ" size="6" value="d"/></td>
</tr>
<tr>
<td>Light recoil</td>
<td><input type = "text" name = "lRecoil_AZ" size="5" value="p"/></td>
<td><input type = "text" name = "lRecoil_AZ" size="6" value="p"/></td>
</tr>
<tr>
<td> Number of events </td>
@ -101,17 +100,21 @@ Max Ex: <input type="text" id="maxEx" size="5" value="5"/>MeV
<td><input type="text" name="Ex" size="5" value="0"/></td>
<td><input type="text" name="Jpi" size="5" value="3/2+"/></td>
<td><input type="text" name="Orb" size="6" value="0d3/2"/></td>
<td><button type="button" onclick="addRow(this)">Insert Ex</button></td>
<td><button type="button" onclick="deleteRow(this)">Remove Ex</button></td>
</tr>
<tr>
<td><button type="button" onclick="addRow()">Add Ex</button></td>
<td><button type="button" onclick="deleteRow()">Remove Ex</button></td>
<td><button type="button" onclick="copyEx()">Copy</button></td>
<td><button type="button" onclick="pasteEx()">Paste</button></td>
<td></td>
<td></td>
<td></td>
<td><button type="button" onclick="copyEx()">Copy Ex</button></td>
<td><button type="button" onclick="pasteEx()">&nbsp; Paste Ex &nbsp;</button></td>
</tr>
</table>
<p></p>
<input type="checkbox" name="DWBA" value="On"/>Cal. DWBA
<!--<input type="checkbox" name="onlyDWBA" value="On"/>ONLY Cal. DWBA (tetsing)-->
<table>
<tr>
@ -310,7 +313,7 @@ function GetClipBoard(){
//console.log(result);
if( result.substring(0,16) == "====HELIOSMATICS" ){
let haha = result.substring(17).split(', ');
//console.log(haha);
console.log(haha);
//alert(haha);
document.getElementsByName('beam_AZ')[0].value = haha[0];
document.getElementsByName('beam_Ex')[0].value = haha[1];
@ -320,14 +323,15 @@ function GetClipBoard(){
document.getElementsByName('BField')[0].value = haha[4];
document.getElementsByName('posArray')[0].value = haha[6];
document.getElementsByName('posRecoil')[0].value = haha[7];
document.getElementById('AZ').value = haha[8];
}
}
);
}
GetClipBoard();
function copyEx(){
let inputs = document.getElementsByTagName("input");
let copyText = "====ExList|";
@ -380,9 +384,13 @@ function pasteEx(){
let row = table.insertRow(nRow-1);
row.innerHTML = '<td><input type="text" name="Ex" size="5" value="' + kaka[0] + '"/></td> \
<td><input type="text" name="Jpi" size="5" value="' + kaka[1] + '"/></td> \
<td><input type="text" name="Orb" size="6" value="' + kaka[2] + '"/></td>';
<td><input type="text" name="Orb" size="6" value="' + kaka[2] + '"/></td>\
<td><button type="button" onclick="addRow(this)">Insert Ex</button></td> \
<td><button type="button" onclick="deleteRow(this)">Remove Ex</button></td>';
}
}else{
alert("Setting not fond in clipboard.");
}
}
);
@ -403,15 +411,10 @@ function addStates(){
let AZ = document.getElementById('AZ').value;
let maxEx = document.getElementById('maxEx').value;
let beamJpi = document.getElementById('beam_Jpi').value;
let str = 'get_nuclear_data.py?isotopes_name=' + AZ + '&maxEx='+maxEx;
let table = document.getElementById("ExTable");
let nRow = table.rows.length;
for( let j = nRow; j > 2; j--){
table.deleteRow(j - 2);
}
console.log("========================= " + nRow);
const client = new XMLHttpRequest();
@ -421,22 +424,30 @@ function addStates(){
}
);
client.addEventListener('error',
function(e){
document.getElementById('waiting').innerHTML = "Error.";
}
);
client.addEventListener('loadend',
function(e){
let result = client.responseText.split(/\r?\n/);
//console.log(result);
//clear table
let nRow = table.rows.length;
for( let j = nRow; j > 2; j--){
table.deleteRow(j - 2);
}
document.getElementById('waiting').innerHTML = "";
let count = 0;
for( let i = 0; i < result.length; i++){
//console.log(i + ", " + result[i]);
if( i < 17 ) continue;
if( result[i] == "</table>" ) break;
//console.log(result[i]);
let kaka = result[i].split(' ').filter(n => n);
//console.log(kaka);
let ex = parseFloat(kaka[3])/1000.;
let jpi = kaka[7]?.replace('(', '')?.replace(')', '');
@ -453,11 +464,21 @@ function addStates(){
let row = table.insertRow(nRow-1);
row.innerHTML = '<td><input type="text" name="Ex" size="5" value="' + ex.toFixed(3) + '"/></td> \
<td><input type="text" name="Jpi" size="5" value="' + jpi + '"/></td> \
<td><input type="text" name="Orb" size="6" /></td>';
<td><input type="text" name="Orb" size="6" /></td> \
<td><button type="button" onclick="addRow(this)">Insert Ex</button></td> \
<td><button type="button" onclick="deleteRow(this)">Remove Ex</button></td> \
<td>'+ kaka[7] +'</td>';
}
if( count == 0 ){
document.getElementById('waiting').innerHTML = "no states found.";
nRow = table.rows.length;
let row = table.insertRow(nRow-1);
row.innerHTML = '<td><input type="text" name="Ex" size="5" value="0"/></td> \
<td><input type="text" name="Jpi" size="5" value="1/2+"/></td> \
<td><input type="text" name="Orb" size="6" value="1s1/2"/></td> \
<td><button type="button" onclick="addRow(this)">Insert Ex</button></td> \
<td><button type="button" onclick="deleteRow(this)">Remove Ex</button></td>';
}
}
);
@ -467,20 +488,27 @@ function addStates(){
}
function addRow() {
var table = document.getElementById("ExTable");
var nRow = table.rows.length;
var row = table.insertRow(nRow-1);
//document.getElementById("ExTable").find('tr').click( () => {alert( $this.index);} );
function addRow(ele) {
let iRow = ele.closest('tr').sectionRowIndex;
let table = document.getElementById("ExTable");
let row = table.insertRow(iRow+1);
row.innerHTML = '<td><input type="text" name="Ex" size="5" /></td> \
<td><input type="text" name="Jpi" size="5"/></td> \
<td><input type="text" name="Orb" size="6"/></td>';
<td><input type="text" name="Orb" size="6"/></td> \
<td><button type="button" onclick="addRow(this)">Insert Ex</button></td> \
<td><button type="button" onclick="deleteRow(this)">Remove Ex</button></td>';
}
function deleteRow(){
var table = document.getElementById("ExTable");
var nRow = table.rows.length;
function deleteRow(ele){
let table = document.getElementById("ExTable");
let nRow = table.rows.length;
let iRow = ele.closest('tr').sectionRowIndex;
if ( nRow > 3){
table.deleteRow(nRow-2);
table.deleteRow(iRow);
}
}
</script>