MOOSE - Multiscale Object Oriented Simulation Environment
|
#include <Neutral.h>
Public Member Functions | |
void | blockNodeBalance (const Eref &e, unsigned int, unsigned int, unsigned int) |
unsigned int | buildTree (const Eref &e, vector< Id > &tree) const |
void | destroy (const Eref &e, int stage) |
void | generalNodeBalance (const Eref &e, unsigned int myNode, vector< unsigned int > nodeAssignment) |
vector< Id > | getChildren (const Eref &e) const |
string | getClass (const Eref &e) const |
vector< string > | getDestFields (const Eref &e) const |
Information function to return names of all DestFinfos. More... | |
double | getDt (const Eref &e) const |
Returns dt associated with this object based on its clock tick. More... | |
unsigned int | getFieldIndex (const Eref &e) const |
fieldIndex specifies field entry if FieldElement. Otherwise zero More... | |
unsigned int | getId (const Eref &e) const |
Id is the Id of the object, converted to unsigned int. More... | |
vector< ObjId > | getIncomingMsgs (const Eref &e) const |
unsigned int | getIndex (const Eref &e) const |
Index is the dataIndex of the object. More... | |
vector< string > | getMsgDestFunctions (const Eref &e, string src) const |
vector< ObjId > | getMsgDests (const Eref &e, string src) const |
string | getName (const Eref &e) const |
vector< Id > | getNeighbors (const Eref &e, string field) const |
unsigned int | getNumData (const Eref &e) const |
unsigned int | getNumField (const Eref &e) const |
ObjId | getObjId (const Eref &e) const |
vector< ObjId > | getOutgoingMsgs (const Eref &e) const |
ObjId | getParent (const Eref &e) const |
string | getPath (const Eref &e) const |
vector< string > | getSourceFields (const Eref &e) const |
Information function to return names of all SrcFinfos. More... | |
Neutral | getThis () const |
int | getTick (const Eref &e) const |
Returns clock tick of this object. More... | |
vector< string > | getValueFields (const Eref &e) const |
Information function to return names of all value Finfos. More... | |
bool | isA (const Eref &e, string className) const |
Neutral () | |
void | setName (const Eref &e, string name) |
void | setNumData (const Eref &e, unsigned int num) |
void | setNumField (const Eref &e, unsigned int num) |
void | setThis (Neutral v) |
void | setTick (const Eref &e, int num) |
Static Public Member Functions | |
static Id | child (const Eref &e, const string &name) |
static void | children (const Eref &e, vector< Id > &ret) |
static const Cinfo * | initCinfo () |
static bool | isDescendant (Id me, Id ancestor) |
static bool | isGlobalField (const string &field) |
static ObjId | parent (const Eref &e) |
static ObjId | parent (ObjId id) |
static string | path (const Eref &e) |
Friends | |
ostream & | operator<< (ostream &s, const Neutral &d) |
istream & | operator>> (istream &s, Neutral &d) |
Neutral::Neutral | ( | ) |
Definition at line 273 of file Neutral.cpp.
void Neutral::blockNodeBalance | ( | const Eref & | e, |
unsigned | int, | ||
unsigned | int, | ||
unsigned | int | ||
) |
Request conversion of data into a blockDataHandler subclass, and to carry out node balancing of data as per args.
Definition at line 627 of file Neutral.cpp.
Referenced by initCinfo().
Builds a vector of all descendants of e
Definition at line 583 of file Neutral.cpp.
References ALLDATA, Eref::element(), getChildren(), and Element::id().
Referenced by destroy(), and verifyKids().
Finds specific named child
Definition at line 665 of file Neutral.cpp.
References ALLDATA, Eref::dataIndex(), Msg::e2(), Eref::element(), Cinfo::findFinfo(), Msg::findOtherEnd(), SrcFinfo::getBindIndex(), Msg::getE2(), DestFinfo::getFid(), Msg::getMsg(), Element::getMsgAndFunc(), Element::getName(), Element::hasFields(), Element::id(), name, Eref::objId(), and parent().
Referenced by ReadKkit::assignPoolCompartments(), buildFromProto(), ReadKkit::buildSumTotal(), SetGet::checkSet(), doClassSpecificMessaging(), Shell::doCopy(), Shell::doCreate(), Shell::doFind(), Shell::doMove(), setName(), Neuron::setSpineAndPsdMesh(), and testTreeTraversal().
return ids of all the children in ret.
Definition at line 342 of file Neutral.cpp.
References ALLDATA, Eref::dataIndex(), Eref::element(), Cinfo::findFinfo(), SrcFinfo::getBindIndex(), DestFinfo::getFid(), Msg::getMsg(), Element::getMsgAndFunc(), and Msg::targets().
Referenced by ReadCell::addChannelMessage(), addSpine(), allChildren(), Neuron::buildSegmentTree(), checkChildren(), Cell::children(), HSolve::children(), Shell::cleanSimulation(), ReadCspace::deployParameters(), ChemCompt::getChildConcs(), getChildren(), hasScaleFormula(), initCinfo(), innerCopyElements(), ReadCspace::makePlots(), ChemCompt::setChildConcs(), singleLevelWildcard(), testCopyFieldElement(), testTable(), and verifyKids().
void Neutral::destroy | ( | const Eref & | e, |
int | stage | ||
) |
Destroys Element and all children
Definition at line 605 of file Neutral.cpp.
References ALLDATA, buildTree(), Element::cinfo(), Msg::deleteMsg(), Element::destroyElementTree(), Eref::element(), Cinfo::isA(), and Eref::objId().
Referenced by Shell::destroy(), and initCinfo().
void Neutral::generalNodeBalance | ( | const Eref & | e, |
unsigned int | myNode, | ||
vector< unsigned int > | nodeAssignment | ||
) |
Request conversion of data into a generalDataHandler subclass, and to carry out node balancing of data as per args.
Definition at line 636 of file Neutral.cpp.
Referenced by initCinfo().
Looks up all the Element children of the current Element
Gets Element children, not individual entries in the array.
Definition at line 334 of file Neutral.cpp.
References children().
Referenced by buildTree(), initCinfo(), testCopy(), and testMove().
string Neutral::getClass | ( | const Eref & | e | ) | const |
Looks up the Class name of the current Element
Definition at line 393 of file Neutral.cpp.
References Element::cinfo(), Eref::element(), and Cinfo::name().
Referenced by initCinfo().
vector< string > Neutral::getDestFields | ( | const Eref & | e | ) | const |
Information function to return names of all DestFinfos.
Definition at line 481 of file Neutral.cpp.
References Element::cinfo(), Eref::element(), Cinfo::getDestFinfo(), Cinfo::getNumDestFinfo(), and Finfo::name().
Referenced by initCinfo().
double Neutral::getDt | ( | const Eref & | e | ) | const |
Returns dt associated with this object based on its clock tick.
Definition at line 447 of file Neutral.cpp.
References Eref::element(), LookupField< L, A >::get(), and Element::getTick().
Referenced by initCinfo().
unsigned int Neutral::getFieldIndex | ( | const Eref & | e | ) | const |
fieldIndex specifies field entry if FieldElement. Otherwise zero
Definition at line 432 of file Neutral.cpp.
References Eref::fieldIndex().
Referenced by initCinfo().
unsigned int Neutral::getId | ( | const Eref & | e | ) | const |
Id is the Id of the object, converted to unsigned int.
Definition at line 422 of file Neutral.cpp.
References Eref::id(), and Id::value().
Referenced by initCinfo().
Readonly field access function for getting all incoming Msgs.
Definition at line 511 of file Neutral.cpp.
References Msg::e2(), Eref::element(), Msg::getMsg(), Msg::mid(), and Element::msgIn().
Referenced by initCinfo().
unsigned int Neutral::getIndex | ( | const Eref & | e | ) | const |
Index is the dataIndex of the object.
Definition at line 427 of file Neutral.cpp.
References Eref::dataIndex().
Referenced by initCinfo().
vector< string > Neutral::getMsgDestFunctions | ( | const Eref & | e, |
string | src | ||
) | const |
Return vector of function names called on each target ObjId of the specified SrcFinfo, by the current object. Twin function to getMsgDests.
Definition at line 557 of file Neutral.cpp.
References Element::cinfo(), Eref::dataIndex(), Eref::element(), Cinfo::findFinfo(), Element::getMsgTargetAndFunctions(), Eref::id(), and Id::path().
Referenced by initCinfo().
Return vector of target ObjIds called by the specified SrcFinfo, by the current object. Twin function to getMsgDestFunctions.
Definition at line 538 of file Neutral.cpp.
References Element::cinfo(), Eref::dataIndex(), Eref::element(), Cinfo::findFinfo(), Element::getMsgTargetAndFunctions(), Eref::id(), and Id::path().
Referenced by initCinfo().
string Neutral::getName | ( | const Eref & | e | ) | const |
Definition at line 316 of file Neutral.cpp.
References Eref::element(), and Element::getName().
Referenced by initCinfo().
Readonly field access function for getting Ids connected to current Id via specified Field. Field is specified by its name. Returns an empty vector if it fails.
Definition at line 525 of file Neutral.cpp.
References Element::cinfo(), Eref::element(), Cinfo::findFinfo(), Element::getNeighbors(), Eref::id(), and Id::path().
Referenced by initCinfo().
unsigned int Neutral::getNumData | ( | const Eref & | e | ) | const |
Definition at line 398 of file Neutral.cpp.
References Eref::element(), and Element::numData().
Referenced by initCinfo().
unsigned int Neutral::getNumField | ( | const Eref & | e | ) | const |
Definition at line 408 of file Neutral.cpp.
References Eref::dataIndex(), Eref::element(), Eref::isDataHere(), Element::numField(), and Element::rawIndex().
Referenced by initCinfo().
Simply returns own ObjId
Definition at line 321 of file Neutral.cpp.
References Eref::objId().
Referenced by initCinfo().
Readonly field access function for getting all outgoing Msgs.
Definition at line 493 of file Neutral.cpp.
References Element::cinfo(), Eref::element(), Element::getMsgAndFunc(), and Cinfo::numBindIndex().
Referenced by initCinfo().
Looks up the full Id info for the parent of the current Element
Definition at line 326 of file Neutral.cpp.
References parent().
Referenced by initCinfo(), and testCopy().
string Neutral::getPath | ( | const Eref & | e | ) | const |
Traverses to root, building path.
Definition at line 388 of file Neutral.cpp.
References path().
Referenced by initCinfo().
vector< string > Neutral::getSourceFields | ( | const Eref & | e | ) | const |
Information function to return names of all SrcFinfos.
Definition at line 469 of file Neutral.cpp.
References Element::cinfo(), Eref::element(), Cinfo::getNumSrcFinfo(), Cinfo::getSrcFinfo(), and Finfo::name().
Referenced by initCinfo().
Neutral Neutral::getThis | ( | ) | const |
Field access functions for the entire object. For Neutrals the getThis function does return the Neutral object, but it has no data to set. However, the function name acts as a placeholder and derived objects can override the function so that the entire object can be accessed as a field and also used for inter-node data transfer.
Definition at line 289 of file Neutral.cpp.
Referenced by initCinfo().
int Neutral::getTick | ( | const Eref & | e | ) | const |
Returns clock tick of this object.
Definition at line 437 of file Neutral.cpp.
References Eref::element(), and Element::getTick().
Referenced by initCinfo().
vector< string > Neutral::getValueFields | ( | const Eref & | e | ) | const |
Information function to return names of all value Finfos.
Definition at line 457 of file Neutral.cpp.
References Element::cinfo(), Eref::element(), Cinfo::getNumValueFinfo(), Cinfo::getValueFinfo(), and Finfo::name().
Referenced by initCinfo().
|
static |
Standard initialization function, used whenever we want to look up the class Cinfo
Definition at line 16 of file Neutral.cpp.
References blockNodeBalance(), children(), destroy(), generalNodeBalance(), getChildren(), getClass(), getDestFields(), getDt(), getFieldIndex(), getId(), getIncomingMsgs(), getIndex(), getMsgDestFunctions(), getMsgDests(), getName(), getNeighbors(), getNumData(), getNumField(), getObjId(), getOutgoingMsgs(), getParent(), getPath(), getSourceFields(), getThis(), getTick(), getValueFields(), id, isA(), name, neutralCinfo, parent(), path(), setName(), setNumData(), setNumField(), setThis(), and setTick().
Referenced by Shell::adopt(), init(), Group::initCinfo(), Boundary::initCinfo(), Mstring::initCinfo(), MMPump::initCinfo(), Species::initCinfo(), Synapse::initCinfo(), RandSpike::initCinfo(), Annotator::initCinfo(), ConcChan::initCinfo(), VectorTable::initCinfo(), SpikeGen::initCinfo(), IntFire::initCinfo(), Nernst::initCinfo(), DiffAmp::initCinfo(), Stats::initCinfo(), MarkovGslSolver::initCinfo(), Arith::initCinfo(), RC::initCinfo(), TableBase::initCinfo(), Cell::initCinfo(), PIDController::initCinfo(), GapJunction::initCinfo(), EnzBase::initCinfo(), ChanBase::initCinfo(), Spine::initCinfo(), moose::VClamp::initCinfo(), Variable::initCinfo(), ReacBase::initCinfo(), SynHandlerBase::initCinfo(), IzhikevichNrn::initCinfo(), SteadyState::initCinfo(), HHGate2D::initCinfo(), Clock::initCinfo(), Interpol2D::initCinfo(), Func::initCinfo(), Neuron::initCinfo(), PyRun::initCinfo(), MarkovSolverBase::initCinfo(), PulseGen::initCinfo(), CaConcBase::initCinfo(), DifBufferBase::initCinfo(), MeshEntry::initCinfo(), DifShellBase::initCinfo(), Ksolve::initCinfo(), Gsolve::initCinfo(), Function::initCinfo(), Finfo::initCinfo(), MarkovRateTable::initCinfo(), HSolve::initCinfo(), PoolBase::initCinfo(), PostMaster::initCinfo(), Msg::initCinfo(), Adaptor::initCinfo(), HHGate::initCinfo(), Dsolve::initCinfo(), moose::CompartmentBase::initCinfo(), Cinfo::initCinfo(), ChemCompt::initCinfo(), Stoich::initCinfo(), Shell::initCinfo(), TestId::initCinfo(), Msg::initMsgManagers(), innerCopyMsgs(), Shell::innerMove(), Cinfo::isA(), FieldElementFinfoBase::postCreationFunc(), showFields(), testCinfoFields(), testFinfoFields(), testIsA(), and testSetGetExtField().
bool Neutral::isA | ( | const Eref & | e, |
string | className | ||
) | const |
Returns True if the object is derived from the specified class
Definition at line 576 of file Neutral.cpp.
References Element::cinfo(), Eref::element(), and Cinfo::isA().
Referenced by initCinfo().
Checks if 'me' is a descendant of 'ancestor'
Definition at line 647 of file Neutral.cpp.
References Eref::element(), ObjId::eref(), Id::eref(), Element::findCaller(), Cinfo::findFinfo(), Msg::findOtherEnd(), DestFinfo::getFid(), Msg::getMsg(), Element::id(), and Eref::objId().
Referenced by Shell::doCopy(), Shell::doMove(), and testDescendant().
|
static |
Checks if specified field is a global, typically because it is present on the Element and therefore should be assigned uniformly on all nodes
Definition at line 781 of file Neutral.cpp.
Returns parent object
Definition at line 701 of file Neutral.cpp.
References Eref::objId().
Referenced by Synapse::addMsgCallback(), addSpine(), child(), doClassSpecificMessaging(), Shell::doFind(), Synapse::dropMsgCallback(), findModelParent(), getCompt(), getParent(), initCinfo(), innerCopyElements(), ReadCspace::printMol(), MeshEntry::reinit(), setName(), storeFunctionMsgs(), and testObjIdToAndFromPath().
Definition at line 706 of file Neutral.cpp.
References ObjId::element(), Element::findCaller(), Cinfo::findFinfo(), Msg::findOtherEnd(), DestFinfo::getFid(), Msg::getMsg(), and ObjId::id.
|
static |
Finds the path of element e
Definition at line 725 of file Neutral.cpp.
References ObjId::dataIndex, Eref::element(), ObjId::element(), ObjId::eref(), Eref::fieldIndex(), Element::findCaller(), Cinfo::findFinfo(), Msg::findOtherEnd(), DestFinfo::getFid(), Msg::getMsg(), Element::getName(), Element::hasFields(), ObjId::id, and Eref::objId().
Referenced by getPath(), initCinfo(), ObjId::path(), and Id::path().
void Neutral::setName | ( | const Eref & | e, |
string | name | ||
) |
Field access functions for the name of the Element/Neutral
Definition at line 294 of file Neutral.cpp.
References child(), Eref::element(), ObjId::eref(), Eref::id(), Shell::isNameValid(), name, parent(), Id::path(), Element::setName(), and Id::value().
Referenced by initCinfo().
void Neutral::setNumData | ( | const Eref & | e, |
unsigned int | num | ||
) |
numData is the number of data entries on this Element.
Definition at line 403 of file Neutral.cpp.
References Eref::element(), and Element::resize().
Referenced by initCinfo().
void Neutral::setNumField | ( | const Eref & | e, |
unsigned int | num | ||
) |
numField is the size of the field array on the FieldElement specified by the Eref including its data index.
Definition at line 415 of file Neutral.cpp.
References Eref::dataIndex(), Eref::element(), Eref::isDataHere(), Element::rawIndex(), and Element::resizeField().
Referenced by initCinfo().
void Neutral::setThis | ( | Neutral | v | ) |
Field access functions for the entire object. For Neutrals the setThis function is a dummy: it doesn't do anything because the Neutral has no data to set. However, the function name acts as a placeholder and derived objects can override the function so that the entire object can be accessed as a field and also for inter-node data transfer.
Definition at line 284 of file Neutral.cpp.
Referenced by initCinfo().
void Neutral::setTick | ( | const Eref & | e, |
int | num | ||
) |
The clock Tick specifies the timing and order of execution of the 'process' action of this object in the simulation. The timing is set by assigning the appropriate dt to this tick in the Clock object. A value of -1 means that the object is disabled.
Definition at line 442 of file Neutral.cpp.
References Eref::element(), and Element::setTick().
Referenced by initCinfo().
|
friend |
|
friend |