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
10namespace GamR {
11namespace Bateman {
12 class Nucleus {
13 public:
14 int index;
15 double lifetime;
17 std::string name;
18 double efficiency;
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
#define GAMR_BATEMAN_MAX_STEPS
Definition Nucleus.hh:8
std::vector< double > branch_errs
Definition Nucleus.hh:24
void Print(std::ostream &stream)
Definition Nucleus.cc:5
std::vector< double > branches
Definition Nucleus.hh:23
std::vector< Nucleus * > feeders
Definition Nucleus.hh:22
Nucleus(int indx, std::string n, double lt, double eff, double lt_err, double eff_err, double N_0)
Definition Nucleus.hh:29
void AddFeeder(Nucleus *nuc, double branch)
Definition Nucleus.hh:31
Definition Gain.cc:19