10 #ifndef _VOXEL_POOLS_BASE_H
11 #define _VOXEL_POOLS_BASE_H
41 void resizeArrays(
unsigned int totNumPools );
46 unsigned int size()
const;
52 const double* S()
const;
55 vector< double >& Svec();
67 const double* Sinit()
const;
81 void setVolume(
double vol );
83 double getVolume()
const;
89 virtual void setVolumeAndDependencies(
double vol );
95 void setN(
unsigned int i,
double v );
96 double getN(
unsigned int )
const;
97 void setNinit(
unsigned int,
double v );
98 double getNinit(
unsigned int )
const;
99 void setDiffConst(
unsigned int,
double v );
100 double getDiffConst(
unsigned int )
const;
107 virtual void updateAllRateTerms(
const vector< RateTerm* >& rates,
108 unsigned int numCoreRates ) = 0;
115 virtual void updateRateTerms(
const vector< RateTerm* >& rates,
116 unsigned int numCoreRates,
unsigned int index ) = 0;
121 void filterCrossRateTerms(
const vector< Id >& offSolverReacs,
const vector< pair< Id, Id > >& offSolverReacCompts );
130 void xferIn(
const vector< unsigned int >& poolIndex,
131 const vector< double >& values,
132 const vector< double >& lastValues,
133 unsigned int voxelIndex );
140 void xferInOnlyProxies(
141 const vector< unsigned int >& poolIndex,
142 const vector< double >& values,
143 unsigned int numProxyPools,
144 unsigned int voxelIndex );
147 void xferOut(
unsigned int voxelIndex,
148 vector< double >& values,
149 const vector< unsigned int >& poolIndex );
151 void addProxyVoxy(
unsigned int comptIndex,
152 Id comptId,
unsigned int voxel );
153 void addProxyTransferIndex(
unsigned int comptIndex,
154 unsigned int transferIndex );
162 bool hasXfer(
unsigned int comptIndex )
const;
169 bool isVoxelJunctionPresent(
Id i1,
Id i2 )
const;
177 void resetXreacScale(
unsigned int size );
184 void forwardReacVolumeFactor(
unsigned int i,
double volume );
191 void backwardReacVolumeFactor(
unsigned int i,
double volume );
197 double getXreacScaleSubstrates(
unsigned int i )
const;
203 double getXreacScaleProducts(
unsigned int i )
const;
205 void scaleVolsBufsRates(
double ratio,
const Stoich* stoichPtr );
292 #endif // _VOXEL_POOLS_BASE_H
const Stoich * stoichPtr_
vector< double > xReacScaleProducts_
vector< vector< unsigned int > > proxyTransferIndex_
vector< double > xReacScaleSubstrates_
vector< vector< unsigned int > > proxyPoolVoxels_
map< Id, unsigned int > proxyComptMap_
vector< RateTerm * > rates_