Pluto v6.3.0
Loading...
Searching...
No Matches
PFermiDistributions.h
Go to the documentation of this file.
1// Author: L. Witthauer &
2// M. Dieterle
3// Written 24.03.2009
4
5#ifndef _PFERMIDISTRIBUTIONS_H_
6#define _PFERMIDISTRIBUTIONS_H_
7
8#include "PUtils.h"
9#include "TMath.h"
10#include "TF1.h"
11#include <iostream>
12
13#include "PChannelModel.h"
14
15#define NUCLEAR_FERMI_D 1
16#define NUCLEAR_FERMI_3HE 2
17#define NUCLEAR_FERMI_4HE 3
18#define NUCLEAR_FERMI_7LI 4
19#define NUCLEAR_FERMI_12C 5
20#define NUCLEAR_FERMI_40CA 6
21
22
23
25
26 public:
27
29 PFermiDistributions(const Char_t *id, const Char_t *de, Int_t key);
30
31 //PFermiDistributions(TString Target);
33
34 PDistribution *Clone(const char *delme=NULL) const;
35
36 virtual Double_t Eval(Double_t x, Double_t y = 0, Double_t z = 0, Double_t t = 0) const;
37 virtual Double_t EvalPar(const Double_t *x, const Double_t *params);
38 //TF1 wrapper
39
40
41 private:
42 int version_flag;
43 double FermiDisD (double *x, double *par) const;
44 double FermiDis3He (double *x, double *par) const;
45 double FermiDis4He (double *x, double *par) const;
46 double FermiDis7Li (double *x, double *par) const;
47 double FermiDis12C (double *x, double *par) const;
48 double FermiDis40Ca(double *x, double *par) const;
49 void SetDeuteronValues();
50
51 // TF1 *FM;
52 double MeV2GeV;
53
54 double *DeutC;
55 double *DeutD;
56 double *DeutM2;
57
58 public:
59
60 ClassDef(PFermiDistributions, 0) //Helper class for A-Fermi
61
62};
63
64#endif
PParticle * par[11]
virtual Double_t EvalPar(const Double_t *x, const Double_t *params)
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