![]() |
KaliVeda
Toolkit for HIC analysis
|
Based on the 'range' C library of: Author: Ricardo Yanez Copyright (c) 2005-2011 Ricardo Yanez ricardo.yanez@calel.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.