|
|||||||||||
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 |
Constructor Summary | |
DoublePowerLawRangeFunction(ParameterSet[] params_,
float E0_,
float l0_,
int modelId,
int particleId,
PartTable partTable)
Default constructor. |
Method Summary | |
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) |
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) |
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, setDefaultParams, setDefaultParamsId, setMaterialRange, setModelId, setParticleId, setPartTable |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
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 |
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)
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)
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |