[no commit message]
This commit is contained in:
parent
c57cbc39c4
commit
95e1bd0017
@ -75,10 +75,6 @@ public class ElectronTrappingSimulator {
|
|||||||
|
|
||||||
|
|
||||||
//Вычисляем сечения и нормируем их на полное сечение
|
//Вычисляем сечения и нормируем их на полное сечение
|
||||||
// double sigmaTotal = Scatter.sigmaTotal(E);
|
|
||||||
// double sigmaIon = Scatter.sigmaion(E) / sigmaTotal;
|
|
||||||
// double sigmaEl = Scatter.sigmael(E) / sigmaTotal;
|
|
||||||
// double sigmaexc = Scatter.sigmaexc(E) / sigmaTotal;
|
|
||||||
double sigmaIon = Scatter.sigmaion(E);
|
double sigmaIon = Scatter.sigmaion(E);
|
||||||
double sigmaEl = Scatter.sigmael(E);
|
double sigmaEl = Scatter.sigmael(E);
|
||||||
double sigmaexc = Scatter.sigmaexc(E);
|
double sigmaexc = Scatter.sigmaexc(E);
|
||||||
@ -104,17 +100,6 @@ public class ElectronTrappingSimulator {
|
|||||||
Scatter.randomel(E, dE, dTheta);
|
Scatter.randomel(E, dE, dTheta);
|
||||||
}
|
}
|
||||||
|
|
||||||
// if (alpha < sigmaEl) {
|
|
||||||
// Scatter.randomel(E, dE, dTheta);
|
|
||||||
// } else if (alpha < sigmaexc) {
|
|
||||||
// Scatter.randomexc(E, dE, dTheta);
|
|
||||||
// } else {
|
|
||||||
// Scatter.randomion(E, dE, dTheta);
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//Обновляем значени угла и энергии независимо ни от чего
|
//Обновляем значени угла и энергии независимо ни от чего
|
||||||
E -= dE.getValue();
|
E -= dE.getValue();
|
||||||
//Изменение угла
|
//Изменение угла
|
||||||
@ -163,7 +148,7 @@ public class ElectronTrappingSimulator {
|
|||||||
SphericalCoordinates init = new SphericalCoordinates(1, 0, theta+dTheta);
|
SphericalCoordinates init = new SphericalCoordinates(1, 0, theta+dTheta);
|
||||||
// Задаем вращение относительно оси, перпендикулярной исходному вектору
|
// Задаем вращение относительно оси, перпендикулярной исходному вектору
|
||||||
SphericalCoordinates rotate = new SphericalCoordinates(1, 0, theta);
|
SphericalCoordinates rotate = new SphericalCoordinates(1, 0, theta);
|
||||||
// поворачиваем исходный вектора на dTheta
|
// поворачиваем исходный вектор на dTheta
|
||||||
Rotation rot = new Rotation(rotate.getCartesian(), phi);
|
Rotation rot = new Rotation(rotate.getCartesian(), phi);
|
||||||
|
|
||||||
Vector3D result = rot.applyTo(init.getCartesian());
|
Vector3D result = rot.applyTo(init.getCartesian());
|
||||||
@ -214,20 +199,6 @@ public class ElectronTrappingSimulator {
|
|||||||
return Math.acos(x);
|
return Math.acos(x);
|
||||||
}
|
}
|
||||||
|
|
||||||
// /**
|
|
||||||
// * Генерируем случайный угол таким образом, чтобы электрон заведомо был
|
|
||||||
// * траппинговый
|
|
||||||
// *
|
|
||||||
// * @return
|
|
||||||
// */
|
|
||||||
// public double getRandomTrappedTheta() {
|
|
||||||
// double res = 0;
|
|
||||||
// while (res < this.thetaTransport) {
|
|
||||||
// res = this.getRandomTheta();
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
// return res;
|
|
||||||
// }
|
|
||||||
public class SimulaionResult {
|
public class SimulaionResult {
|
||||||
|
|
||||||
public SimulaionResult(EndState state, double E, double theta, int collisionNumber) {
|
public SimulaionResult(EndState state, double E, double theta, int collisionNumber) {
|
||||||
|
@ -31,7 +31,7 @@ public class Trapping {
|
|||||||
int rejected = 0;
|
int rejected = 0;
|
||||||
int lowE = 0;
|
int lowE = 0;
|
||||||
|
|
||||||
ArrayList<ElectronTrappingSimulator.SimulaionResult> results = simulator.simulateAll(E, 100000);
|
ArrayList<ElectronTrappingSimulator.SimulaionResult> results = simulator.simulateAll(E, 500000);
|
||||||
|
|
||||||
for (Iterator<ElectronTrappingSimulator.SimulaionResult> it = results.iterator(); it.hasNext();) {
|
for (Iterator<ElectronTrappingSimulator.SimulaionResult> it = results.iterator(); it.hasNext();) {
|
||||||
ElectronTrappingSimulator.SimulaionResult res = it.next();
|
ElectronTrappingSimulator.SimulaionResult res = it.next();
|
||||||
@ -63,7 +63,6 @@ public class Trapping {
|
|||||||
|
|
||||||
System.out.printf("The spectrometer acceptance angle is %g.%n", simulator.thetaPinch * 180 / Math.PI);
|
System.out.printf("The spectrometer acceptance angle is %g.%n", simulator.thetaPinch * 180 / Math.PI);
|
||||||
System.out.printf("The transport mirroring angle is %g.%n", simulator.thetaTransport * 180 / Math.PI);
|
System.out.printf("The transport mirroring angle is %g.%n", simulator.thetaTransport * 180 / Math.PI);
|
||||||
System.out.printf("The spectrometer acceptance angle is %g.%n", simulator.thetaPinch * 180 / Math.PI);
|
|
||||||
System.out.printf("The starting energy is %g.%n", E);
|
System.out.printf("The starting energy is %g.%n", E);
|
||||||
System.out.printf("The lower energy boundary is %g.%n%n", simulator.Elow);
|
System.out.printf("The lower energy boundary is %g.%n%n", simulator.Elow);
|
||||||
|
|
||||||
@ -73,11 +72,11 @@ public class Trapping {
|
|||||||
System.out.printf("The total number of LOWENERGY events is %d.%n%n", lowE);
|
System.out.printf("The total number of LOWENERGY events is %d.%n%n", lowE);
|
||||||
|
|
||||||
if (out != null) {
|
if (out != null) {
|
||||||
|
out.println();
|
||||||
out.printf("The total number of events is %d.%n%n", results.size());
|
out.printf("The total number of events is %d.%n%n", results.size());
|
||||||
|
|
||||||
out.printf("The spectrometer acceptance angle is %g.%n", simulator.thetaPinch * 180 / Math.PI);
|
out.printf("The spectrometer acceptance angle is %g.%n", simulator.thetaPinch * 180 / Math.PI);
|
||||||
out.printf("The transport mirroring angle is %g.%n", simulator.thetaTransport * 180 / Math.PI);
|
out.printf("The transport mirroring angle is %g.%n", simulator.thetaTransport * 180 / Math.PI);
|
||||||
out.printf("The spectrometer acceptance angle is %g.%n", simulator.thetaPinch * 180 / Math.PI);
|
|
||||||
out.printf("The starting energy is %g.%n", E);
|
out.printf("The starting energy is %g.%n", E);
|
||||||
out.printf("The lower energy boundary is %g.%n%n", simulator.Elow);
|
out.printf("The lower energy boundary is %g.%n%n", simulator.Elow);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user