MARLEY (Model of Argon Reaction Low Energy Yields) v2.0.0
A Monte Carlo event generator for tens-of-MeV neutrino interactions
Loading...
Searching...
No Matches
GammaStrengthFunctionModel.hh
1
4//
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
19namespace 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}
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....
static void check_multipolarity(int l)
Check that l > 0 and throw a marley::Error if it is not.
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.
A discrete nuclear energy level.
Definition Level.hh:29
Type-safe representation of a parity value (either +1 or -1)
Definition Parity.hh:25