3 #include <thrust/functional.h>    18     = {
"ptr_to_Eval", 
"ptr_to_NLL", 
"ptr_to_Prob", 
"ptr_to_BinAvg", 
"ptr_to_BinWithError", 
"ptr_to_Chisq"};
    29 extern __constant__ 
unsigned int paramIndices[
maxParams];
    36 extern __device__ 
void *device_function_table[200];
    37 extern void *host_function_table[200];
    38 extern unsigned int num_device_functions;
    39 extern std::map<void *, int> functionAddressToDeviceIndexMap;
    42 __device__ 
int dev_powi(
int base, 
int exp); 
    52 __device__ fptype 
callFunction(fptype *eventAddress, 
unsigned int functionIdx, 
unsigned int paramIdx);
    58     double calculateNLL() 
const override;
    65     __host__ std::vector<fptype> evaluateAtPoints(
Observable var);
    68     __host__ fptype 
normalize() 
const override;
    73     __host__ 
virtual fptype 
integrate(fptype lo, fptype hi)
 const { 
return 0; }
    78     __host__ std::vector<std::vector<fptype>> getCompProbsAtDataPoints();
    83     __host__ 
void initialize(std::vector<unsigned int> pindices, 
void *dev_functionPtr = host_fcn_ptr);
    84     __host__ 
void scan(
Observable var, std::vector<fptype> &values);
    85     __host__ 
void setFitControl(std::shared_ptr<FitControl> fc) 
override;
    86     __host__ 
virtual void setMetrics();
    87     __host__ 
void setParameterConstantness(
bool constant = 
true);
    89     __host__ 
virtual void transformGrid(fptype *host_output);
    90     static __host__ 
int findFunctionIdx(
void *dev_functionPtr);
    91     __host__ 
void setDebugMask(
int mask, 
bool setSpecific = 
true) 
const;
    94     __host__ TH1D *plotToROOT(
Observable var, 
double normFactor = 1, std::string name = 
"");
    99     __host__ 
virtual double sumOfNll(
int numVars) 
const;
 constexpr const char * evalfunc_to_string(EvalFunc val)
void normalize(TH1F *dat)
constexpr const char * evalfunc_vals[]
__host__ fptype normalise() const
Just in case you are British and the previous spelling is offensive. 
Special class for observables. Used in DataSets. 
fptype(* device_function_ptr)(fptype *, fptype *, unsigned int *)
Pass event, parameters, index into parameters. 
__host__ bool hasAnalyticIntegral() const override
fptype(* device_metric_ptr)(fptype, fptype *, unsigned int)
PdfBase(std::string n, Args... args)
virtual __host__ fptype integrate(fptype lo, fptype hi) const
std::shared_ptr< MetricTaker > logger
void * getMetricPointer(std::string name)
__device__ fptype callFunction(fptype *eventAddress, unsigned int functionIdx, unsigned int paramIdx)
__device__ int dev_powi(int base, int exp)