mrgsolve
Loading...
Searching...
No Matches
mrgsolve-evtools.h
Go to the documentation of this file.
1
2namespace evt {
3
5
6mrgsolve::evdata bolus(const double amt, const int cmt) {
7 mrgsolve::evdata ev(0, 1);
8 ev.amt = amt;
9 ev.cmt = cmt;
10 ev.check_unique = false;
11 ev.now = true;
12 return ev;
13}
14
15void bolus(databox& self, const double amt, const int cmt) {
17 self.mevector.push_back(ev);
18 return;
19}
20
21mrgsolve::evdata infuse(const double amt, const int cmt, const double rate) {
22 mrgsolve::evdata ev(0, 1);
23 ev.amt = amt;
24 ev.cmt = cmt;
25 ev.rate = rate;
26 ev.now = true;
27 ev.check_unique = false;
28 return ev;
29}
30
31void infuse(databox& self, const double amt, const int cmt, const double rate) {
33 self.mevector.push_back(ev);
34 return;
35}
36
37mrgsolve::evdata replace(const double amt, const int cmt) {
38 mrgsolve::evdata ev(0, 8);
39 ev.amt = amt;
40 ev.cmt = cmt;
41 ev.now = true;
42 ev.check_unique = false;
43 return ev;
44}
45
46void replace(databox& self, const double amt, const int cmt) {
48 self.mevector.push_back(ev);
49 return;
50}
51
53 mrgsolve::evdata ev(0, 3);
54 ev.now = true;
55 ev.check_unique = false;
56 return ev;
57}
58
59mrgsolve::evdata reset(const double amt, const int cmt,
60 const double rate = 0) {
61 mrgsolve::evdata ev(0, 4);
62 ev.amt = amt;
63 ev.cmt = cmt;
64 ev.rate = rate;
65 ev.now = true;
66 ev.check_unique = false;
67 return ev;
68}
69
70void reset(databox& self) {
72 self.mevector.push_back(ev);
73 return;
74}
75
76void reset(databox& self, const double amt, const int cmt,
77 const double rate = 0) {
79 self.mevector.push_back(ev);
80 return;
81}
82
83void retime(mrgsolve::evdata& ev, const double time) {
84 ev.time = time;
85 ev.now = false;
86 return;
87}
88
89void addl(mrgsolve::evdata& ev, const int addl) {
90 ev.addl = addl;
91 return;
92}
93
94void ii(mrgsolve::evdata& ev, const double ii) {
95 ev.ii = ii;
96 return;
97}
98
99void ss(mrgsolve::evdata& ev, const int ss) {
100 ev.ss = ss;
101 return;
102}
103
104void amt(mrgsolve::evdata& ev, const double amt) {
105 ev.amt = amt;
106 return;
107}
108
109void rate(mrgsolve::evdata& ev, const double rate) {
110 ev.rate = rate;
111 return;
112}
113
114void cmt(mrgsolve::evdata& ev, const int cmt) {
115 ev.cmt = cmt;
116 return;
117}
118
119void evid(mrgsolve::evdata& ev, const unsigned int evid) {
120 ev.evid = evid;
121 return;
122}
123
125 ev.now = true;
126 return;
127}
128
129mrgsolve::evdata tgrid(double start, double end, double delta) {
130 mrgsolve::evdata ev(start, 0);
131 ev.ii = delta;
132 ev.addl = std::floor((end-start)/delta);
133 ev.amt = 0;
134 ev.cmt = 1;
135 ev.now = false;
136 ev.check_unique = false;
137 return ev;
138}
139
141 self.push(ev);
142 return;
143}
144
145bool near(double a, double b, double eps = 1e-8) {
146 bool ans = std::fabs(a-b) < eps;
147 return ans;
148}
149
150}
151
152namespace mrgsolve {
153namespace evt {
154void push(databox& self, mrg::evdata ev) {
155 self.mevector.push_back(ev);
156}
157}
158}
member functions mevent and tad come in via housemodel; see inst/base/databox.cpp
Definition mrgsolv.h:96
void push(mrgsolve::evdata x)
Definition databox_cpp.h:51
std::vector< mrgsolve::evdata > mevector
a collection of model events to pass back
Definition mrgsolv.h:119
Definition mrgsolve-evtools-regimen.h:1
void ss(mrgsolve::evdata &ev, const int ss)
Definition mrgsolve-evtools.h:99
void now(mrgsolve::evdata &ev)
Definition mrgsolve-evtools.h:124
mrgsolve::evdata ev
Definition mrgsolve-evtools.h:4
void push(databox &self, mrgsolve::evdata ev)
Definition mrgsolve-evtools.h:140
mrgsolve::evdata infuse(const double amt, const int cmt, const double rate)
Definition mrgsolve-evtools.h:21
mrgsolve::evdata tgrid(double start, double end, double delta)
Definition mrgsolve-evtools.h:129
mrgsolve::evdata bolus(const double amt, const int cmt)
Definition mrgsolve-evtools.h:6
void ii(mrgsolve::evdata &ev, const double ii)
Definition mrgsolve-evtools.h:94
void rate(mrgsolve::evdata &ev, const double rate)
Definition mrgsolve-evtools.h:109
void addl(mrgsolve::evdata &ev, const int addl)
Definition mrgsolve-evtools.h:89
mrgsolve::evdata reset()
Definition mrgsolve-evtools.h:52
mrgsolve::evdata replace(const double amt, const int cmt)
Definition mrgsolve-evtools.h:37
void cmt(mrgsolve::evdata &ev, const int cmt)
Definition mrgsolve-evtools.h:114
bool near(double a, double b, double eps=1e-8)
Definition mrgsolve-evtools.h:145
void amt(mrgsolve::evdata &ev, const double amt)
Definition mrgsolve-evtools.h:104
void evid(mrgsolve::evdata &ev, const unsigned int evid)
Definition mrgsolve-evtools.h:119
void retime(mrgsolve::evdata &ev, const double time)
Definition mrgsolve-evtools.h:83
void push(databox &self, mrg::evdata ev)
Definition mrgsolve-evtools.h:154
Definition mrgsolv.h:30
Definition mrgsolv.h:51