An Element based on a simple Transfer matrix. More...
#include <linear.h>
Public Types | |
typedef State | state_t |
typedef boost::numeric::ublas::matrix < double > | value_t |
Public Member Functions | |
LinearElementBase (const Config &c) | |
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) |
Public Member Functions inherited from ElementVoid | |
ElementVoid (const Config &conf) | |
Construct this element using the provided Config. More... | |
virtual const char * | type_name () const =0 |
const Config & | conf () const |
The Config used to construct this element. | |
Observer * | observer () const |
The current observer, or NULL. | |
void | set_observer (Observer *o) |
Public Attributes | |
value_t | transfer |
The transfer matrix. | |
Public Attributes inherited from ElementVoid | |
const std::string | name |
Name of this element (unique in its Machine) | |
const size_t | index |
Index of this element (unique in its Machine) | |
double | length |
Longitudual length of this element (added to StateBase::pos) | |
An Element based on a simple Transfer matrix.
one | of VectorState or MatrixState |
|
inlinevirtual |
Used by Machine::reconfigure() to avoid re-alloc (and iterator invalidation) Assumes other has the same type. Sub-classes must call base class assign() Come c++11 this can be replaced with a move ctor.
Implements ElementVoid.
|
inlinevirtual |
Print information about the element. level is a hint as to the verbosity expected by the caller.
Reimplemented from ElementVoid.