spis.Surf.InteractModel
Class MultipleInteractor

java.lang.Object
  extended byspis.Surf.InteractModel.Interactor
      extended byspis.Surf.InteractModel.MultipleInteractor
Direct Known Subclasses:
BasicSEEEInteractor

public class MultipleInteractor
extends Interactor

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

Description : a multiple interactor is a set of interactors.
In this implementation they have the same inFlux.
// * They can have one or several outFlux:
// * - if outFlux is a MultipleSurfDistrib, there must be one SurfDistrib per Interactor
// * - if not, all interactors also have their own out flux, but all the results // * are summed up in the same single OutFlux passed to this class constructor.
This MultipleInteractor class can be used to group elementary interactors into a composite interactor having an identified function:
- several populations generated by a single interaction (e.g. true secondary electrons and backscattered electrons)
- interactors of two different material models (they will act on disjoint domains)
...

Versions and anomalies correction :

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


Version:
0.1
Author:
JF Roussel

Field Summary
private  int interactorNb
          number of interactors
private  Interactor[] interactors
          interactors array
private  boolean oneOutFlux
          if true, only one outFlux => results to be added
 
Fields inherited from class spis.Surf.InteractModel.Interactor
inFlux, outFlux, params
 
Constructor Summary
MultipleInteractor(SurfDistrib inFlux, Interactor[] interactors_)
          Default constructor.
 
Method Summary
 void computeInteraction()
          Computes the interaction, not computing the net current in this version
 int getInteractorNb()
           
 Interactor[] getInteractors()
           
protected  void linkInFluxes()
          links individual interactor in fluxes to the global inFlux: they are set equal to the global inFlux
protected  void linkOutFluxes()
          links the global outFlux to the individual interactor out fluxes: // * If the global outFlux is:
// * - a null pointer or a MultipleSurfDistrib, it is redefined // * as a MultipleSurfDistrib with components = the out fluxes of each interactor
// * - a SurfDistrib different type of MultipleSurfDistrib, no mapping, the // * out fluxes of the interactors are mapped to and added to this type of SurfDistrib // * (not yet implemented).
 void setInteractorNb(int i)
           
 void setInteractors(Interactor[] interactors)
           
 
Methods inherited from class spis.Surf.InteractModel.Interactor
computeInteraction, computeMultipleInteraction, getInFlux, getInteractModel, getOutFlux, getParams, setInFlux, setInteractModel, setOutFlux, setParams
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

oneOutFlux

private boolean oneOutFlux
if true, only one outFlux => results to be added


interactors

private Interactor[] interactors
interactors array


interactorNb

private int interactorNb
number of interactors

Constructor Detail

MultipleInteractor

public MultipleInteractor(SurfDistrib inFlux,
                          Interactor[] interactors_)
Default constructor.
The passed interactors do not need to have in fluxes, they will anyway be redefined as the common inFlux passed to this constructor.
On the other hand they must have out fluxes. The global outFlux passed to this constructor can be: - a null pointer or a MultipleSurfDistrib, in which case it is redefined as a MultipleSurfDistrib with components = the out fluxes of each interactor // * - a SurfDistrib different type of MultipleSurfDistrib, in which case the // * out fluxes of the interactors are mapped to and added to this type of SurfDistrib // * (this option not yet implemented at computeInteraction level) // * (this may however be more accurate to use this option with homogeneous // * types of out-fluxes, in particular PICSurfDistrib).

Parameters:
interactors_ -
Method Detail

linkInFluxes

protected void linkInFluxes()
links individual interactor in fluxes to the global inFlux: they are set equal to the global inFlux


linkOutFluxes

protected void linkOutFluxes()
links the global outFlux to the individual interactor out fluxes: // * If the global outFlux is:
// * - a null pointer or a MultipleSurfDistrib, it is redefined // * as a MultipleSurfDistrib with components = the out fluxes of each interactor
// * - a SurfDistrib different type of MultipleSurfDistrib, no mapping, the // * out fluxes of the interactors are mapped to and added to this type of SurfDistrib // * (not yet implemented).


computeInteraction

public void computeInteraction()
Description copied from class: Interactor
Computes the interaction, not computing the net current in this version

Specified by:
computeInteraction in class Interactor
See Also:
Interactor.computeInteraction()

getInteractorNb

public int getInteractorNb()
Returns:

getInteractors

public Interactor[] getInteractors()
Returns:

setInteractorNb

public void setInteractorNb(int i)
Parameters:
i -

setInteractors

public void setInteractors(Interactor[] interactors)
Parameters:
interactors -