package affectors; import main.Node; import main.Globals; /** For endocytosis from an extracellular node - sided; use this one in the node that is getting endocytosed. Note that a separate Node is used for the intracellular and the extracellular protein pools, even though the protein itself may be identical in both locations.

Formula
dI_NODEX/dt = - endo_NODEX * E_NODEX

Parameters
Intracellular Node [I_NODEX] The extracellular Node that is being endocytosed
Extracellular Node [E_NODEX] The intracellular Node representing the now intracellular protein
Endocytosis rate [endo_NODEX] The rate at which Node is endocytosed.

Usage
&E_NODEX

&EndoEAff I_NODEX E_NODEX endo_NODEX
&endE_NODEX/code>

@see EndoIAff */ public class EndoEAff extends Affector { /** Rate of endocytosis. */ int endoParam; static final String desc = "Endocytosis; version E for the Node that gets endocytosed"; static final String [] nodeDescriptions = {"Intracellular form", "Extracellular form"}; static final String [] paramDescriptions = {"Rate of endocytosis"}; static final int [] whichSides = { -1, -1 }; public EndoEAff() {} protected void setLabelsAndTypes() { setDescriptions(this.desc, nodeDescriptions, paramDescriptions); setSided(true, whichSides); setContainsTarget(true); this.Type[GUI_CAPABLE] = 1; this.Type[CERTIFICATION] = Affector.RETURNS_DERIV; this.Type[MATHTYPE] = Affector.HH; this.Type[TERMTYPE] = Affector.CONVERSION; } public void setParameterNumbers(int [] param_nums) { endoParam = param_nums[0]; } public float getValue(Node which_node) { return -Globals.characteristicTime * (params[endoParam]*Nodes[1].getIntegrationValue(side)); } public float getNCValue(Node which_node) { return -Globals.characteristicTime * (params[endoParam]); } }