SEVN
Loading...
Searching...
No Matches
deathmatrix.h
Go to the documentation of this file.
1//
2// Created by Giuliano Iorio on 26/07/2022.
3//
4
5#ifndef SEVN_DEATHMATRIX_H
6#define SEVN_DEATHMATRIX_H
7
8#include <supernova.h>
9#include <remnant.h>
10
11class Star;
12class PairInstability;
13
26public:
27 DeathMatrix(Star *s = nullptr);
28
30
31 void explosion(Star *s) override;
32 void ECSN(Star *s) override;
33 void CCexplosion(Star *s) override;
34
35
37 return (new DeathMatrix(s));
38 }
39
40 inline std::string name() const override { return "deathmatrix";}
41
42protected:
43
44 //Some specific varaibles
45 const std::string auxiliary_table_name="deathmatrix_Woosley+20.dat";
46 const double NS_max_mass=2.30;
47 const double NS_min_mass=1.24;
48 const double preSN_MHE_min_NS=2.07;
49 const double preSN_MHE_max_PISN=60.12;
52 static std::vector<std::vector<double>> death_matrix;
53
58 void load_table(Star *s);
59};
60
61
62
63
64
65
66#endif //SEVN_DEATHMATRIX_H
Definition: deathmatrix.h:25
void ECSN(Star *s) override
Definition: deathmatrix.cpp:71
const double preSN_MHE_max_PISN
Definition: deathmatrix.h:49
std::string name() const override
Definition: deathmatrix.h:40
static std::vector< std::vector< double > > death_matrix
DeathMatrix by Woosley+20 https://arxiv.org/pdf/2001.10492.pdf.
Definition: deathmatrix.h:52
const double preSN_MHE_min_NS
Definition: deathmatrix.h:48
void explosion(Star *s) override
Definition: deathmatrix.cpp:38
const std::string auxiliary_table_name
Definition: deathmatrix.h:45
const double NS_min_mass
Definition: deathmatrix.h:47
DeathMatrix * instance(Star *s)
Definition: deathmatrix.h:36
void CCexplosion(Star *s) override
Definition: deathmatrix.cpp:64
void load_table(Star *s)
Definition: deathmatrix.cpp:31
static DeathMatrix _deathmatrix
Definition: deathmatrix.h:29
const double NS_max_mass
Definition: deathmatrix.h:46
Definition: supernova.h:553
Definition: pairinstability.h:129
Definition: supernova.h:537
Definition: star.h:39
Definition: supernova.h:256