MARLEY (Model of Argon Reaction Low Energy Yields)  v1.2.0
A Monte Carlo event generator for tens-of-MeV neutrino interactions
GammaStrengthFunctionModel.hh
1 //
5 // This file is part of MARLEY (Model of Argon Reaction Low Energy Yields)
6 //
7 // MARLEY is free software: you can redistribute it and/or modify it under the
8 // terms of version 3 of the GNU General Public License as published by the
9 // Free Software Foundation.
10 //
11 // For the full text of the license please see COPYING or
12 // visit http://opensource.org/licenses/GPL-3.0
13 //
14 // Please respect the MCnet academic usage guidelines. See GUIDELINES
15 // or visit https://www.montecarlonet.org/GUIDELINES for details.
16 
17 #pragma once
18 
19 namespace marley {
20 
21  class Level;
22  class Parity;
23 
31 
32  public:
33 
36  GammaStrengthFunctionModel(int Z, int A);
37 
38  virtual ~GammaStrengthFunctionModel() = default;
39 
43  enum class TransitionType { electric, magnetic, unphysical };
44 
51  virtual double strength_function(TransitionType type, int l,
52  double e_gamma) = 0;
53 
66  virtual double transmission_coefficient(TransitionType type, int l,
67  double e_gamma) = 0;
68 
69  protected:
70 
72  static void check_multipolarity(int l);
73 
74  int Z_;
75  int A_;
76  };
77 
78 }
Abstract base class for models of gamma-ray strength functions.
Definition: GammaStrengthFunctionModel.hh:30
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 mul...
TransitionType
Electromagnetic transitions in nuclei may be classified by their multipolarity (electric vs....
Definition: GammaStrengthFunctionModel.hh:43
static void check_multipolarity(int l)
Check that l > 0 and throw a marley::Error if it is not.
Definition: GammaStrengthFunctionModel.cc:28
virtual double strength_function(TransitionType type, int l, double e_gamma)=0
Returns the gamma-ray strength function (MeV –2 –1) for the requested gamma energy and multipolarity.
int Z_
Atomic number.
Definition: GammaStrengthFunctionModel.hh:74
GammaStrengthFunctionModel(int Z, int A)
Definition: GammaStrengthFunctionModel.cc:25
int A_
Mass number.
Definition: GammaStrengthFunctionModel.hh:75