MARLEY (Model of Argon Reaction Low Energy Yields)  v1.2.0
A Monte Carlo event generator for tens-of-MeV neutrino interactions
Public Types | Public Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
marley::GammaStrengthFunctionModel Class Referenceabstract

Abstract base class for models of gamma-ray strength functions. More...

#include <GammaStrengthFunctionModel.hh>

Inheritance diagram for marley::GammaStrengthFunctionModel:
marley::StandardLorentzianModel marley::WeisskopfSingleParticleModel

Public Types

enum class  TransitionType { electric , magnetic , unphysical }
 Electromagnetic transitions in nuclei may be classified by their multipolarity (electric vs. magnetic multipole radiation)
 

Public Member Functions

 GammaStrengthFunctionModel (int Z, int A)
 
virtual double strength_function (TransitionType type, int l, double e_gamma)=0
 Returns the gamma-ray strength function (MeV –2 \(\ell\)–1) for the requested gamma energy and multipolarity. More...
 
virtual double transmission_coefficient (TransitionType type, int l, double e_gamma)=0
 Returns the gamma-ray transmission coefficient (dimensionless) for the requested gamma energy and multipolarity. More...
 

Static Protected Member Functions

static void check_multipolarity (int l)
 Check that l > 0 and throw a marley::Error if it is not. More...
 

Protected Attributes

int A_
 Mass number.
 
int Z_
 Atomic number.
 

Detailed Description

Abstract base class for models of gamma-ray strength functions.

Classes derived from GammaStrengthFunctionModel may be used to simulate gamma-ray emission in situations where nuclear level data are unavailable. In particular, the HauserFeshbachDecay class uses instances of GammaStrengthFunctionModel to model the competition between gamma-ray emission and particle evaporation for highly-excited nuclear states.

Constructor & Destructor Documentation

◆ GammaStrengthFunctionModel()

marley::GammaStrengthFunctionModel::GammaStrengthFunctionModel ( int  Z,
int  A 
)
Parameters
ZAtomic number of the desired nuclide
AMass number of the desired nuclide

Member Function Documentation

◆ check_multipolarity()

void marley::GammaStrengthFunctionModel::check_multipolarity ( int  l)
staticprotected

Check that l > 0 and throw a marley::Error if it is not.

Todo:
Improve error message

◆ strength_function()

virtual double marley::GammaStrengthFunctionModel::strength_function ( TransitionType  type,
int  l,
double  e_gamma 
)
pure virtual

Returns the gamma-ray strength function (MeV –2 \(\ell\)–1) for the requested gamma energy and multipolarity.

Parameters
typeElectric or magnetic transition
lMultipolarity of the transition
e_gammaGamma-ray energy (MeV)

Implemented in marley::WeisskopfSingleParticleModel, and marley::StandardLorentzianModel.

◆ transmission_coefficient()

virtual double marley::GammaStrengthFunctionModel::transmission_coefficient ( TransitionType  type,
int  l,
double  e_gamma 
)
pure virtual

Returns the gamma-ray transmission coefficient (dimensionless) for the requested gamma energy and multipolarity.

The gamma-ray transmission coefficient and strength function are related via \(\text{T}_{\text{X}\ell}(\text{E}_\gamma) = 2\pi f_{\text{X}\ell}(\text{E}_\gamma)\text{E}_\gamma^{(2\ell + 1)},\) where X is the type of transition (electric or magnetic), \(\ell\) is the multipolarity, \(\text{T}_{\text{X}\ell}\) is the transmission coefficient, \(f_{\text{X}\ell}\) is the strength function, and \(\text{E}_\gamma\) is the gamma-ray energy.

Parameters
typeElectric or magnetic transition
lMultipolarity of the transition
e_gammaGamma-ray energy (MeV)

Implemented in marley::WeisskopfSingleParticleModel, and marley::StandardLorentzianModel.


The documentation for this class was generated from the following files: