MOOSE - Multiscale Object Oriented Simulation Environment
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
ReadCell.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-20011 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 #ifndef READCELL_H
10 #define READCELL_H
12 
24 class ReadCell
25 {
26  public:
27  // ReadCell( const vector< double >& globalParms );
28  ReadCell();
29 
30  Id read(
31  const string& filename,
32  const string& cellname,
33  Id parent );
34 
35  static void addChannelMessage( Id chan );
36  private:
37  bool innerRead( ifstream& fin );
38  bool readData( const string& line );
39  bool readScript( const string& line );
41  const string& name,
42  const string& parent,
43  double x0, double y0, double z0,
44  double x, double y, double z,
45  double d,
46  double& length, // Length is sent back.
47  vector< string >& argv );
48  bool buildChannels(
49  Id compt,
50  vector< string >& argv,
51  double diameter,
52  double length);
53  Id startGraftCell( const string& cellPath );
54  Id findChannel( const string& name );
55  Id addChannel(
56  Id compt,
57  Id chan,
58  double value,
59  double dia,
60  double length );
62  Id compt,
63  Id chan,
64  double value,
65  double dia,
66  double length );
67  bool addSpikeGen(
68  Id compt,
69  Id chan,
70  double value,
71  double dia,
72  double length );
73  bool addCaConc(
74  Id compt,
75  Id chan,
76  double value,
77  double dia,
78  double length );
79  bool addNernst(
80  Id compt,
81  Id chan,
82  double value );
83 /*
84  void addKinModel(
85  Id compt,
86  double value,
87  string name,
88  string method );
89  void addM2C(
90  Id compt,
91  double value,
92  vector< string >::iterator args );
93  void addC2M(
94  Id compt,
95  double value,
96  vector< string >::iterator args );
97 */
98 
99  void countProtos();
100 
101  // For error messages
102  string fileName_;
103  unsigned int lineNum_;
104 
105  double RM_;
106  double CM_;
107  double RA_;
108  double EREST_ACT_;
109  double ELEAK_;
110 #if 0 /* These are not used */
111  double dendrDiam;
112  double aveLength;
113  double spineSurf;
114  double spineDens;
115  double spineFreq;
116  double membFactor;
117 #endif
118 
121 
126 
127  unsigned int numCompartments_;
128  unsigned int numChannels_;
129  unsigned int numOthers_;
130 
131  unsigned int numProtoCompts_;
132  unsigned int numProtoChans_;
133  unsigned int numProtoOthers_;
134 
144 
145  map< string, Id > chanProtos_;
146 
148 };
149 #endif
uint32_t value
Definition: moosemodule.h:42
bool addCanonicalChannel(Id compt, Id chan, double value, double dia, double length)
Definition: ReadCell.cpp:774
double EREST_ACT_
Definition: ReadCell.h:108
ParseStage
Definition: ReadCell.h:11
unsigned int numOthers_
Definition: ReadCell.h:129
ReadCell()
Definition: ReadCell.cpp:23
bool buildChannels(Id compt, vector< string > &argv, double diameter, double length)
Definition: ReadCell.cpp:629
Id cell_
Definition: ReadCell.h:122
Id buildCompartment(const string &name, const string &parent, double x0, double y0, double z0, double x, double y, double z, double d, double &length, vector< string > &argv)
Definition: ReadCell.cpp:378
Id addChannel(Id compt, Id chan, double value, double dia, double length)
Definition: ReadCell.cpp:738
unsigned int numChannels_
Definition: ReadCell.h:128
Id lastCompt_
Definition: ReadCell.h:124
bool doubleEndpointFlag_
Definition: ReadCell.h:142
double ELEAK_
Definition: ReadCell.h:109
map< string, Id > chanProtos_
Definition: ReadCell.h:145
Id read(const string &filename, const string &cellname, Id parent)
Definition: ReadCell.cpp:108
bool polarFlag_
Definition: ReadCell.h:140
unsigned int numCompartments_
Definition: ReadCell.h:127
bool innerRead(ifstream &fin)
Definition: ReadCell.cpp:155
bool addNernst(Id compt, Id chan, double value)
Definition: ReadCell.cpp:893
Id currCell_
Definition: ReadCell.h:123
unsigned int numProtoCompts_
Definition: ReadCell.h:131
bool symmetricFlag_
Definition: ReadCell.h:143
bool readData(const string &line)
Definition: ReadCell.cpp:309
bool readScript(const string &line)
Definition: ReadCell.cpp:221
static void addChannelMessage(Id chan)
Definition: ReadCell.cpp:985
double CM_
Definition: ReadCell.h:106
Id findChannel(const string &name)
Definition: ReadCell.cpp:603
double RM_
Definition: ReadCell.h:105
bool graftFlag_
Definition: ReadCell.h:139
Id protoCompt_
Definition: ReadCell.h:125
static char name[]
Definition: mfield.cpp:401
Id startGraftCell(const string &cellPath)
Definition: ReadCell.cpp:558
unsigned int lineNum_
Definition: ReadCell.h:103
Shell * shell_
Definition: ReadCell.h:147
Definition: ReadCell.h:11
Definition: Id.h:17
bool relativeCoordsFlag_
Definition: ReadCell.h:141
bool erestFlag_
Definition: ReadCell.h:119
bool eleakFlag_
Definition: ReadCell.h:120
void countProtos()
Definition: ReadCell.cpp:1034
unsigned int numProtoChans_
Definition: ReadCell.h:132
string fileName_
Definition: ReadCell.h:102
double RA_
Definition: ReadCell.h:107
Definition: Shell.h:43
bool addCaConc(Id compt, Id chan, double value, double dia, double length)
Definition: ReadCell.cpp:846
bool addSpikeGen(Id compt, Id chan, double value, double dia, double length)
Definition: ReadCell.cpp:814
unsigned int numProtoOthers_
Definition: ReadCell.h:133