spis.Surf.InteractModel
Class ProtonRangeFunction1

java.lang.Object
  extended byspis.Surf.InteractModel.FunctionOfParticle
      extended byspis.Surf.InteractModel.FunctionOfParticleE
          extended byspis.Surf.InteractModel.RangeFunction
              extended byspis.Surf.InteractModel.ProtonRangeFunction1
All Implemented Interfaces:
ScalFunctionOf4Scal, ScalFunctionOfScal

public class ProtonRangeFunction1
extends RangeFunction

Class Name : ProtonRangeFunction1
Project ref : SPIS project
File name : ProtonRangeFunction1.java
File type : class
Copyright : ONERA, 2 Av. E. Belin, 31055 Toulouse cedex, France http://www.onecert.fr
Status : under development
Creation : 22 oct. 2004
Modification :

Description : implements the proton range function defined by:
R(E) = 1/c (2E^(1/2) + 2/3 E^(3/2)/Emax)
derived from NASCAP manual Eq 3.14: -dE/dx = cE^1/2 / (1+E/Emax)
where Emax and c material-dependent parameters are passed to the constructor (Emax is a NASCAP parameter, c is determined in SEEPYieldFunction1 so as to get the right SEE yield at 1 keV).

Version:
0.1
Author:
JF Roussel
See Also:


Summary of units policy for this Function:
everything is SPIS units (eV, m...).

Versions and anomalies correction :
Version numberAuthor (name, e-mail) Corrections/Modifications
0.1 JF Roussel, roussel@onecert.frCreation



Constructor Summary
ProtonRangeFunction1(ParameterSet[] EmaxParams, ParameterSet[] cParams, 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

ProtonRangeFunction1

public ProtonRangeFunction1(ParameterSet[] EmaxParams,
                            ParameterSet[] cParams,
                            int modelId,
                            int particleId,
                            PartTable partTable)
Default constructor.

Parameters:
EmaxParams - Emax parameters (one per material)
cParams - c parameters [m-1.eV1/2] (one per material)
partTable - particle table the particle Id refers to
Method Detail

computeDeriv

public float computeDeriv(float E,
                          float matModId,
                          float matId,
                          float partId)
Description copied from class: RangeFunction
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)

Specified by:
computeDeriv in class RangeFunction
Parameters:
E - particle energy [eV] (and not keV as often)
matModId -
matId -
partId -
Returns:
d(range)/dE [m.eV-1]
See Also:
RangeFunction.computeDeriv(float, float, float, float)

computeDeriv

public float computeDeriv(float E)
Description copied from class: RangeFunction
returns dR/dE as a function of energy

Specified by:
computeDeriv in class RangeFunction
Parameters:
E - particle energy [eV] (and not keV)
Returns:
d(range)/dE [m.eV-1]
See Also:
RangeFunction.computeDeriv(float)

computeSecondDeriv

public float computeSecondDeriv(float E,
                                float matModId,
                                float matId,
                                float partId)
Description copied from class: RangeFunction
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)

Specified by:
computeSecondDeriv in class RangeFunction
Parameters:
E - particle energy [eV] (and not keV)
matModId -
matId -
partId -
Returns:
d2(range)/dE2 [m.eV-2]
See Also:
RangeFunction.computeSecondDeriv(float, float, float, float)

computeSecondDeriv

public float computeSecondDeriv(float E)
Description copied from class: RangeFunction
returns d2R/dE2 as a function of energy

Specified by:
computeSecondDeriv in class RangeFunction
Parameters:
E - particle energy [eV] (and not keV)
Returns:
d2(range)/dE2 [m.eV-2]
See Also:
RangeFunction.computeSecondDeriv(float)