modified: MakeVertex.C
modified: eloss_calculations/Eloss.py deleted: eloss_calculations/alpha_lookup_20MeV_3pc.dat deleted: eloss_calculations/alpha_lookup_20MeV_3pc_350Torr.dat deleted: eloss_calculations/alpha_lookup_20MeV_4pc.dat deleted: eloss_calculations/alpha_lookup_20MeV_4pc_350Torr.dat renamed: eloss_calculations/deutron_lookup_20MeV_3pc.dat -> eloss_calculations/alpha_lookup_50MeV_250torr_3pc.dat new file: eloss_calculations/alpha_lookup_50MeV_250torr_4pc.dat new file: eloss_calculations/alpha_lookup_50MeV_350torr_3pc.dat new file: eloss_calculations/alpha_lookup_50MeV_350torr_4pc.dat deleted: eloss_calculations/alpha_lookup_6.0MeV.dat new file: eloss_calculations/aluminum_lookup_80MeV_250torr_3pc.dat renamed: eloss_calculations/aluminum_lookup_80MeV_4pc.dat -> eloss_calculations/aluminum_lookup_80MeV_250torr_4pc.dat new file: eloss_calculations/aluminum_lookup_80MeV_350torr_3pc.dat renamed: eloss_calculations/aluminum_lookup_80MeV_4pc_350Torr.dat -> eloss_calculations/aluminum_lookup_80MeV_350torr_4pc.dat deleted: eloss_calculations/aluminum_lookup_80MeV_3pc.dat deleted: eloss_calculations/aluminum_lookup_80MeV_3pc_350Torr.dat new file: eloss_calculations/fluorine_lookup_70MeV_250torr_3pc.dat renamed: eloss_calculations/fluorine_lookup_70MeV_4pc.dat -> eloss_calculations/fluorine_lookup_70MeV_250torr_4pc.dat new file: eloss_calculations/fluorine_lookup_70MeV_350torr_3pc.dat renamed: eloss_calculations/fluorine_lookup_70MeV_4pc_350Torr.dat -> eloss_calculations/fluorine_lookup_70MeV_350torr_4pc.dat deleted: eloss_calculations/fluorine_lookup_70MeV_3pc.dat deleted: eloss_calculations/fluorine_lookup_70MeV_3pc_350Torr.dat deleted: eloss_calculations/make_eloss_table.C new file: eloss_calculations/oxygen_lookup_70MeV_250torr_3pc.dat renamed: eloss_calculations/oxygen_lookup_70MeV_4pc.dat -> eloss_calculations/oxygen_lookup_70MeV_250torr_4pc.dat new file: eloss_calculations/oxygen_lookup_70MeV_350torr_3pc.dat renamed: eloss_calculations/oxygen_lookup_70MeV_4pc_350Torr.dat -> eloss_calculations/oxygen_lookup_70MeV_350torr_4pc.dat deleted: eloss_calculations/oxygen_lookup_70MeV_3pc.dat deleted: eloss_calculations/oxygen_lookup_70MeV_3pc_350Torr.dat deleted: eloss_calculations/proton_lookup_20MeV_3pc.dat deleted: eloss_calculations/proton_lookup_20MeV_3pc_350Torr.dat deleted: eloss_calculations/proton_lookup_20MeV_4pc.dat deleted: eloss_calculations/proton_lookup_20MeV_4pc_350Torr.dat deleted: eloss_calculations/proton_lookup_6.0MeV.dat
This commit is contained in:
parent
3cfecd4c29
commit
dae9ca32cc
4158
MakeVertex.C
4158
MakeVertex.C
File diff suppressed because it is too large
Load Diff
|
|
@ -6,18 +6,18 @@ P_TORR = 250
|
|||
TEMP_K = 293.15
|
||||
R = 8.3144
|
||||
MEV2U = 1.0 / 931.494
|
||||
P_CO2 = 4
|
||||
|
||||
# Gas Density Calculations
|
||||
p_pa = P_TORR * 133.322
|
||||
molar_density = p_pa / (R * TEMP_K)
|
||||
m_he, m_c, m_o= 4.0026, 12.0000, 15.9949
|
||||
# m_mix_avg = (0.96 * m_he) + (0.04 * (m_c + 2*m_o))
|
||||
m_mix_avg = (0.97 * m_he) + (0.03 * (m_c + 2*m_o))
|
||||
m_mix_avg = ((1 - P_CO2 / 100) * m_he) + (P_CO2 / 100 * (m_c + 2*m_o))
|
||||
rho_g_cm3 = (molar_density * m_mix_avg) / 1e6
|
||||
print(f"Gas density at {P_TORR} Torr: {rho_g_cm3:.6e} g/cm^3")
|
||||
|
||||
# --- 2. Material & Step Setup ---
|
||||
material_def = [(m_he, 2, 0.96), (m_c, 6, 0.04), (m_o, 8, 0.08)]
|
||||
material_def = [(m_he, 2, (1 - P_CO2 / 100)), (m_c, 6, P_CO2 / 100), (m_o, 8, 2*P_CO2 / 100)]
|
||||
gas_mix = catima.Material(material_def)
|
||||
gas_mix.density(rho_g_cm3)
|
||||
|
||||
|
|
@ -27,7 +27,7 @@ step_g_cm2 = step_mg_cm2 / 1000.0
|
|||
max_steps = 1000000000 # Adjust based on how far you want to track
|
||||
|
||||
def generate_lookup(z, mass_u, e_start_mev, label):
|
||||
filename = f"{label}_lookup_{e_start_mev}MeV.dat"
|
||||
filename = f"{label}_lookup_{e_start_mev}MeV_{P_TORR}torr_{P_CO2}pc.dat"
|
||||
projectile = catima.Projectile(mass_u, z)
|
||||
|
||||
current_e_total = e_start_mev
|
||||
|
|
@ -59,9 +59,9 @@ def generate_lookup(z, mass_u, e_start_mev, label):
|
|||
|
||||
# --- 3. Run ---
|
||||
# Format: generate_lookup(Z, mass_u, E_start_MeV, label)
|
||||
generate_lookup(1, 1.0078, 20, "proton")
|
||||
generate_lookup(2, 4.0026, 20, "alpha")
|
||||
generate_lookup(1, 2.01355, 20, "deutron")
|
||||
generate_lookup(1, 1.0078, 30, "proton")
|
||||
generate_lookup(1, 2.01355, 30, "deutron")
|
||||
generate_lookup(2, 4.0026, 50, "alpha")
|
||||
generate_lookup(13,26.9815, 80, "aluminum")
|
||||
generate_lookup(9,17.0021, 70, "fluorine")
|
||||
generate_lookup(8,15.9949, 70, "oxygen")
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
167504
eloss_calculations/alpha_lookup_50MeV_250torr_4pc.dat
Normal file
167504
eloss_calculations/alpha_lookup_50MeV_250torr_4pc.dat
Normal file
File diff suppressed because it is too large
Load Diff
170024
eloss_calculations/alpha_lookup_50MeV_350torr_3pc.dat
Normal file
170024
eloss_calculations/alpha_lookup_50MeV_350torr_3pc.dat
Normal file
File diff suppressed because it is too large
Load Diff
167504
eloss_calculations/alpha_lookup_50MeV_350torr_4pc.dat
Normal file
167504
eloss_calculations/alpha_lookup_50MeV_350torr_4pc.dat
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
4423
eloss_calculations/aluminum_lookup_80MeV_250torr_3pc.dat
Normal file
4423
eloss_calculations/aluminum_lookup_80MeV_250torr_3pc.dat
Normal file
File diff suppressed because it is too large
Load Diff
4423
eloss_calculations/aluminum_lookup_80MeV_350torr_3pc.dat
Normal file
4423
eloss_calculations/aluminum_lookup_80MeV_350torr_3pc.dat
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
7033
eloss_calculations/fluorine_lookup_70MeV_250torr_3pc.dat
Normal file
7033
eloss_calculations/fluorine_lookup_70MeV_250torr_3pc.dat
Normal file
File diff suppressed because it is too large
Load Diff
7033
eloss_calculations/fluorine_lookup_70MeV_350torr_3pc.dat
Normal file
7033
eloss_calculations/fluorine_lookup_70MeV_350torr_3pc.dat
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -1,29 +0,0 @@
|
|||
#include "/home/sud/Desktop/Software2/propagator/elastcaller.h"
|
||||
void make_eloss_table_protons() {
|
||||
double einput = 20.0, estepnow;
|
||||
double target_thickness_unit = 4e-2; //mg/cm2.
|
||||
double density = 0.0711;//mg/cm3
|
||||
long i=0;
|
||||
while(einput > 0.001) {
|
||||
std::cout << "After " << i << " steps, 1H is at " << einput << " MeV after penetrating " << i*target_thickness_unit << " mg/cm2 " << i*target_thickness_unit/density << " cm of HeCO2" << std::endl;
|
||||
estepnow = slowmedown("1H",einput,"3(12C)6(16O)97(4He)",target_thickness_unit);
|
||||
|
||||
einput = estepnow;
|
||||
i+=1;
|
||||
}
|
||||
}
|
||||
|
||||
void make_eloss_table() {
|
||||
double einput = 20.0, estepnow;
|
||||
double target_thickness_unit = 1e-3; //mg/cm2.
|
||||
double density = 0.0711;//mg/cm3
|
||||
long i=0;
|
||||
while(einput > 0.001) {
|
||||
std::cout << "After " << i << " steps, 4He is at " << einput << " MeV after penetrating " << i*target_thickness_unit << " mg/cm2 " << i*target_thickness_unit/density << " cm of HeCO2" << std::endl;
|
||||
estepnow = slowmedown("4He",einput,"3(12C)6(16O)97(4He)",target_thickness_unit);
|
||||
|
||||
|
||||
einput = estepnow;
|
||||
i+=1;
|
||||
}
|
||||
}
|
||||
8664
eloss_calculations/oxygen_lookup_70MeV_250torr_3pc.dat
Normal file
8664
eloss_calculations/oxygen_lookup_70MeV_250torr_3pc.dat
Normal file
File diff suppressed because it is too large
Load Diff
8664
eloss_calculations/oxygen_lookup_70MeV_350torr_3pc.dat
Normal file
8664
eloss_calculations/oxygen_lookup_70MeV_350torr_3pc.dat
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user