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"
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);
void CheckForElectrodesIntersection()
std::vector< std::pair< AbstractChasteRegion< DIM > *, AbstractChasteRegion< DIM > * > > & mrElectrodePairs
boost::shared_ptr< AbstractStimulusFunction > CreateStimulusForNode(Node< DIM > *pNode)
std::vector< double > mMagnitudesElectrode1
~ElectrodesStimulusFactory()
bool mGroundSecondElectrode
std::vector< double > & mrEnds
std::vector< double > mMagnitudesElectrode2
std::vector< double > & mrMagnitudes
std::vector< double > & mrDurations
void GroundSecondElectrode(bool grounded)
LinearBasisFunction< DIM > BasisFunction
std::vector< double > & mrPeriods
void SetCompatibleExtracellularStimulus()
std::vector< double > & mrStarts
double ComputeElectrodeTotalFlux(AbstractChasteRegion< DIM > *pRegion, double stimulusMagnitude)