|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectspis.Surf.InteractModel.FunctionOfParticle
spis.Surf.InteractModel.FunctionOfParticleE
spis.Surf.InteractModel.RangeFunction
spis.Surf.InteractModel.DoublePowerLawRangeFunction
Class Name : DoublePowerLawRangeFunction
Project ref : SPIS project
File name : DoublePowerLawRangeFunction.java
File type : class
Copyright : ONERA, 2 Av. E. Belin, 31055 Toulouse cedex, France
http://www.onecert.fr
Status : under development
Creation : May 3, 2004
Modification :
Description : implements the range function l0*(r1*(E/E0)^n1 + r2*(E/E0)^n2).
Also returns the range function derivatives (= energy loss function...),
which is used for approximate dose profile computation close to the surface,
in particular for secondary emission.
The constructor inputs are in NASCAP units (Angstroms and keV, see below),
but the computeXX() functions use SPIS more international units (meters and eVs)
In each ParameterSet (one set per material in ParameterSet[] parameter array),
passed to the constructor, parameters must be:
- 0: NASCAP param 7: Range parameter r1 [Angstroms]
in the range expression l0*(r1 (E/E0)^n1 + r2 (E/E0)^n2)
- 1: NASCAP param 8: Range parameter n1 [-]
- 2: NASCAP param 9: Range parameter r2 [Angstroms]
- 3: NASCAP param 10: Range parameter n2 [-]
NB: data in NASCAP databases are for E0 = 1000 eV (eV are energy units in SPIS),
and l0 = 1e-10 m = 1A (length units are meters in SPIS,
but E0 and l0 are defined in the constructors and values different
of 1000 and 1e-10 may be used for non-NASCAP-originating parameters.
Versions and anomalies correction :
Version number | Author (name, e-mail) | Corrections/Modifications |
0.1 | JF Roussel, roussel@onecert.fr | Creation |
Field Summary | |
private float |
E0
energy unit [eV] (usually 1000 eV) |
private float |
l0
length unit in meters (usually 1e-10 m = 1 Angstrom) |
private ParameterSet[] |
params
Double power law parameters |
Fields inherited from class spis.Surf.InteractModel.FunctionOfParticle |
defaultParamsId, materialRange, modelId, particleId, partTable |
Constructor Summary | |
DoublePowerLawRangeFunction(ParameterSet[] params_,
float E0_,
float l0_,
int modelId,
int particleId,
PartTable partTable)
Default constructor. |
Method Summary | |
protected float |
compute(float E,
int parId)
Returns the range as a function of energy. |
float |
computeDeriv(float E)
returns dR/dE as a function of energy |
float |
computeDeriv(float E,
float matModId,
float matId,
float partId)
returns dR/dE as a function of energy, depending on material Id (it is used for approximata dose profile computation close to the surface, in particular for secondary emission) |
private float |
computeDeriv(float E,
int parId)
|
float |
computeSecondDeriv(float E)
returns d2R/dE2 as a function of energy |
float |
computeSecondDeriv(float E,
float matModId,
float matId,
float partId)
returns d2R/dE2 as a function of energy, depending on material Id (it may be used for approximata dose profile computation close to the surface, in particular for secondary emission) |
private float |
computeSecondDeriv(float E,
int parId)
|
Methods inherited from class spis.Surf.InteractModel.FunctionOfParticleE |
compute, compute, compute, compute |
Methods inherited from class spis.Surf.InteractModel.FunctionOfParticle |
getDefaultParamsId, getMaterialRange, getModelId, getParticleId, getPartTable, selectParamSet, setDefaultParams, setDefaultParamsId, setMaterialRange, setModelId, setParticleId, setPartTable |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
private ParameterSet[] params
private float E0
private float l0
Constructor Detail |
public DoublePowerLawRangeFunction(ParameterSet[] params_, float E0_, float l0_, int modelId, int particleId, PartTable partTable)
E0_
- reference energy in l0*(r1*(E/E0)^n1 + r2*(E/E0)^n2 law) (usually 1000 eV in NASCAP databases)l0_
- reference length in l0*(r1*(E/E0)^n1 + r2*(E/E0)^n2 law) (usually 1e-10 in NASCAP databases)partTable
- particle table the particle Id refers toMethod Detail |
protected float compute(float E, int parId)
RangeFunction
compute
in class RangeFunction
E
- particle energy [eV] (and not keV as often)parId
- Id of the parameter set to be used (i.e. material Id)
FunctionOfParticleE.compute(float, float, float, float)
public float computeDeriv(float E, float matModId, float matId, float partId)
RangeFunction
computeDeriv
in class RangeFunction
E
- particle energy [eV] (and not keV as often)matModId
- matId
- partId
-
RangeFunction.computeDeriv(float, float, float, float)
public float computeDeriv(float E)
RangeFunction
computeDeriv
in class RangeFunction
E
- particle energy [eV] (and not keV as often)
RangeFunction.computeDeriv(float)
private float computeDeriv(float E, int parId)
E
- particle energy [eV] (and not keV as often)
public float computeSecondDeriv(float E, float matModId, float matId, float partId)
RangeFunction
computeSecondDeriv
in class RangeFunction
E
- particle energy [eV] (and not keV as often)matModId
- matId
- partId
-
RangeFunction.computeSecondDeriv(float, float, float, float)
public float computeSecondDeriv(float E)
RangeFunction
computeSecondDeriv
in class RangeFunction
E
- particle energy [eV] (and not keV as often)
RangeFunction.computeSecondDeriv(float)
private float computeSecondDeriv(float E, int parId)
E
- particle energy [eV] (and not keV as often)
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |