forked from joaoabcoelho/OscProb
-
Notifications
You must be signed in to change notification settings - Fork 0
/
PMNS_Iter.h
67 lines (50 loc) · 1.6 KB
/
PMNS_Iter.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
////////////////////////////////////////////////////////////////////////
/// \class OscProb::PMNS_Iter
///
/// \brief Implementation of oscillations of neutrinos in matter in a
/// three-neutrino framework.
///
/// Based on an approximate iterative model from:\n
///
/// <pre>
///
///......................................................................
///
/// Universe 6 (2020) no.1, 16
///
/// Effects of Atomic-Scale Electron Density Profile and a Fast and
/// Efficient Iteration Algorithm for Matter Effect of Neutrino Oscillation
///
/// Mihai Horoi, Adam Zettel (Central Michigan U.)
///
///......................................................................
/// </pre>
///
/// \author Joao Coelho - coelho\@lal.in2p3.fr
////////////////////////////////////////////////////////////////////////
#ifndef PMNS_Iter_H
#define PMNS_Iter_H
#include "PMNS_Fast.h"
namespace OscProb {
class PMNS_Iter : public PMNS_Fast {
public:
PMNS_Iter(); ///< Constructor
virtual ~PMNS_Iter(); ///< Destructor
virtual void SetPrec(double prec);
protected:
/// Just use the vacuum to start
virtual void SolveHam();
/// Propagate through matter part
virtual void PropMatter();
virtual void SetExpVL(NuPath p);
/// Reimplement full propagation
virtual void Propagate();
virtual void SplitPropagate(NuPath p);
virtual void SetVacuumEigensystem();
double fPrec;
double fVL;
complexD fExpVL;
};
}
#endif
////////////////////////////////////////////////////////////////////////