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)