#ifndef _PFERMIDISTRIBUTIONS_H_
#define _PFERMIDISTRIBUTIONS_H_
#include "PUtils.h"
#include "TMath.h"
#include "TF1.h"
#include <iostream>
#include "PChannelModel.h"
#define NUCLEAR_FERMI_D 1
#define NUCLEAR_FERMI_3HE 2
#define NUCLEAR_FERMI_4HE 3
#define NUCLEAR_FERMI_7LI 4
#define NUCLEAR_FERMI_12C 5
#define NUCLEAR_FERMI_40CA 6
class PFermiDistributions : public PChannelModel {
public:
PFermiDistributions();
PFermiDistributions(const Char_t *id, const Char_t *de, Int_t key);
~PFermiDistributions();
PDistribution *Clone(const char *delme=NULL) const;
virtual Double_t Eval(Double_t x, Double_t y = 0, Double_t z = 0, Double_t t = 0) const;
virtual Double_t EvalPar(const Double_t *x, const Double_t *params);
private:
int version_flag;
double FermiDisD (double *x, double *par) const;
double FermiDis3He (double *x, double *par) const;
double FermiDis4He (double *x, double *par) const;
double FermiDis7Li (double *x, double *par) const;
double FermiDis12C (double *x, double *par) const;
double FermiDis40Ca(double *x, double *par) const;
void SetDeuteronValues();
double MeV2GeV;
double *DeutC;
double *DeutD;
double *DeutM2;
public:
ClassDef(PFermiDistributions, 0)
};
#endif