1#ifndef EL_ELASTIC_SCAT_H
2#define EL_ELASTIC_SCAT_H
15 double CS(
const double theta)
const;
23 std::vector<ElElasticScatDataStruct>
data;
44 double get_CS(
long Z,
double energy,
double angle,
int s_interp = 0);
53 long get_qe(
void)
const {
return qe; }
60 void print(std::ostream& file,
int l)
const;
66 std::vector<double> energy_mesh;
68 std::vector<double> gamma_beta2;
70 std::vector<ElElasticScatData> atom;
73 double get_CS_for_presented_atom(
long na,
double energy,
double angle);
79 return mean_coef[Z - 1][ne];
81 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.
ElElasticScatData()=default
Default constructor.
std::vector< ElElasticScatDataStruct > data
Fit parameters at different energies.
ElElasticScatData(long fZ, long qe)
Constructor with atomic number and number of energies.
long get_qscat(void) const
ElElasticScat * get_ees() const
double get_coef(const long Z, const long ne) const
ElElasticScatLowSigma()=default
Default constructor.
double get_mean_coef(const long Z, const long ne) const
double get_CS(long Z, double energy, double angle, int s_interp=0)
double get_energy_mesh(long ne) const
ElElasticScat()=default
Default constructor.
void print(std::ostream &file, int l) const
double get_CS_Rutherford(long Z, double energy, double angle)