MOOSE - Multiscale Object Oriented Simulation Environment
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Spine.h
Go to the documentation of this file.
1 /**********************************************************************
2 ** This program is part of 'MOOSE', the
3 ** Messaging Object Oriented Simulation Environment.
4 ** Copyright (C) 2003-2015 Upinder S. Bhalla. and NCBS
5 ** It is made available under the terms of the
6 ** GNU Lesser General Public License version 2.1
7 ** See the file COPYING.LIB for the full notice.
8 **********************************************************************/
9 
10 #ifndef _SPINE_H
11 #define _SPINE_H
12 
13 class Neuron;
14 
24 class Spine
25 {
26  public:
27  Spine();
28  Spine( const Neuron* parent );
30  // Field assignment stuff
32 
33  Id getShaft( const Eref& e ) const;
34  Id getHead( const Eref& e ) const;
35 
36  void setShaftLength( const Eref& e, double len );
37  double getShaftLength( const Eref& e ) const;
38  void setShaftDiameter( const Eref& e, double dia );
39  double getShaftDiameter( const Eref& e ) const;
40  void setHeadLength( const Eref& e, double len );
41  double getHeadLength( const Eref& e ) const;
42  void setHeadDiameter( const Eref& e, double dia );
43  double getHeadDiameter( const Eref& e ) const;
44  void setHeadVolume( const Eref& e, double vol );
45  double getHeadVolume( const Eref& e ) const;
46  void setPsdArea( const Eref& e, double area );
47  double getPsdArea( const Eref& e ) const;
48 
49  void setTotalLength( const Eref& e, double len );
50  double getTotalLength( const Eref& e ) const;
51 
52  // rotate around dend, but still at right angles to it.
53  void setAngle( const Eref& e, double theta );
54  double getAngle( const Eref& e ) const;
55 
56  // Incline to dend, radians. Default is normal to dend and is 0.
57  void setInclination( const Eref& e, double phi );
58  double getInclination( const Eref& e ) const;
59 
60  void setMinimumSize( const Eref& e, double len );
61  double getMinimumSize( const Eref& e ) const;
62  void setMaximumSize( const Eref& e, double len );
63  double getMaximumSize( const Eref& e ) const;
64 
65  // Assign to specific vector. Length of vector does size scaling.
66  //void setVectorDirection( const Eref& e, vector< double > dir );
67  //vector< double > getVectorDirection( const Eref& e ) const;
68 
70  // Dest funcs
73  // Lookup funcs for Boundary
75 
76  static const Cinfo* initCinfo();
77  private:
78  const Neuron* parent_;
85  double minimumSize_;
86  double maximumSize_;
87 };
88 
89 #endif // _SPINE_H
const Neuron * parent_
Definition: Spine.h:78
Id getShaft(const Eref &e) const
double getHeadDiameter(const Eref &e) const
Definition: Spine.cpp:280
Definition: Neuron.h:18
void setMaximumSize(const Eref &e, double len)
Definition: Spine.cpp:416
double getHeadVolume(const Eref &e) const
Definition: Spine.cpp:325
double getInclination(const Eref &e) const
Definition: Spine.cpp:391
Spine()
Definition: Spine.cpp:160
double getMinimumSize(const Eref &e) const
Definition: Spine.cpp:401
double getShaftDiameter(const Eref &e) const
Definition: Spine.cpp:217
void setShaftLength(const Eref &e, double len)
Definition: Spine.cpp:185
void setMinimumSize(const Eref &e, double len)
Definition: Spine.cpp:406
void setAngle(const Eref &e, double theta)
Definition: Spine.cpp:386
void setInclination(const Eref &e, double phi)
Definition: Spine.cpp:396
Id getHead(const Eref &e) const
static const Cinfo * initCinfo()
Definition: Spine.cpp:17
double maximumSize_
Definition: Spine.h:86
void setPsdArea(const Eref &e, double area)
Definition: Spine.cpp:315
void setShaftDiameter(const Eref &e, double dia)
Definition: Spine.cpp:226
Definition: Eref.h:26
double getAngle(const Eref &e) const
Definition: Spine.cpp:381
double getTotalLength(const Eref &e) const
Definition: Spine.cpp:358
void setHeadLength(const Eref &e, double len)
Definition: Spine.cpp:254
double getPsdArea(const Eref &e) const
Definition: Spine.cpp:309
double getMaximumSize(const Eref &e) const
Definition: Spine.cpp:411
Definition: Id.h:17
double minimumSize_
Definition: Spine.h:85
void setHeadVolume(const Eref &e, double vol)
Definition: Spine.cpp:332
void setHeadDiameter(const Eref &e, double dia)
Definition: Spine.cpp:289
double getShaftLength(const Eref &e) const
Definition: Spine.cpp:176
Definition: Spine.h:24
Definition: Cinfo.h:18
void setTotalLength(const Eref &e, double len)
Definition: Spine.cpp:363
double getHeadLength(const Eref &e) const
Definition: Spine.cpp:245