36 #ifndef ELECTRODESSTIMULSUFACTORY_HPP_ 37 #define ELECTRODESSTIMULSUFACTORY_HPP_ 39 #include <boost/shared_ptr.hpp> 41 #include <boost/serialization/split_member.hpp> 42 #include <boost/serialization/shared_ptr.hpp> 44 #include "AbstractTetrahedralMesh.hpp" 45 #include "DistributedVector.hpp" 46 #include "AbstractChasteRegion.hpp" 47 #include "AbstractStimulusFactory.hpp" 48 #include "LinearBasisFunction.hpp" 66 template<
unsigned DIM>
71 friend class TestStimulusFactory;
154 std::vector<double>& rStimulusMagnitudes,
155 std::vector<double>& rDurations,
156 std::vector<double>& rPeriods,
157 std::vector<double>& rStarts,
158 std::vector<double>& rEnds);
std::vector< double > & mrDurations
std::vector< double > mMagnitudesElectrode2
void SetCompatibleExtracellularStimulus()
ElectrodesStimulusFactory(std::vector< std::pair< AbstractChasteRegion< DIM > *, AbstractChasteRegion< DIM > * > > &rElectrodePairs, std::vector< double > &rStimulusMagnitudes, std::vector< double > &rDurations, std::vector< double > &rPeriods, std::vector< double > &rStarts, std::vector< double > &rEnds)
std::vector< double > & mrMagnitudes
double ComputeElectrodeTotalFlux(AbstractChasteRegion< DIM > *pRegion, double stimulusMagnitude)
std::vector< double > & mrPeriods
std::vector< double > & mrStarts
bool mGroundSecondElectrode
void GroundSecondElectrode(bool grounded)
void CheckForElectrodesIntersection()
std::vector< double > & mrEnds
std::vector< double > mMagnitudesElectrode1
std::vector< std::pair< AbstractChasteRegion< DIM > *, AbstractChasteRegion< DIM > * > > & mrElectrodePairs
LinearBasisFunction< DIM > BasisFunction
~ElectrodesStimulusFactory()
boost::shared_ptr< AbstractStimulusFunction > CreateStimulusForNode(Node< DIM > *pNode)