#include "{{file_name}}{{header_ext}}"
#include <cmath>
#include <cassert>
#include <memory>
#include "Exception.hpp"
#include "OdeSystemInformation.hpp"
#include "RegularStimulus.hpp"
#include "HeartConfig.hpp"
#include "IsNan.hpp"
#include "MathsCustomFunctions.hpp"
{% if use_model_factory %}#include "ModelFactory.hpp"

{% if modifiers|length > 0 %}AbstractCardiacCellWithModifiers<{% endif%}{{base_class}}{%- if modifiers|length > 0 %} >{% endif%}* {{class_name}}::CreateMethod(boost::shared_ptr<AbstractIvpOdeSolver> p_solver, boost::shared_ptr<AbstractStimulusFunction> p_stimulus) {
    return new {{class_name}}(p_solver, p_stimulus);
}

bool {{class_name}}::registered = ModelFactory::Register("{{cellml_base}}", "{{model_type}}", (ModelFactory::TCreateMethod){{class_name}}::CreateMethod);{% endif%}