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:
Vignesh Sitaraman 2026-07-09 12:04:53 -04:00
parent 3cfecd4c29
commit dae9ca32cc
35 changed files with 717925 additions and 2029592 deletions

File diff suppressed because it is too large Load Diff

View File

@ -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

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

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

View File

@ -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;
}
}

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

File diff suppressed because it is too large Load Diff