7 #include <boost/numeric/ublas/vector.hpp>
8 #include <boost/numeric/ublas/matrix.hpp>
9 #include <boost/numeric/ublas/io.hpp>
18 template<
typename State>
21 typedef State state_t;
25 ,
transfer(boost::numeric::ublas::identity_matrix<double>(state_t::maxsize))
31 State& ST =
static_cast<State&
>(s);
35 virtual void show(std::ostream& strm,
int level)
const
41 typedef boost::numeric::ublas::matrix<double> value_t;
53 void advanceT(State& s)
55 using boost::numeric::ublas::prod;
57 s.state = prod(transfer, s.state);
61 #endif // FLAME_LINEAR_H
ElementVoid(const Config &conf)
Construct this element using the provided Config.
Base class for all simulated elements.
double length
Longitudual length of this element (added to StateBase::pos)
The abstract base class for all simulation state objects.
virtual void assign(const ElementVoid *other)=0
Associative configuration container.
An Element based on a simple Transfer matrix.
virtual void advance(StateBase &s)
Propogate the given State through this Element.
virtual void show(std::ostream &strm, int level) const
virtual void assign(const ElementVoid *other)
value_t transfer
The transfer matrix.
virtual void show(std::ostream &, int level) const