12#ifndef __CODAC2_TDOMAIN_H__
13#define __CODAC2_TDOMAIN_H__
25 using codac::Interval;
32 explicit TDomain(
const Interval& t0_tf);
33 explicit TDomain(
const Interval& t0_tf,
double dt,
bool with_gates =
false);
34 const Interval t0_tf()
const;
35 std::list<TSlice>::iterator iterator_tslice(
double t);
36 size_t nb_tslices()
const;
37 size_t nb_tubes()
const;
38 bool all_gates_defined()
const;
39 std::list<TSlice>::iterator sample(
double t,
bool with_gate =
false);
40 void sample(
const Interval& t0_tf,
double dt,
bool with_gates =
false);
41 friend std::ostream& operator<<(std::ostream& os,
const TDomain& x);
42 const std::list<TSlice>& tslices()
const;
43 std::list<TSlice>& tslices();
45 static bool are_same(
const std::shared_ptr<TDomain>& tdom1,
const std::shared_ptr<TDomain>& tdom2);
50 std::list<TSlice> _tslices;
56 std::shared_ptr<TDomain> create_tdomain(
const Interval& t0_tf = Interval(-oo,oo));
57 std::shared_ptr<TDomain> create_tdomain(
const Interval& t0_tf,
double dt,
bool with_gates =
false);