diff options
author | tlatorre <tlatorre@uchicago.edu> | 2018-09-11 10:25:28 -0500 |
---|---|---|
committer | tlatorre <tlatorre@uchicago.edu> | 2018-09-11 10:25:28 -0500 |
commit | d70984de03adf3ceb37734b700426d0f1ededd7f (patch) | |
tree | a76882e9c10a1b84ae523901786f7cb3fdab29f0 /src/muon.c | |
parent | ebe4b59376622009818ffb96f109221571e33dfb (diff) | |
download | sddm-d70984de03adf3ceb37734b700426d0f1ededd7f.tar.gz sddm-d70984de03adf3ceb37734b700426d0f1ededd7f.tar.bz2 sddm-d70984de03adf3ceb37734b700426d0f1ededd7f.zip |
add absorption length
This commit adds the absorption length to the likelihood calculation. For now
I'm just using a single number independent of wavelength. I should update this
in the future to actually use the absorption lengths as measured by SNO and
then calculate an overall absorption length weighted by the Cerenkov spectrum
and the PMT quantum efficiency.
Diffstat (limited to 'src/muon.c')
-rw-r--r-- | src/muon.c | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -227,11 +227,14 @@ double get_dEdx(double T, double rho) double get_expected_charge(double x, double T, double theta0, double *pos, double *dir, double *pmt_pos, double *pmt_normal, double r) { - double pmt_dir[3], cos_theta, n, wavelength0, omega, E, p, beta, z, R, f, cos_theta_pmt; + double pmt_dir[3], cos_theta, n, wavelength0, omega, E, p, beta, z, R, f, cos_theta_pmt, absorption_length, distance; z = 1.0; SUB(pmt_dir,pmt_pos,pos); + + distance = NORM(pmt_dir); + normalize(pmt_dir); cos_theta_pmt = DOT(pmt_dir,pmt_normal); @@ -264,6 +267,8 @@ double get_expected_charge(double x, double T, double theta0, double *pos, doubl f = get_weighted_pmt_response(acos(-cos_theta_pmt)); + absorption_length = get_absorption_length_snoman_d2o(wavelength0); + /* FIXME: add angular response and scattering/absorption. */ - return f*omega*FINE_STRUCTURE_CONSTANT*z*z*(1-(1/(beta*beta*n*n)))*get_probability(beta, cos_theta, theta0); + return f*exp(-distance/absorption_length)*omega*FINE_STRUCTURE_CONSTANT*z*z*(1-(1/(beta*beta*n*n)))*get_probability(beta, cos_theta, theta0); } |