centralize time managment and output triggering
More...
#include <timer_utils.h>
|
| timer_manager (double inp_dt, double inp_start, double inp_end) |
|
void | update_timers () |
|
void | reset_timers () |
| Reset time in timer_manager and then reset registered timers. More...
|
|
int | add_eq_timer (double istart, double iend, int ntrig, double iintv, double idur, const char *iname, const char *poolname=nullptr) |
| Add a equidistant step timer to the array of timers. More...
|
|
int | add_neq_timer (const std::vector< double > &itrig, double idur, const char *iname, const char *poolname=nullptr) |
|
int | add_singlestep_timer (double tg, double idur, const char *iname, const char *poolname=nullptr) |
|
void | initialize_eq_timer (double istart, double iend, int ntrig, double iintv, double idur, int ID, const char *iname, const char *poolname=nullptr) |
|
void | initialize_neq_timer (const std::vector< double > &itrig, double idur, int ID, const char *iname, const char *poolname=nullptr) |
|
void | initialize_singlestep_timer (double tg, double idur, int ID, const char *iname, const char *poolname=nullptr) |
|
size_t | num_timers () const |
|
double | timer_duration (int ID) const |
|
bool | elapsed () const |
|
bool | trigger (int ID) const |
|
bool | triggered_now (int ID) const |
|
bool | trigger_end (int ID) const |
|
int | trigger_elapse (int ID) const |
|
int | active_ticks (int ID) const |
| return number of ticks elapsed after trigger More...
|
|
void | setup (double inp_dt, double inp_start, double inp_end) |
| Initialize the timer_manager. More...
|
|
centralize time managment and output triggering
Definition at line 73 of file timer_utils.h.
◆ timer_manager()
opencarp::timer_manager::timer_manager |
( |
double |
inp_dt, |
|
|
double |
inp_start, |
|
|
double |
inp_end |
|
) |
| |
|
inline |
◆ active_ticks()
int opencarp::timer_manager::active_ticks |
( |
int |
ID | ) |
const |
|
inline |
return number of ticks elapsed after trigger
Definition at line 195 of file timer_utils.h.
◆ add_eq_timer()
int opencarp::timer_manager::add_eq_timer |
( |
double |
istart, |
|
|
double |
iend, |
|
|
int |
ntrig, |
|
|
double |
iintv, |
|
|
double |
idur, |
|
|
const char * |
iname, |
|
|
const char * |
poolname = nullptr |
|
) |
| |
Add a equidistant step timer to the array of timers.
- Parameters
-
istart | Timing interval start. |
iend | Timing interval end. |
ntrig | Number of triggered events in the timer. |
iintv | Interval between trigger events. |
idur | Duration of a trigger event. |
iname | Timer name. |
poolname | Optional timer pool name. |
- Returns
Definition at line 78 of file timer_utils.cc.
◆ add_neq_timer()
int opencarp::timer_manager::add_neq_timer |
( |
const std::vector< double > & |
itrig, |
|
|
double |
idur, |
|
|
const char * |
iname, |
|
|
const char * |
poolname = nullptr |
|
) |
| |
◆ add_singlestep_timer()
int opencarp::timer_manager::add_singlestep_timer |
( |
double |
tg, |
|
|
double |
idur, |
|
|
const char * |
iname, |
|
|
const char * |
poolname = nullptr |
|
) |
| |
|
inline |
◆ elapsed()
bool opencarp::timer_manager::elapsed |
( |
| ) |
const |
|
inline |
◆ initialize_eq_timer()
void opencarp::timer_manager::initialize_eq_timer |
( |
double |
istart, |
|
|
double |
iend, |
|
|
int |
ntrig, |
|
|
double |
iintv, |
|
|
double |
idur, |
|
|
int |
ID, |
|
|
const char * |
iname, |
|
|
const char * |
poolname = nullptr |
|
) |
| |
◆ initialize_neq_timer()
void opencarp::timer_manager::initialize_neq_timer |
( |
const std::vector< double > & |
itrig, |
|
|
double |
idur, |
|
|
int |
ID, |
|
|
const char * |
iname, |
|
|
const char * |
poolname = nullptr |
|
) |
| |
◆ initialize_singlestep_timer()
void opencarp::timer_manager::initialize_singlestep_timer |
( |
double |
tg, |
|
|
double |
idur, |
|
|
int |
ID, |
|
|
const char * |
iname, |
|
|
const char * |
poolname = nullptr |
|
) |
| |
|
inline |
◆ num_timers()
size_t opencarp::timer_manager::num_timers |
( |
| ) |
const |
|
inline |
◆ reset_timers()
void opencarp::timer_manager::reset_timers |
( |
| ) |
|
|
inline |
◆ setup()
void opencarp::timer_manager::setup |
( |
double |
inp_dt, |
|
|
double |
inp_start, |
|
|
double |
inp_end |
|
) |
| |
Initialize the timer_manager.
The initialization code that is called in the constructor and for reinitialization
- Parameters
-
inp_dt | Basic time step. |
inp_start | Simulation time start. |
inp_end | Simulation time end. |
Definition at line 36 of file timer_utils.cc.
◆ timer_duration()
double opencarp::timer_manager::timer_duration |
( |
int |
ID | ) |
const |
|
inline |
◆ trigger()
bool opencarp::timer_manager::trigger |
( |
int |
ID | ) |
const |
|
inline |
◆ trigger_elapse()
int opencarp::timer_manager::trigger_elapse |
( |
int |
ID | ) |
const |
|
inline |
◆ trigger_end()
bool opencarp::timer_manager::trigger_end |
( |
int |
ID | ) |
const |
|
inline |
◆ triggered_now()
bool opencarp::timer_manager::triggered_now |
( |
int |
ID | ) |
const |
|
inline |
◆ update_timers()
void opencarp::timer_manager::update_timers |
( |
| ) |
|
|
inline |
Update all timers and IO triggers
- Note
- triggered within this function means the leading edge, while the triggered field outside the function means that the trigger is on
Definition at line 103 of file timer_utils.h.
◆ d_end
long opencarp::timer_manager::d_end |
final index in multiples of dt
Definition at line 82 of file timer_utils.h.
◆ d_start
long opencarp::timer_manager::d_start |
initial index in multiples of dt
Definition at line 80 of file timer_utils.h.
◆ d_time
long opencarp::timer_manager::d_time |
◆ end
double opencarp::timer_manager::end |
◆ start
double opencarp::timer_manager::start |
initial time (nonzero when restarting)
Definition at line 79 of file timer_utils.h.
◆ time
double opencarp::timer_manager::time |
◆ time_step
double opencarp::timer_manager::time_step |
◆ timers
std::vector<base_timer*> opencarp::timer_manager::timers |
vector containing individual timers
Definition at line 84 of file timer_utils.h.
The documentation for this class was generated from the following files: