GamR
0.0.0
GammaROOT
Loading...
Searching...
No Matches
Nucleus.hh
Go to the documentation of this file.
1
#ifndef GAMR_BATEMAN_NUCLEUS_HH
2
#define GAMR_BATEMAN_NUCLEUS_HH
3
4
#include <iostream>
5
#include <string>
6
#include <vector>
7
8
#define GAMR_BATEMAN_MAX_STEPS 16384
9
10
namespace
GamR
{
11
namespace
Bateman {
12
class
Nucleus
{
13
public
:
14
int
index
;
15
double
lifetime
;
16
double
lifetime_err
;
17
std::string
name
;
18
double
efficiency
;
19
double
efficiency_err
;
20
double
N0
;
21
22
std::vector<Nucleus*>
feeders
;
23
std::vector<double>
branches
;
//branching ratios from each feeder
24
std::vector<double>
branch_errs
;
25
26
float
*
population
;
//population as a function of time
27
public
:
28
Nucleus
() :
index
(-1),
lifetime
(-1),
efficiency
(1.0),
lifetime_err
(0.0),
efficiency_err
(0.0),
N0
(0.0) {
population
=
new
float
[
GAMR_BATEMAN_MAX_STEPS
]; }
29
Nucleus
(
int
indx, std::string n,
double
lt,
double
eff,
double
lt_err,
double
eff_err,
double
N_0) :
index
(indx),
name
(n),
lifetime
(lt),
efficiency
(eff),
lifetime_err
(lt_err),
efficiency_err
(eff_err),
N0
(N_0) {
population
=
new
float
[
GAMR_BATEMAN_MAX_STEPS
]; };
30
double
GetDC
() {
return
1.0/
lifetime
; }
31
void
AddFeeder
(
Nucleus
*nuc,
double
branch) {
feeders
.push_back(nuc);
branches
.push_back(branch); }
32
void
Print
(std::ostream &stream);
33
};
34
}
35
}
36
37
#endif
GAMR_BATEMAN_MAX_STEPS
#define GAMR_BATEMAN_MAX_STEPS
Definition
Nucleus.hh:8
GamR::Bateman::Nucleus::N0
double N0
Definition
Nucleus.hh:20
GamR::Bateman::Nucleus::name
std::string name
Definition
Nucleus.hh:17
GamR::Bateman::Nucleus::index
int index
Definition
Nucleus.hh:14
GamR::Bateman::Nucleus::population
float * population
Definition
Nucleus.hh:26
GamR::Bateman::Nucleus::lifetime
double lifetime
Definition
Nucleus.hh:15
GamR::Bateman::Nucleus::branch_errs
std::vector< double > branch_errs
Definition
Nucleus.hh:24
GamR::Bateman::Nucleus::efficiency
double efficiency
Definition
Nucleus.hh:18
GamR::Bateman::Nucleus::Print
void Print(std::ostream &stream)
Definition
Nucleus.cc:5
GamR::Bateman::Nucleus::lifetime_err
double lifetime_err
Definition
Nucleus.hh:16
GamR::Bateman::Nucleus::efficiency_err
double efficiency_err
Definition
Nucleus.hh:19
GamR::Bateman::Nucleus::branches
std::vector< double > branches
Definition
Nucleus.hh:23
GamR::Bateman::Nucleus::feeders
std::vector< Nucleus * > feeders
Definition
Nucleus.hh:22
GamR::Bateman::Nucleus::Nucleus
Nucleus(int indx, std::string n, double lt, double eff, double lt_err, double eff_err, double N_0)
Definition
Nucleus.hh:29
GamR::Bateman::Nucleus::GetDC
double GetDC()
Definition
Nucleus.hh:30
GamR::Bateman::Nucleus::Nucleus
Nucleus()
Definition
Nucleus.hh:28
GamR::Bateman::Nucleus::AddFeeder
void AddFeeder(Nucleus *nuc, double branch)
Definition
Nucleus.hh:31
GamR
Definition
Gain.cc:19
src
lib
bateman
Nucleus.hh
Generated on Tue Feb 10 2026 23:03:42 for GamR by
1.13.2