MOOSE - Multiscale Object Oriented Simulation Environment
|
#include "header.h"
#include "ElementValueFinfo.h"
#include "LookupElementValueFinfo.h"
#include "shell/Shell.h"
#include "shell/Wildcard.h"
#include "ReadCell.h"
#include "utility/Vec.h"
#include "SwcSegment.h"
#include "Spine.h"
#include "Neuron.h"
#include "basecode/global.h"
#include "muParser.h"
Go to the source code of this file.
Classes | |
class | nuParser |
Functions | |
static void | addPos (unsigned int segIndex, unsigned int eIndex, double spacing, double minSpacing, double dendLength, vector< unsigned int > &seglistIndex, vector< unsigned int > &elistIndex, vector< double > &pos) |
Add entries into the pos vector for a given compartment i. More... | |
static vector< Id > | addSpine (Id parentCompt, Id spineProto, double pos, double angle, Vec &x, Vec &y, Vec &z, double size, unsigned int k) |
static void | assignParam (Id obj, const string &field, double val, double len, double dia) |
static void | assignSingleCompartmentParams (ObjId compt, double val, const string &field, double len, double dia) |
static bool | buildFromProto (const string &name, const vector< ObjId > &elist, const vector< double > &val, vector< ObjId > &mech) |
static double | coordSystem (Id soma, Id dend, Vec &x, Vec &y, Vec &z) |
static void | doClassSpecificMessaging (Shell *shell, Id obj, ObjId compt) |
Id | fillSegIndex (const vector< Id > &kids, map< Id, unsigned int > &segIndex) |
static void | fillSegments (vector< SwcSegment > &segs, const map< Id, unsigned int > &segIndex, const vector< Id > &kids) |
string | findArg (const vector< string > &line, const string &field) |
static Id | getComptParent (Id id) |
static void | makeAngleDistrib (const vector< ObjId > &elist, const vector< double > &val, vector< unsigned int > &elistIndex, vector< double > &theta, const vector< string > &line) |
static void | makeSizeDistrib (const vector< ObjId > &elist, const vector< double > &val, vector< unsigned int > &elistIndex, vector< double > &size, const vector< string > &line) |
bool | parseDistrib (vector< vector< string > > &lines, const vector< string > &distrib) |
static void | reorientSpine (vector< Id > &spineCompts, vector< Vec > &coords, Vec &parentPos, double pos, double angle, Vec &x, Vec &y, Vec &z) |
static void | setCompartmentParams (const vector< ObjId > &elist, const vector< double > &val, const string &field, const string &expr) |
static void | setMechParams (const vector< ObjId > &mech, const vector< ObjId > &elist, const vector< double > &val, const string &field, const string &expr) |
static void | traverseCumulativeDistance (SwcSegment &self, vector< SwcSegment > &segs, const vector< Id > &lookupId, double len, double L, double pSoma, double eSoma) |
Recursive function to fill in cumulative distances from soma. More... | |
Variables | |
static const Cinfo * | neuronCinfo = Neuron::initCinfo() |
|
static |
Add entries into the pos vector for a given compartment i.
Definition at line 1784 of file Neuron.cpp.
References moose::mtrand().
Referenced by Neuron::makeSpacingDistrib().
|
static |
Utility function to add a single spine to the given parent. Returns vector of added spine contents. parent is parent compartment for this spine. spineProto is just that. pos is position (in metres ) along parent compartment angle is angle (in radians) to rotate spine wrt x in plane xy. Size is size scaling factor, 1 leaves as is. x, y, z are unit vectors. Z is along the parent compt. We first shift the spine over so that it is offset by the parent compt diameter. We then need to reorient the spine which lies along (i,0,0) to lie along x. X is a unit vector so this is done simply by multiplying each coord of the spine by x. Finally we rotate the spine around the z axis by the specified angle k is index of this spine.
Definition at line 1649 of file Neuron.cpp.
References Vec::a0(), Neutral::children(), Eref::data(), Shell::doAddMsg(), Shell::doCopy(), Shell::doDelete(), Shell::doMove(), Id::eref(), Field< A >::get(), Neutral::parent(), reorientSpine(), and SetGet2< A1, A2 >::set().
Referenced by Neuron::installSpines().
|
static |
Definition at line 680 of file Neuron.cpp.
References Element::cinfo(), Id::element(), FaradayConst, Cinfo::isA(), PI, and Field< A >::set().
Referenced by setMechParams().
|
static |
Definition at line 719 of file Neuron.cpp.
References PI, and Field< A >::set().
Referenced by setCompartmentParams().
|
static |
Definition at line 647 of file Neuron.cpp.
References Neutral::child(), Eref::data(), doClassSpecificMessaging(), Shell::doCopy(), Id::element(), Id::eref(), nuParser::EXPR, Element::getName(), and nuParser::numVal.
Referenced by Neuron::setChannelDistribution().
Utility function to return a coordinate system where z is the direction of a dendritic segment, x is the direction of spines outward from soma and perpendicular to z and y is the perpendicular to x and z.
Definition at line 1546 of file Neuron.cpp.
References Vec::a0(), Vec::a1(), Vec::a2(), Vec::crossProduct(), doubleEq(), EPSILON, Field< A >::get(), and Vec::length().
Referenced by Neuron::installSpines().
Definition at line 619 of file Neuron.cpp.
References ReadCell::addChannelMessage(), ObjId::bad(), Neutral::child(), Element::cinfo(), Shell::doAddMsg(), Id::element(), Id::eref(), Element::getName(), Cinfo::isA(), Neutral::parent(), ObjId::path(), path, and wildcardFind().
Referenced by buildFromProto().
Definition at line 1241 of file Neuron.cpp.
References Element::cinfo(), Id::element(), Field< A >::get(), Element::getName(), and Cinfo::isA().
Referenced by Neuron::buildSegmentTree().
|
static |
Definition at line 1275 of file Neuron.cpp.
References Element::cinfo(), Id::element(), Field< A >::get(), getComptParent(), and Cinfo::isA().
Referenced by Neuron::buildSegmentTree().
string findArg | ( | const vector< string > & | line, |
const string & | field | ||
) |
Definition at line 1716 of file Neuron.cpp.
Referenced by makeAngleDistrib(), makeSizeDistrib(), and Neuron::makeSpacingDistrib().
Definition at line 1215 of file Neuron.cpp.
References Cinfo::find(), and Cinfo::findFinfo().
Referenced by fillSegments().
|
static |
Definition at line 1888 of file Neuron.cpp.
References nuParser::eval(), findArg(), moose::mtrand(), and nuParser::numVal.
Referenced by Neuron::installSpines().
|
static |
Definition at line 1932 of file Neuron.cpp.
References nuParser::eval(), findArg(), moose::mtrand(), and nuParser::numVal.
Referenced by Neuron::installSpines().
bool parseDistrib | ( | vector< vector< string > > & | lines, |
const vector< string > & | distrib | ||
) |
Definition at line 587 of file Neuron.cpp.
Referenced by Neuron::setChannelDistribution(), Neuron::setPassiveDistribution(), and Neuron::setSpineDistribution().
|
static |
Utility function to change coords of spine so as to reorient it.
Definition at line 1583 of file Neuron.cpp.
References Vec::a0(), Vec::a1(), Vec::a2(), and Field< A >::set().
Referenced by addSpine().
|
static |
Definition at line 758 of file Neuron.cpp.
References assignSingleCompartmentParams(), nuParser::DIA, nuParser::eval(), nuParser::EXPR, nuParser::LEN, and nuParser::numVal.
Referenced by Neuron::setPassiveDistribution().
|
static |
Definition at line 784 of file Neuron.cpp.
References assignParam(), nuParser::DIA, nuParser::eval(), nuParser::EXPR, nuParser::LEN, and nuParser::numVal.
Referenced by Neuron::setChannelDistribution().
|
static |
Recursive function to fill in cumulative distances from soma.
Definition at line 1311 of file Neuron.cpp.
References SwcSegment::distance(), and Field< A >::get().
Referenced by Neuron::updateSegmentLengths().
|
static |
Definition at line 539 of file Neuron.cpp.
Referenced by Neuron::initCinfo().