function [AP,APs] = isAP(Is,noAP,tspan,M,S)
%isAP Is the stimulus resulting in an action potential
%   [AP,APs] = isAP(Is,noAP,tspan,M,S) this function determines
%   whether or not a nerve fiber respond to a stimulus with one
%   or more APs. The stimulus intensity is given as Is, and the 
%   number of APs that should be present is given as [noAP]. The
%   function return 1 if there is [noAP] present, 0 if there is 
%   less. To pass [noAP] equal or less than zero is an error
%   and the function will respond unpredictable, though it will 
%   reformat your harddrive as a punishment :o)
%
%   The number of APs counted is returned in [APs]. Note that the
%   function returns when it has counted [noAP] APs, so the actual
%   no of APs may be greater than [noAP]. If you wish to qount the 
%   number of APs, set [noAP] to an impropable high number (e.g. one
%   trillion) and sit down and wait for the function to take its 
%   natural course to the end of tspan. [tspan] defines the time 
%   interval, the function will integrate the nerve model from time
%   tspan(1) to tspan(2). [M] and [S] is the model and stimulus,
%   respectively.
%
%Please enjoy, 
%   Kristian Hennings
h = 0.5e-6;
P = parameters(tspan(1),tspan(2),h,1e6,noAP,0);
S(2) = Is;
APs = simPatch(P,S,M.E,M.GN,M.GI,M.A,M.B,M.X0);
if APs == noAP
    AP = 1;
else 
    AP = 0;
end