modified: MakeVertex.C
modified: eloss_calculations/Eloss.py making lookup tables for aluminum, fluorine, and oxygen new file: eloss_calculations/aluminum_lookup_80MeV.dat new file: eloss_calculations/fluorine_lookup_70MeV.dat new file: eloss_calculations/oxygen_lookup_70MeV.dat
This commit is contained in:
parent
164a3e2e57
commit
1d7b9dde47
13
MakeVertex.C
13
MakeVertex.C
|
|
@ -1251,6 +1251,19 @@ Bool_t MakeVertex::Process(Long64_t entry)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}*/
|
}*/
|
||||||
|
// ==========================================================
|
||||||
|
// Kinematics for Inverse 27Al + Alpha Scattering
|
||||||
|
// Format: (m_beam, m_target, m_ejectile, m_recoil, beam_energy_in_MeV)
|
||||||
|
// ==========================================================
|
||||||
|
|
||||||
|
double beam_energy = 72.0;
|
||||||
|
|
||||||
|
//Reaction
|
||||||
|
Kinematics apkin_p(26.981538, 4.002603, 1.007825, 29.973770, beam_energy);
|
||||||
|
|
||||||
|
//(Elastic Scattering)
|
||||||
|
Kinematics apkin_a(26.981538, 4.002603, 4.002603, 26.981538, beam_energy);
|
||||||
|
|
||||||
|
|
||||||
///////////////////Single wire analysis for the anodes///////////////////
|
///////////////////Single wire analysis for the anodes///////////////////
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ MEV2U = 1.0 / 931.494
|
||||||
# Gas Density Calculations
|
# Gas Density Calculations
|
||||||
p_pa = P_TORR * 133.322
|
p_pa = P_TORR * 133.322
|
||||||
molar_density = p_pa / (R * TEMP_K)
|
molar_density = p_pa / (R * TEMP_K)
|
||||||
m_he, m_c, m_o = 4.0026, 12.0000, 15.9949
|
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.96 * m_he) + (0.04 * (m_c + 2*m_o))
|
||||||
rho_g_cm3 = (molar_density * m_mix_avg) / 1e6
|
rho_g_cm3 = (molar_density * m_mix_avg) / 1e6
|
||||||
print(f"Gas density at {P_TORR} Torr: {rho_g_cm3:.6e} g/cm^3")
|
print(f"Gas density at {P_TORR} Torr: {rho_g_cm3:.6e} g/cm^3")
|
||||||
|
|
@ -23,7 +23,7 @@ gas_mix.density(rho_g_cm3)
|
||||||
# Thickness step settings
|
# Thickness step settings
|
||||||
step_mg_cm2 = 0.001 # 1 ug/cm2 steps as per your example
|
step_mg_cm2 = 0.001 # 1 ug/cm2 steps as per your example
|
||||||
step_g_cm2 = step_mg_cm2 / 1000.0
|
step_g_cm2 = step_mg_cm2 / 1000.0
|
||||||
max_steps = 100000 # Adjust based on how far you want to track
|
max_steps = 1000000000 # Adjust based on how far you want to track
|
||||||
|
|
||||||
def generate_lookup(z, mass_u, e_start_mev, label):
|
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.dat"
|
||||||
|
|
@ -42,7 +42,7 @@ def generate_lookup(z, mass_u, e_start_mev, label):
|
||||||
|
|
||||||
# 2. Calculate energy loss for the NEXT step
|
# 2. Calculate energy loss for the NEXT step
|
||||||
e_u = current_e_total / mass_u
|
e_u = current_e_total / mass_u
|
||||||
if e_u < 0.01: # Stop at ATIMA limit
|
if e_u < 0.0001: # Stop at ATIMA limit
|
||||||
break
|
break
|
||||||
|
|
||||||
projectile.T(e_u)
|
projectile.T(e_u)
|
||||||
|
|
@ -59,4 +59,7 @@ def generate_lookup(z, mass_u, e_start_mev, label):
|
||||||
# --- 3. Run ---
|
# --- 3. Run ---
|
||||||
# Format: generate_lookup(Z, mass_u, E_start_MeV, label)
|
# Format: generate_lookup(Z, mass_u, E_start_MeV, label)
|
||||||
generate_lookup(1, 1.0078, 20, "proton")
|
generate_lookup(1, 1.0078, 20, "proton")
|
||||||
generate_lookup(2, 4.0026, 20, "alpha")
|
generate_lookup(2, 4.0026, 20, "alpha")
|
||||||
|
generate_lookup(13,26.9815, 80, "aluminum")
|
||||||
|
generate_lookup(9,17.0021, 70, "fluorine")
|
||||||
|
generate_lookup(8,15.9949, 70, "oxygen")
|
||||||
4366
eloss_calculations/aluminum_lookup_80MeV.dat
Normal file
4366
eloss_calculations/aluminum_lookup_80MeV.dat
Normal file
File diff suppressed because it is too large
Load Diff
6941
eloss_calculations/fluorine_lookup_70MeV.dat
Normal file
6941
eloss_calculations/fluorine_lookup_70MeV.dat
Normal file
File diff suppressed because it is too large
Load Diff
8548
eloss_calculations/oxygen_lookup_70MeV.dat
Normal file
8548
eloss_calculations/oxygen_lookup_70MeV.dat
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user