26 #ifndef FUNCTIONS_ANALYTIC_H
27 #define FUNCTIONS_ANALYTIC_H
35 namespace analyticfit {
51 double logistic(
double A,
double k,
double x1,
double x);
61 double decay(
double A,
double k,
double x1,
double x);
71 double switchOn(
double x1,
double x);
83 double A1,
double k1,
double k2,
double x1,
101 double A1,
double k1,
double k2,
double x1,
102 double A2,
double k3,
double k4,
double x2,
133 double A1,
double k1,
double k2,
double x1,
double C,
134 const std::vector<uint16_t>& trace,
135 int low = 0 ,
int high = -1
151 double A1,
double k1,
double k2,
double x1,
double C,
152 const std::vector<std::pair<uint16_t, uint16_t> >& points
175 double A1,
double k1,
double k2,
double x1,
176 double A2,
double k3,
double k4,
double x2,
178 const std::vector<uint16_t>& trace,
179 int low = 0,
int high = -1
199 double A1,
double k1,
double k2,
double x1,
200 double A2,
double k3,
double k4,
double x2,
202 const std::vector<std::pair<uint16_t, uint16_t> >& points
211 const char* filename,
const char* title,
212 const std::vector<uint16_t>& trace
222 const char* filename,
const char* title,
223 const std::vector<uint16_t>& trace1,
224 const std::vector<uint16_t>& trace2
__host__ __device__ float singlePulse(float A1, float k1, float k2, float x1, float C, float x)
Evaluate the value of a single pulse in accordance with our canonical functional form.
Definition: cudafit_analytic.cu:225
__host__ __device__ float doublePulse(float A1, float k1, float k2, float x1, float A2, float k3, float k4, float x2, float C, float x)
Evaluate the canonical form of a double pulse.
Definition: cudafit_analytic.cu:254
__host__ __device__ float logistic(float A, float k, float x1, float x)
Evaluate a logistic function for the specified parameters and point.
Definition: cudafit_analytic.cu:182
__host__ __device__ float decay(float A, float k, float x1, float x)
Exponential decay function.
Definition: cudafit_analytic.cu:201
double pulseAmplitude(double A, double k1, double k2, double x0)
Definition: functions_analytic.cpp:127
double chiSquare2(double A1, double k1, double k2, double x1, double A2, double k3, double k4, double x2, double C, const std::vector< std::pair< uint16_t, uint16_t > > &points)
Computes the chi-square goodness of a specific parameterization of a double pulse canonical form with...
Definition: functions_analytic.cpp:239
double chiSquare1(double A1, double k1, double k2, double x1, double C, const std::vector< std::pair< uint16_t, uint16_t > > &points)
Computes the chi-square goodness-of-fit for a specific parameterization of a single pulse canonical f...
Definition: functions_analytic.cpp:181
void writeTrace2(const char *filename, const char *title, const std::vector< uint16_t > &trace1, const std::vector< uint16_t > &trace2)
Write two traces to a file.
Definition: functions_analytic.cpp:279
double switchOn(double x1, double x)
Logistic switch to turn on a function evaluation at a given point.
Definition: functions_analytic.cpp:65
void writeTrace(const char *filename, const char *title, const std::vector< uint16_t > &trace)
Write a single trace to a file.
Definition: functions_analytic.cpp:263