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
@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]);
}
}
&E_NODEX
&EndoEAff I_NODEX E_NODEX endo_NODEX
&endE_NODEX/code>