KaliVeda
Toolkit for HIC analysis
|
Based on the 'range' C library of: Author: Ricardo Yanez Copyright (c) 2005-2011 Ricardo Yanez ricar.nosp@m.do.y.nosp@m.anez@.nosp@m.cale.nosp@m.l.org Calculates energy loss of an ion in an absorber by constructing range tables based on either the, Northcliffe-Schilling correlations (E/A < 12 MeV/A) (L.C. Northcliffe, R.F. Schilling, Nucl. Data Tables A7, 233, 1970). or, Hubert-Bimbot-Gauvin correlations (2.5 < E/A < 100 MeV/A) (Atomic Data and Nuclear Data Tables, 1990, 46, pp. 1-213). License: This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Definition at line 39 of file KVRangeYanezMaterial.cpp.
Classes | |
struct | elem |
Public Member Functions | |
void | alion (int zp, double *dedxz2) |
void | alref (double le, double *lz, double *dedx) |
double | dedx (int icorr, double e, int zp, int ap, int zt, int at) |
void | dedxtab (int icorr, int zp, int ap, int iabso, int zt, int at, double e, double *tdedxe, double *tdedxn) |
void | def_absorber (int zt, int at, int iabso) |
double | ededx (double e, int zp, int zt) |
double | ededxh (double e, int zp, int zt) |
double | egassap (int icorr, int zp, int ap, int iabso, int zt, int at, double t, double eut, double *err) |
void | gfact (double *le, int zt, double *f) |
unsigned int | locate (double y[], int n, double x) |
void | mpyers (double *le, int zt, double *f) |
double | ndedx (double e, int zp, int ap, int zt, int at) |
double | passage (int icorr, int zp, int ap, int iabso, int zt, int at, double ein, double t, double *err) |
double | polint (double *xa, double *ya, int n, double x, double *dy) |
double | rangen (int icorr, int zp, int ap, int iabso, int zt, int at, double ein) |
void | rangetab (int icorr, int zp, int ap, int iabso, int zt, int at, double *em, double *r, int *n) |
double | s2az (double e, int zt) |
double | SMOOTHERSTEP (double x) |
void | splie2 (double TOTO[], double x2a[], double *ya[], int m, int n, double *y2a[]) |
void | splin2 (double x1a[], double x2a[], double *ya[], double *y2a[], int m, int n, double x1, double x2, double *y) |
void | spline (double x[], double y[], int n, double yp1, double ypn, double *y2) |
void | splint (double xa[], double ya[], double y2a[], int n, double x, double *y) |
double | thickn (int icorr, int zp, int ap, int iabso, int zt, int at, double ein, double delen) |
Public Attributes | |
std::vector< elem > | absorb {NELMAX} |
int | is_gas = 0 |
int | nelem |
Private Attributes | |
std::vector< elem > | cmpnd {NELMAX} |
const double | FMT = 0.005 |
int | isw1 = 0 |
int | isw2 = 0 |
int | isw3 = 0 |
int | isw4 = 0 |
int | isw5 = 0 |
int | numel |
void range::alion | ( | int | zp, |
double * | dedxz2 | ||
) |
Definition at line 1275 of file KVRangeYanezMaterial.cpp.
void range::alref | ( | double | le, |
double * | lz, | ||
double * | dedx | ||
) |
Definition at line 1307 of file KVRangeYanezMaterial.cpp.
double range::dedx | ( | int | icorr, |
double | e, | ||
int | zp, | ||
int | ap, | ||
int | zt, | ||
int | at | ||
) |
Compute 1/(dE/dx) for a given energy E/A and projectile and target.
Definition at line 905 of file KVRangeYanezMaterial.cpp.
void range::dedxtab | ( | int | icorr, |
int | zp, | ||
int | ap, | ||
int | iabso, | ||
int | zt, | ||
int | at, | ||
double | e, | ||
double * | tdedxe, | ||
double * | tdedxn | ||
) |
Definition at line 849 of file KVRangeYanezMaterial.cpp.
void range::def_absorber | ( | int | zt, |
int | at, | ||
int | iabso | ||
) |
Definition at line 368 of file KVRangeYanezMaterial.cpp.
double range::ededx | ( | double | e, |
int | zp, | ||
int | zt | ||
) |
Compute the "electrical" energy loss rate in any material (-dE/dx)/Z2
Definition at line 939 of file KVRangeYanezMaterial.cpp.
double range::ededxh | ( | double | e, |
int | zp, | ||
int | zt | ||
) |
Definition at line 1035 of file KVRangeYanezMaterial.cpp.
double range::egassap | ( | int | icorr, |
int | zp, | ||
int | ap, | ||
int | iabso, | ||
int | zt, | ||
int | at, | ||
double | t, | ||
double | eut, | ||
double * | err | ||
) |
Calculate incoming energy of ion before passage through an absorber of thickness t.
Definition at line 595 of file KVRangeYanezMaterial.cpp.
void range::gfact | ( | double * | le, |
int | zt, | ||
double * | f | ||
) |
Definition at line 1182 of file KVRangeYanezMaterial.cpp.
|
inline |
Definition at line 243 of file KVRangeYanezMaterial.cpp.
void range::mpyers | ( | double * | le, |
int | zt, | ||
double * | f | ||
) |
Definition at line 1100 of file KVRangeYanezMaterial.cpp.
double range::ndedx | ( | double | e, |
int | zp, | ||
int | ap, | ||
int | zt, | ||
int | at | ||
) |
Definition at line 1010 of file KVRangeYanezMaterial.cpp.
double range::passage | ( | int | icorr, |
int | zp, | ||
int | ap, | ||
int | iabso, | ||
int | zt, | ||
int | at, | ||
double | ein, | ||
double | t, | ||
double * | err | ||
) |
Calculate energy of ion after passage through an absorber foil.
Definition at line 554 of file KVRangeYanezMaterial.cpp.
|
inline |
Definition at line 201 of file KVRangeYanezMaterial.cpp.
double range::rangen | ( | int | icorr, |
int | zp, | ||
int | ap, | ||
int | iabso, | ||
int | zt, | ||
int | at, | ||
double | ein | ||
) |
Calculate the range of a projectile
Definition at line 678 of file KVRangeYanezMaterial.cpp.
void range::rangetab | ( | int | icorr, |
int | zp, | ||
int | ap, | ||
int | iabso, | ||
int | zt, | ||
int | at, | ||
double * | em, | ||
double * | r, | ||
int * | n | ||
) |
Calculates a range table given projectile and absorber. Tables are saved in memory to speed up calculations. Up to NSAV such tables are saved.
Definition at line 707 of file KVRangeYanezMaterial.cpp.
double range::s2az | ( | double | e, |
int | zt | ||
) |
Definition at line 1653 of file KVRangeYanezMaterial.cpp.
|
inline |
SMOOTHERSTEP = interpolating function with zero first- and second- derivatives at the end points
Definition at line 135 of file KVRangeYanezMaterial.cpp.
|
inline |
Definition at line 261 of file KVRangeYanezMaterial.cpp.
|
inline |
Definition at line 280 of file KVRangeYanezMaterial.cpp.
|
inline |
Definition at line 297 of file KVRangeYanezMaterial.cpp.
|
inline |
Definition at line 332 of file KVRangeYanezMaterial.cpp.
double range::thickn | ( | int | icorr, |
int | zp, | ||
int | ap, | ||
int | iabso, | ||
int | zt, | ||
int | at, | ||
double | ein, | ||
double | delen | ||
) |
Calculate absorber thickness for a given energy decrement
Definition at line 641 of file KVRangeYanezMaterial.cpp.
std::vector<elem> range::absorb {NELMAX} |
Definition at line 94 of file KVRangeYanezMaterial.cpp.
|
private |
Definition at line 89 of file KVRangeYanezMaterial.cpp.
|
private |
Definition at line 74 of file KVRangeYanezMaterial.cpp.
int range::is_gas = 0 |
Definition at line 93 of file KVRangeYanezMaterial.cpp.
|
private |
Definition at line 76 of file KVRangeYanezMaterial.cpp.
|
private |
Definition at line 77 of file KVRangeYanezMaterial.cpp.
|
private |
Definition at line 78 of file KVRangeYanezMaterial.cpp.
|
private |
Definition at line 79 of file KVRangeYanezMaterial.cpp.
|
private |
Definition at line 80 of file KVRangeYanezMaterial.cpp.
int range::nelem |
Definition at line 92 of file KVRangeYanezMaterial.cpp.
|
private |
Definition at line 82 of file KVRangeYanezMaterial.cpp.