// Author: L. Witthauer &
//         M. Dieterle
// Written 24.03.2009

#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(TString Target);
    ~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);
    //TF1 wrapper
    
    
 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();
    
    //    TF1 *FM;
    double MeV2GeV;

    double *DeutC; 
    double *DeutD; 
    double *DeutM2; 
    
 public:
    
    ClassDef(PFermiDistributions, 0) //Helper class for A-Fermi

};

#endif
 PFermiDistributions.h:1
 PFermiDistributions.h:2
 PFermiDistributions.h:3
 PFermiDistributions.h:4
 PFermiDistributions.h:5
 PFermiDistributions.h:6
 PFermiDistributions.h:7
 PFermiDistributions.h:8
 PFermiDistributions.h:9
 PFermiDistributions.h:10
 PFermiDistributions.h:11
 PFermiDistributions.h:12
 PFermiDistributions.h:13
 PFermiDistributions.h:14
 PFermiDistributions.h:15
 PFermiDistributions.h:16
 PFermiDistributions.h:17
 PFermiDistributions.h:18
 PFermiDistributions.h:19
 PFermiDistributions.h:20
 PFermiDistributions.h:21
 PFermiDistributions.h:22
 PFermiDistributions.h:23
 PFermiDistributions.h:24
 PFermiDistributions.h:25
 PFermiDistributions.h:26
 PFermiDistributions.h:27
 PFermiDistributions.h:28
 PFermiDistributions.h:29
 PFermiDistributions.h:30
 PFermiDistributions.h:31
 PFermiDistributions.h:32
 PFermiDistributions.h:33
 PFermiDistributions.h:34
 PFermiDistributions.h:35
 PFermiDistributions.h:36
 PFermiDistributions.h:37
 PFermiDistributions.h:38
 PFermiDistributions.h:39
 PFermiDistributions.h:40
 PFermiDistributions.h:41
 PFermiDistributions.h:42
 PFermiDistributions.h:43
 PFermiDistributions.h:44
 PFermiDistributions.h:45
 PFermiDistributions.h:46
 PFermiDistributions.h:47
 PFermiDistributions.h:48
 PFermiDistributions.h:49
 PFermiDistributions.h:50
 PFermiDistributions.h:51
 PFermiDistributions.h:52
 PFermiDistributions.h:53
 PFermiDistributions.h:54
 PFermiDistributions.h:55
 PFermiDistributions.h:56
 PFermiDistributions.h:57
 PFermiDistributions.h:58
 PFermiDistributions.h:59
 PFermiDistributions.h:60
 PFermiDistributions.h:61
 PFermiDistributions.h:62
 PFermiDistributions.h:63
 PFermiDistributions.h:64