spis.Surf.InteractModel
Class RangeFunction
java.lang.Object
spis.Surf.InteractModel.FunctionOfParticle
spis.Surf.InteractModel.FunctionOfParticleE
spis.Surf.InteractModel.RangeFunction
- All Implemented Interfaces:
- ScalFunctionOf4Scal, ScalFunctionOfScal
- Direct Known Subclasses:
- DoublePowerLawRangeFunction, ProtonRangeFunction1
- public abstract class RangeFunction
- extends FunctionOfParticleE
Class Name : RangeFunction
Project ref : SPIS project
File name : RangeFunction.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 : Computes the range function R(E), and its derivatives.
Versions and anomalies correction :
Version number | Author (name, e-mail) | Corrections/Modifications |
0.1 | JF Roussel, roussel@onecert.fr | Creation |
- Version:
- 0.1
- Author:
- JF Roussel
Method Summary |
protected abstract float |
compute(float E,
int paramsId)
Returns the range as a function of energy.
|
abstract float |
computeDeriv(float E)
returns dR/dE as a function of energy |
abstract 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) |
abstract float |
computeSecondDeriv(float E)
returns d2R/dE2 as a function of energy |
abstract 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.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 |
RangeFunction
public RangeFunction(int materialRange,
int modelId,
int particleId,
PartTable partTable)
- Parameters:
partTable
-
compute
protected abstract float compute(float E,
int paramsId)
- Returns the range as a function of energy.
May not always be needed, since material-indexed function should be used in principle
(may even be forbidden => throws exception).
- Specified by:
compute
in class FunctionOfParticleE
- Parameters:
E
- particle energy [eV] (and not keV as often)paramsId
- Id of the parameter set to be used (i.e. material Id)
- Returns:
- range [m] (and not Angstrom as often)
- See Also:
FunctionOfParticleE.compute(float, float, float, float)
computeDeriv
public abstract 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)
- Parameters:
E
- particle energy [eV] (and not keV as often)matModId
- matId
- partId
-
- Returns:
- dR/dE [m/eV]
computeDeriv
public abstract float computeDeriv(float E)
- returns dR/dE as a function of energy
- Parameters:
E
- particle energy [eV] (and not keV as often)
- Returns:
- dR/dE [m/eV]
computeSecondDeriv
public abstract 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)
- Parameters:
E
- particle energy [eV] (and not keV as often)matModId
- matId
- partId
-
- Returns:
- d2R/dE2 [m/eV2]
computeSecondDeriv
public abstract float computeSecondDeriv(float E)
- returns d2R/dE2 as a function of energy
- Parameters:
E
- particle energy [eV] (and not keV as often)
- Returns:
- d2R/dE2 [m/eV2]