44 double fragment_KE_lab,
int fragment_pdg,
int two_j,
int l,
int two_s,
45 int target_charge = 0) = 0;
55 int two_j,
int l,
int two_s,
int target_charge = 0) = 0;
80 int fragment_pdg,
int two_s,
size_t l_max,
int target_charge = 0) = 0;
Abstract base class for nuclear optical model implementations.
Definition: OpticalModel.hh:23
OpticalModel(int Z, int A)
Definition: OpticalModel.hh:29
virtual std::complex< double > optical_model_potential(double r, double fragment_KE_lab, int fragment_pdg, int two_j, int l, int two_s, int target_charge=0)=0
Calculate the optical model potential (including the Coulomb potential)
int A() const
Get the mass number.
Definition: OpticalModel.hh:97
int Z() const
Get the atomic number.
Definition: OpticalModel.hh:95
virtual double transmission_coefficient(double total_KE_CM, int fragment_pdg, int two_j, int l, int two_s, int target_charge=0)=0
Calculate the transmission coefficient for a nuclear fragment.
virtual double total_cross_section(double fragment_KE_lab, int fragment_pdg, int two_s, size_t l_max, int target_charge=0)=0
Compute the energy-averaged total cross section (MeV -2) for a nuclear fragment projectile.