Compare commits
No commits in common. "e752041c4c01ac0275a59a30768b69867f8cb3af" and "333af94f51e6e6ab425a927ba589894303da9b45" have entirely different histories.
e752041c4c
...
333af94f51
|
@ -2,9 +2,9 @@
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>Heliosmatics</title>
|
<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.">
|
<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.">
|
||||||
<script src="https://cdn.plot.ly/plotly-2.16.1.min.js"></script>
|
<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"/>
|
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, user-scalable=no;user-scalable=0;"/>
|
||||||
</head>
|
</head>
|
||||||
<style>
|
<style>
|
||||||
body{
|
body{
|
||||||
|
@ -110,10 +110,10 @@
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td style="text-align:right"> B-field (abs.):</td>
|
<td style="text-align:right"> B-field:</td>
|
||||||
<td><Input type="text" style="width:60px" value="2" id='BField' enterkeyhint="done"/></td>
|
<td><Input type="text" style="width:60px" value="-2" id='BField' enterkeyhint="done"/></td>
|
||||||
<td>T</td>
|
<td>T</td>
|
||||||
<td><Input type="range" min="0" max="6" step="0.05" value="2" class="slider" id='BRange'/> </td>
|
<td><Input type="range" min="-4" max="4" step="0.05" value="-2" class="slider" id='BRange'/> </td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -215,9 +215,6 @@
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr> <td> </td></tr>
|
<tr> <td> </td></tr>
|
||||||
<tr>
|
|
||||||
<td> zRange can be changed by Array position.</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<table>
|
<table>
|
||||||
|
@ -275,39 +272,6 @@
|
||||||
<p id="n2"></p>
|
<p id="n2"></p>
|
||||||
<p id="n3"></p>
|
<p id="n3"></p>
|
||||||
|
|
||||||
<hr>
|
|
||||||
|
|
||||||
<h1>θ<sub>CM</sub> Calculator</h1>
|
|
||||||
|
|
||||||
The calculation only give θ<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>θ<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>θ<sub>1</sub>[deg]</b></td>
|
|
||||||
<td style="width:60px"><b>θ<sub>2</sub>[deg]</b></td>
|
|
||||||
<td style="width:60px"><b>θ<sub>avg</sub>[deg]</b></td>
|
|
||||||
<td style="width:60px"><b>Δθ[deg]</b></td>
|
|
||||||
<td style="width:100px"><b>sin(θ<sub>avg</sub>)Δθ</b></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ===================================================== -->
|
<!-- ===================================================== -->
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
|
@ -398,9 +362,6 @@ The calculation only give θ<sub>CM</sub> after the bending.
|
||||||
|
|
||||||
<!-- ===================================================== -->
|
<!-- ===================================================== -->
|
||||||
|
|
||||||
<hr>
|
|
||||||
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.
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
<!-- ######################################################################################### -->
|
<!-- ######################################################################################### -->
|
||||||
|
@ -474,7 +435,6 @@ var arrayLen = 50 * 10 + 2 * 9 // SOLARIS
|
||||||
var detLen = 50; // SOLARIS
|
var detLen = 50; // SOLARIS
|
||||||
var nDet = 10; // SOLARIS
|
var nDet = 10; // SOLARIS
|
||||||
var detGap = 2; // SOLARIS
|
var detGap = 2; // SOLARIS
|
||||||
var arrayPos = [];
|
|
||||||
|
|
||||||
const c = 299.792468; // mm/ns
|
const c = 299.792468; // mm/ns
|
||||||
|
|
||||||
|
@ -621,22 +581,6 @@ function CalConstants(){
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function CalArrayPos(){
|
|
||||||
let haha = parseFloat(document.getElementById('posArray').value);
|
|
||||||
arrayPos = [];
|
|
||||||
for( let i = 0; i < nDet; i++){
|
|
||||||
let kaka = [];
|
|
||||||
if( haha < 0 ){
|
|
||||||
kaka.push(haha - (i+1) * detLen - i * detGap);
|
|
||||||
kaka.push(haha - (i) * detLen - i * detGap);
|
|
||||||
}else{
|
|
||||||
kaka.push(haha + (i) * detLen + i * detGap);
|
|
||||||
kaka.push(haha + (i+1) * detLen + i * detGap);
|
|
||||||
}
|
|
||||||
arrayPos.push(kaka);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function SetSSType(){
|
function SetSSType(){
|
||||||
let helios = document.getElementById('HELIOS').checked;
|
let helios = document.getElementById('HELIOS').checked;
|
||||||
let solaris = document.getElementById('SOLARIS').checked;
|
let solaris = document.getElementById('SOLARIS').checked;
|
||||||
|
@ -662,7 +606,6 @@ function SetSSType(){
|
||||||
}
|
}
|
||||||
arrayLen = detLen * nDet + detGap * (nDet-1);
|
arrayLen = detLen * nDet + detGap * (nDet-1);
|
||||||
|
|
||||||
CalArrayPos();
|
|
||||||
//document.getElementById('n1').innerHTML = perpDistant;
|
//document.getElementById('n1').innerHTML = perpDistant;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -703,7 +646,7 @@ function CalculateEZ(){
|
||||||
|
|
||||||
let rho = k_cm * ss/c/light[1]/Math.abs(BField) * 1000; // mm
|
let rho = k_cm * ss/c/light[1]/Math.abs(BField) * 1000; // mm
|
||||||
rhoList.push(rho);
|
rhoList.push(rho);
|
||||||
let Zb = Zb0 * (1- Math.asin(perpDistant/rho/2)/Math.PI);
|
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 thetaLab = 180 - Math.atan2(k_cm * ss, gamma * (beta * qb - k_cm * cs)) * 180/Math.PI;
|
||||||
|
|
||||||
|
@ -734,9 +677,9 @@ function CalculateEZ(){
|
||||||
|
|
||||||
for( let j = 0; j < 100 ; j++){
|
for( let j = 0; j < 100 ; j++){
|
||||||
let thetaCM = Math.PI/Math.log10(100) * Math.log10(100/(100-j)) ;
|
let thetaCM = Math.PI/Math.log10(100) * Math.log10(100/(100-j)) ;
|
||||||
let temp = Math.PI * ez_slope / beta / k_cm * perpDistant / Math.sin(thetaCM); // perpDistant / 2/ rho(thetaCM)
|
let temp = 2* Math.PI * ez_slope / beta / k_cm * perpDistant / Math.sin(thetaCM);
|
||||||
if( !isFinite(temp) ) continue;
|
if( !isFinite(temp) ) continue;
|
||||||
let pxTemp = 1. /alpha * (gamma * beta * qb - gamma * k_cm * Math.cos(thetaCM)) * (1 - Math.asin(temp)/Math.PI) ;
|
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);
|
let pyTemp = gamma * qb - light[2] - gamma * beta * k_cm * Math.cos(thetaCM);
|
||||||
if( !isNaN(pxTemp) && !isNaN(pyTemp) ){
|
if( !isNaN(pxTemp) && !isNaN(pyTemp) ){
|
||||||
xxx.push(pxTemp);
|
xxx.push(pxTemp);
|
||||||
|
@ -936,89 +879,6 @@ function PlotRZ(){
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function CalZ(theta, k_cm, qb){
|
|
||||||
let cs = Math.cos(theta*Math.PI/180.);
|
|
||||||
let ss = Math.sin(theta*Math.PI/180.);
|
|
||||||
|
|
||||||
let Zb0 = (gamma*beta* qb - gamma * k_cm * cs )/alpha; //mm
|
|
||||||
let rho = k_cm * ss / c/ light[1]/ Math.abs(BField) * 1000; // mm
|
|
||||||
|
|
||||||
return Zb0 * ( 1 - Math.sin( perpDistant/2/rho ) / Math.PI );
|
|
||||||
}
|
|
||||||
|
|
||||||
function SearchThetaCM(Z, thetaMin, k_cm, qb){
|
|
||||||
|
|
||||||
let step = 0.01;
|
|
||||||
|
|
||||||
for( let yy = thetaMin; yy < 180; yy += step){
|
|
||||||
if( yy > 12 ) step = 0.1;
|
|
||||||
if( yy > 20 ) step = 0.5;
|
|
||||||
if( yy > 40 ) step = 1.0;
|
|
||||||
let z1 = CalZ(yy, k_cm, qb);
|
|
||||||
let z2 = CalZ(yy+step, k_cm, qb);
|
|
||||||
//console.log(Z, ", ", yy.toFixed(3), ", ", z1.toFixed(3), ", ", z2.toFixed(3), ", ", (z2-z1).toFixed(3) );
|
|
||||||
if( z1 > z2 ){ /// in the bending range
|
|
||||||
continue;
|
|
||||||
}else{
|
|
||||||
if( Z < z1 ){
|
|
||||||
// return yy;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if( z1<= Z && Z <= z2 ){ // do a linear approximation
|
|
||||||
return (Z-z1)/(z2-z1)*step + yy;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return NaN;
|
|
||||||
}
|
|
||||||
|
|
||||||
function CalThetaCM(){
|
|
||||||
let ex = parseFloat(document.getElementById('Ex0').value);
|
|
||||||
let angGate = parseFloat(document.getElementById('thetaCMGate').value);
|
|
||||||
let xGate = parseFloat(document.getElementById('XGate').value);
|
|
||||||
|
|
||||||
CalArrayPos();
|
|
||||||
|
|
||||||
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 qb = Math.sqrt(light[2]*light[2]+k_cm*k_cm);
|
|
||||||
|
|
||||||
let table = document.getElementById('thetaCMTable');
|
|
||||||
let nRow = table.rows.length;
|
|
||||||
if( nRow > 1 ){
|
|
||||||
for( let i = nRow-1; i > 0; i -- ){
|
|
||||||
table.deleteRow(i);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for( let i = 0; i < arrayPos.length; i++){
|
|
||||||
let row = table.insertRow(i+1);
|
|
||||||
row.insertCell().innerHTML = i;
|
|
||||||
|
|
||||||
let p1 = (arrayPos[i][0] + detLen * (100. - xGate)/200.);
|
|
||||||
let p2 = (arrayPos[i][1] - detLen * (100. - xGate)/200.);
|
|
||||||
|
|
||||||
row.insertCell().innerHTML = arrayPos[i][0] + "(" + p1 + ")";
|
|
||||||
row.insertCell().innerHTML = arrayPos[i][1] + "(" + p2 + ")";
|
|
||||||
|
|
||||||
///Search thetaCM for Z
|
|
||||||
let a1 = SearchThetaCM(p1, angGate, k_cm, qb);
|
|
||||||
let a2 = SearchThetaCM(p2, angGate, k_cm, qb);
|
|
||||||
row.insertCell().innerHTML = a1.toFixed(2);
|
|
||||||
row.insertCell().innerHTML = a2.toFixed(2);
|
|
||||||
|
|
||||||
let am = (a2+a1)/2;
|
|
||||||
let da = Math.abs(a2-a1);
|
|
||||||
|
|
||||||
row.insertCell().innerHTML = am.toFixed(2);
|
|
||||||
row.insertCell().innerHTML = da.toFixed(2);
|
|
||||||
row.insertCell().innerHTML = (Math.sin(am*Math.PI/180) * da * Math.PI/180).toExponential(2);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
document.getElementById('beam').addEventListener('keypress',
|
document.getElementById('beam').addEventListener('keypress',
|
||||||
function(e){
|
function(e){
|
||||||
if(e.keyCode == 13){
|
if(e.keyCode == 13){
|
||||||
|
@ -1062,7 +922,6 @@ document.getElementById('BField').addEventListener('keypress',
|
||||||
CalConstants();
|
CalConstants();
|
||||||
CalculateEZ();
|
CalculateEZ();
|
||||||
CalculateRZ();
|
CalculateRZ();
|
||||||
CalThetaCM();
|
|
||||||
}
|
}
|
||||||
}, false
|
}, false
|
||||||
);
|
);
|
||||||
|
@ -1073,7 +932,6 @@ document.getElementById('BRange').oninput = function(){
|
||||||
CalculateEZ();
|
CalculateEZ();
|
||||||
CalculateRZ();
|
CalculateRZ();
|
||||||
AdjustRangeEZ();
|
AdjustRangeEZ();
|
||||||
CalThetaCM();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
document.getElementById('KEA').addEventListener('keypress',
|
document.getElementById('KEA').addEventListener('keypress',
|
||||||
|
@ -1083,7 +941,6 @@ document.getElementById('KEA').addEventListener('keypress',
|
||||||
CalConstants();
|
CalConstants();
|
||||||
CalculateEZ();
|
CalculateEZ();
|
||||||
CalculateRZ();
|
CalculateRZ();
|
||||||
CalThetaCM();
|
|
||||||
}
|
}
|
||||||
}, false
|
}, false
|
||||||
);
|
);
|
||||||
|
@ -1093,7 +950,6 @@ document.getElementById('KEARange').oninput = function(){
|
||||||
CalConstants();
|
CalConstants();
|
||||||
CalculateEZ();
|
CalculateEZ();
|
||||||
CalculateRZ();
|
CalculateRZ();
|
||||||
CalThetaCM();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
document.getElementById('thetaCM').addEventListener('keypress',
|
document.getElementById('thetaCM').addEventListener('keypress',
|
||||||
|
@ -1102,6 +958,7 @@ document.getElementById('thetaCM').addEventListener('keypress',
|
||||||
document.getElementById('thetaCMRange').value = this.value;
|
document.getElementById('thetaCMRange').value = this.value;
|
||||||
CalConstants();
|
CalConstants();
|
||||||
CalculateEZ();
|
CalculateEZ();
|
||||||
|
CalculateRZ()
|
||||||
}
|
}
|
||||||
}, false
|
}, false
|
||||||
);
|
);
|
||||||
|
@ -1110,17 +967,33 @@ document.getElementById('thetaCMRange').oninput = function(){
|
||||||
document.getElementById('thetaCM').value = this.value;
|
document.getElementById('thetaCM').value = this.value;
|
||||||
CalConstants();
|
CalConstants();
|
||||||
CalculateEZ();
|
CalculateEZ();
|
||||||
|
CalculateRZ()
|
||||||
}
|
}
|
||||||
|
|
||||||
function AdjustRangeEZ(){
|
function AdjustRangeEZ(){
|
||||||
let haha = parseFloat(document.getElementById('posArray').value);
|
let haha = parseFloat(document.getElementById('posArray').value);
|
||||||
|
|
||||||
let xStart = (haha < 0 ? haha - arrayLen - 100 : haha - 100);
|
let xStart = (haha < 0 ? haha - arrayLen - 100 : haha - 100);
|
||||||
let xEnd = (haha < 0 ? haha + 100: haha + arrayLen + 100);
|
let xEnd = (haha < 0 ? haha + 100: haha + arrayLen + 100);
|
||||||
|
|
||||||
CalArrayPos();
|
|
||||||
|
|
||||||
xRange = [xStart, xEnd];
|
xRange = [xStart, xEnd];
|
||||||
yRange = [0, parseFloat(document.getElementById('eRangeSlider').value)];
|
|
||||||
|
let haha2 = parseFloat(document.getElementById('eRangeSlider').value);
|
||||||
|
|
||||||
|
yRange = [0, haha2];
|
||||||
|
|
||||||
|
let pos = [];
|
||||||
|
for( let i = 0; i < nDet; i++){
|
||||||
|
let kaka = [];
|
||||||
|
if( haha < 0 ){
|
||||||
|
kaka.push(haha - (i+1) * detLen - i * detGap);
|
||||||
|
kaka.push(haha - (i) * detLen - i * detGap);
|
||||||
|
}else{
|
||||||
|
kaka.push(haha + (i+1) * detLen + i * detGap);
|
||||||
|
kaka.push(haha + (i) * detLen + i * detGap);
|
||||||
|
}
|
||||||
|
pos.push(kaka);
|
||||||
|
}
|
||||||
|
|
||||||
//document.getElementById('n0').innerHTML = pos;
|
//document.getElementById('n0').innerHTML = pos;
|
||||||
//document.getElementById('n2').innerHTML = arrayLen;
|
//document.getElementById('n2').innerHTML = arrayLen;
|
||||||
|
@ -1132,8 +1005,8 @@ function AdjustRangeEZ(){
|
||||||
type: 'rect',
|
type: 'rect',
|
||||||
xref: 'x',
|
xref: 'x',
|
||||||
yref: 'paper',
|
yref: 'paper',
|
||||||
x0 : arrayPos[i][0],
|
x0 : pos[i][0],
|
||||||
x1 : arrayPos[i][1],
|
x1 : pos[i][1],
|
||||||
y0 : 0,
|
y0 : 0,
|
||||||
y1 : 1,
|
y1 : 1,
|
||||||
fillcolor : '#9999FF',
|
fillcolor : '#9999FF',
|
||||||
|
@ -1156,7 +1029,6 @@ document.getElementById('posArray').addEventListener('keypress',
|
||||||
document.getElementById('posArrayRange').value = this.value;
|
document.getElementById('posArrayRange').value = this.value;
|
||||||
AdjustRangeEZ();
|
AdjustRangeEZ();
|
||||||
AdjustRecoilPos();
|
AdjustRecoilPos();
|
||||||
CalThetaCM();
|
|
||||||
}
|
}
|
||||||
}, false
|
}, false
|
||||||
);
|
);
|
||||||
|
@ -1165,7 +1037,6 @@ document.getElementById('posArrayRange').oninput = function(){
|
||||||
document.getElementById('posArray').value = this.value;
|
document.getElementById('posArray').value = this.value;
|
||||||
AdjustRangeEZ();
|
AdjustRangeEZ();
|
||||||
AdjustRecoilPos();
|
AdjustRecoilPos();
|
||||||
CalThetaCM();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function AdjustRecoilPos(){
|
function AdjustRecoilPos(){
|
||||||
|
@ -1187,14 +1058,28 @@ function AdjustRecoilPos(){
|
||||||
line : { width : 0}
|
line : { width : 0}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let haha = parseFloat(document.getElementById('posArray').value);
|
||||||
|
|
||||||
|
let pos = [];
|
||||||
|
for( let i = 0; i < nDet; i++){
|
||||||
|
let kaka = [];
|
||||||
|
if( haha < 0 ){
|
||||||
|
kaka.push(haha - (i+1) * detLen - i * detGap);
|
||||||
|
kaka.push(haha - (i) * detLen - i * detGap);
|
||||||
|
}else{
|
||||||
|
kaka.push(haha + (i+1) * detLen + i * detGap);
|
||||||
|
kaka.push(haha + (i) * detLen + i * detGap);
|
||||||
|
}
|
||||||
|
pos.push(kaka);
|
||||||
|
}
|
||||||
let totalShape = [];
|
let totalShape = [];
|
||||||
for( let i = 0; i < nDet; i++){
|
for( let i = 0; i < nDet; i++){
|
||||||
let newhaha = {
|
let newhaha = {
|
||||||
type: 'rect',
|
type: 'rect',
|
||||||
xref: 'x',
|
xref: 'x',
|
||||||
yref: 'y',
|
yref: 'y',
|
||||||
x0 : arrayPos[i][0],
|
x0 : pos[i][0],
|
||||||
x1 : arrayPos[i][1],
|
x1 : pos[i][1],
|
||||||
y0 : 0,
|
y0 : 0,
|
||||||
y1 : perpDistant,
|
y1 : perpDistant,
|
||||||
fillcolor : '#9999FF',
|
fillcolor : '#9999FF',
|
||||||
|
@ -1320,7 +1205,6 @@ window.addEventListener('keypress', FuncThetaCM);
|
||||||
window.checkSSType = function(){
|
window.checkSSType = function(){
|
||||||
SetSSType();
|
SetSSType();
|
||||||
CalculateEZ();
|
CalculateEZ();
|
||||||
CalThetaCM();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var FuncCheckSSType = window.checkSSType.bind(null, "SSType");
|
var FuncCheckSSType = window.checkSSType.bind(null, "SSType");
|
||||||
|
@ -1328,29 +1212,6 @@ document.getElementById('HELIOS').addEventListener('click', FuncCheckSSType);
|
||||||
document.getElementById('SOLARIS').addEventListener('click', FuncCheckSSType);
|
document.getElementById('SOLARIS').addEventListener('click', FuncCheckSSType);
|
||||||
document.getElementById('ISS').addEventListener('click', FuncCheckSSType);
|
document.getElementById('ISS').addEventListener('click', FuncCheckSSType);
|
||||||
|
|
||||||
document.getElementById('Ex0').addEventListener('keypress',
|
|
||||||
function(e){
|
|
||||||
if(e.keyCode == 13){
|
|
||||||
CalThetaCM();
|
|
||||||
}
|
|
||||||
}, false
|
|
||||||
);
|
|
||||||
|
|
||||||
document.getElementById('thetaCMGate').addEventListener('keypress',
|
|
||||||
function(e){
|
|
||||||
if(e.keyCode == 13){
|
|
||||||
CalThetaCM();
|
|
||||||
}
|
|
||||||
}, false
|
|
||||||
);
|
|
||||||
|
|
||||||
document.getElementById('XGate').addEventListener('keypress',
|
|
||||||
function(e){
|
|
||||||
if(e.keyCode == 13){
|
|
||||||
CalThetaCM();
|
|
||||||
}
|
|
||||||
}, false
|
|
||||||
);
|
|
||||||
|
|
||||||
GetMass();
|
GetMass();
|
||||||
CalConstants();
|
CalConstants();
|
||||||
|
@ -1358,7 +1219,6 @@ SetSSType();
|
||||||
CalculateEZ();
|
CalculateEZ();
|
||||||
CalculateRZ();
|
CalculateRZ();
|
||||||
AdjustRecoilPos();
|
AdjustRecoilPos();
|
||||||
CalThetaCM();
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -43,14 +43,12 @@
|
||||||
<h4>The ISS (ISOLDE Solenoidal Spectrometer) is located as CERN.</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://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://www.anl.gov/phy/solaris" target="_blank"><img src="SOLARIS_logo.png"></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://fribs.msu.edu/news/2021/solaris.html" target="_blank"><img src="FRIB_logo.jpg"></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/helical-orbit-spectrometer" target="_blank"><img src="HELIOS_logo.jpg"></a>
|
||||||
|
<a href="https://www.anl.gov/phy" target="_blank"><img src="ANL_logo.gif"></a>
|
||||||
|
<a href="https://isolde-solenoidal-spectrometer.web.cern.ch/" target="_blank"><img src="ISS_logo.png"></a>
|
||||||
|
<a href="https://home.cern/science/experiments/isolde" target="_blank"><img src="CERN_logo.svg"></a>
|
||||||
<p></p>
|
<p></p>
|
||||||
Contact: Ryan Tang (rtang at fsu.edu)
|
Contact: Ryan Tang (rtang at fsu.edu)
|
||||||
<p> any suggestions and feedback are very welcome.</p>
|
<p> any suggestions and feedback are very welcome.</p>
|
||||||
|
|
|
@ -101,6 +101,7 @@
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user