// This may look like C code, but it is really -*- C++ -*-
// typedef pour link dynamique de piapp  
// Reza                     Juillet,Aout 98
// LAL-IN2P3/CNRS

#ifndef DLFTPES_H_SEEN
#define DLFTYPES_H_SEEN

#include "machdefs.h"
#include <string>
#include <vector>

// ------------ Fonctions pour trace de fonctions --------------
typedef double (* DlFunctionOfX) (double x);
typedef double (* DlFunctionOfXY) (double x, double y);
// ---- Fonctions pour trace d'expressions d'objets ------------
typedef long long int_8_exprf;
// ^- Doit etre le meme que dans (Services2NObjMgr::)LinkExprFunc,PrepareNTExpressionCFile
typedef int (* PlotExprFunc) (int_8_exprf nl, double* x, double* rx, double* ry, double* rz, double* rt);
typedef int (* NTLoopExprFunc) (int_8_exprf nl, double* x, double* rx, double* ry, double* rz, 
                                double* rt, int_8_exprf nstart, int_8_exprf nend);

// ---------- Fonctions UserFit ----------------
typedef double (* DlUserFitFunc)(double const*, double const*);
typedef double (* DlUserFitFuncDer)(double const*, double const*, double*);

// ---------- Fonctions User et gestion de modules chargeables ----
typedef void (* DlUserProcFunction) (vector<string>& args);
typedef void (* DlModuleInitEndFunction) ();

#endif

