1#ifndef EL_ELASTIC_SCAT_H
2#define EL_ELASTIC_SCAT_H
17 double CS(
const double theta)
const;
25 std::vector<ElElasticScatDataStruct>
data;
46 double get_CS(
long Z,
double energy,
double angle,
int s_interp = 0);
55 long get_qe(
void)
const {
return qe; }
62 void print(std::ostream& file,
int l)
const;
68 std::vector<double> energy_mesh;
70 std::vector<double> gamma_beta2;
72 std::vector<ElElasticScatData> atom;
75 double get_CS_for_presented_atom(
long na,
double energy,
double angle);
81 return mean_coef[Z - 1][ne];
83 double get_coef(
const long Z,
const long ne)
const {
return coef[Z - 1][ne]; }
96 std::vector<std::vector<double> > mean_coef;
98 std::vector<std::vector<double> > coef;
double CS(const double theta) const
Return -1 if not valid.
double A[4]
If -1.0 then the combination is not valid.
Array of ElElasticScatDataStruct objects for a set of energies.
std::vector< ElElasticScatDataStruct > data
Fit parameters at different energies.
ElElasticScatData(long fZ, long qe)
Constructor with atomic number and number of energies.
ElElasticScatData(void)
Default constructor.
long get_qscat(void) const
double get_coef(const long Z, const long ne) const
ElElasticScat * get_ees(void) const
double get_mean_coef(const long Z, const long ne) const
ElElasticScatLowSigma(void)
double get_CS(long Z, double energy, double angle, int s_interp=0)
double get_energy_mesh(long ne) const
void print(std::ostream &file, int l) const
double get_CS_Rutherford(long Z, double energy, double angle)
ElElasticScat(void)
Default constructor.