25 #ifndef JACOBIAN_ANALYTIC_H
26 #define JACOBIAN_ANALYTIC_H
33 namespace analyticfit {
60 std::vector<std::pair<uint16_t, uint16_t>>& data
69 virtual void jacobian(
const gsl_vector* p, gsl_matrix *J);
75 virtual void residuals(
const gsl_vector*p, gsl_vector* r);
110 std::vector<std::pair<uint16_t, uint16_t>>& data
122 virtual void jacobian(
const gsl_vector* p, gsl_matrix *J);
129 virtual void residuals(
const gsl_vector*p, gsl_vector* r);
132 void throwCudaError(
const char* msg);
158 std::vector<std::pair<uint16_t, uint16_t>>& data
165 virtual void jacobian(
const gsl_vector* p, gsl_matrix *J);
171 virtual void residuals(
const gsl_vector*p, gsl_vector* r);
207 std::vector<std::pair<uint16_t, uint16_t>>& data
218 virtual void jacobian(
const gsl_vector* p, gsl_matrix *J);
224 virtual void residuals(
const gsl_vector*p, gsl_vector* r);
227 void throwCudaError(
const char* msg);
242 std::vector<std::pair<uint16_t, uint16_t>>& data
250 std::vector<std::pair<uint16_t, uint16_t>>& data
258 std::vector<std::pair<uint16_t, uint16_t>>& data
266 std::vector<std::pair<uint16_t, uint16_t>>& data
Define the CFitEngine abstract base class.
Abstract base class for marshalling data to the fitting subsystems to calculate Jacobian elements and...
Definition: CFitEngine.h:41
CUDA-aware fit engine for analytic single pulse fits.
Definition: jacobian_analytic.h:97
~CudaFitEngine1()
Destructor.
Definition: CudaFitEngineAnalytic.cu:526
virtual void jacobian(const gsl_vector *p, gsl_matrix *J)
Invoke the kernal to do the pointwise parallel Jacobian computation.
Definition: CudaFitEngineAnalytic.cu:541
CudaFitEngine1(std::vector< std::pair< uint16_t, uint16_t >> &data)
Constructor.
Definition: CudaFitEngineAnalytic.cu:479
virtual void residuals(const gsl_vector *p, gsl_vector *r)
Triggers a pointwise parallel residual kernel in the device and impedance matches that with GSL's req...
Definition: CudaFitEngineAnalytic.cu:578
CUDA-aware fit engine for analytic double pulse fits.
Definition: jacobian_analytic.h:193
virtual void residuals(const gsl_vector *p, gsl_vector *r)
Fire off the kernel to compute the pointwise residuals.
Definition: CudaFitEngineAnalytic.cu:857
virtual void jacobian(const gsl_vector *p, gsl_matrix *J)
Marshall the parameter and call the jacobian2 kernel. Then pull the Jacobian matrix out of the GPU an...
Definition: CudaFitEngineAnalytic.cu:806
~CudaFitEngine2()
Destructor.
Definition: CudaFitEngineAnalytic.cu:792
CudaFitEngine2(std::vector< std::pair< uint16_t, uint16_t >> &data)
Constructor.
Definition: CudaFitEngineAnalytic.cu:744
Factory for creating fit serial and Cuda-enabled fit engines.
Definition: jacobian_analytic.h:234
CFitEngine * createCudaFitEngine2(std::vector< std::pair< uint16_t, uint16_t >> &data)
Create a double pulse Cuda-enabled fit engine.
CFitEngine * createSerialFitEngine1(std::vector< std::pair< uint16_t, uint16_t >> &data)
Create a single pulse Cuda-enabled fit engine.
CFitEngine * createCudaFitEngine1(std::vector< std::pair< uint16_t, uint16_t >> &data)
Create a single pulse Cuda-enabled fit engine.
CFitEngine * createSerialFitEngine2(std::vector< std::pair< uint16_t, uint16_t >> &data)
Create a double pulse serial fit engine.
Fit engine for analytic single pulse fits.
Definition: jacobian_analytic.h:53
virtual void jacobian(const gsl_vector *p, gsl_matrix *J)
Compute the Jacobian matrix.
Definition: SerialFitEngineAnalytic.cpp:216
~SerialFitEngine1()
Definition: jacobian_analytic.h:63
SerialFitEngine1(std::vector< std::pair< uint16_t, uint16_t >> &data)
Constructor.
Definition: SerialFitEngineAnalytic.cpp:203
virtual void residuals(const gsl_vector *p, gsl_vector *r)
Compute the vector of residuals.
Definition: SerialFitEngineAnalytic.cpp:253
Fit engine for analytic double pulse fits.
Definition: jacobian_analytic.h:151
SerialFitEngine2(std::vector< std::pair< uint16_t, uint16_t >> &data)
Constructor.
Definition: SerialFitEngineAnalytic.cpp:285
virtual void residuals(const gsl_vector *p, gsl_vector *r)
Compute the residual vector.
Definition: SerialFitEngineAnalytic.cpp:291
virtual void jacobian(const gsl_vector *p, gsl_matrix *J)
Compute the Jacobian matrix.
Definition: SerialFitEngineAnalytic.cpp:324