FLAME  devel
 All Classes Functions Variables Typedefs Enumerations Pages
Public Types | Public Member Functions | Public Attributes | List of all members
LinearElementBase< State > Struct Template Reference

An Element based on a simple Transfer matrix. More...

#include <linear.h>

Inheritance diagram for LinearElementBase< State >:
Inheritance graph
[legend]
Collaboration diagram for LinearElementBase< State >:
Collaboration graph
[legend]

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 Configconf () const
 The Config used to construct this element.
 
Observerobserver () 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)
 

Detailed Description

template<typename State>
struct LinearElementBase< State >

An Element based on a simple Transfer matrix.

$ state = transfer * state $

Template Parameters
oneof VectorState or MatrixState

Definition at line 19 of file linear.h.

Member Function Documentation

template<typename State >
virtual void LinearElementBase< State >::assign ( const ElementVoid other)
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.

Definition at line 45 of file linear.h.

template<typename State >
virtual void LinearElementBase< State >::show ( std::ostream &  strm,
int  level 
) const
inlinevirtual

Print information about the element. level is a hint as to the verbosity expected by the caller.

Reimplemented from ElementVoid.

Definition at line 35 of file linear.h.


The documentation for this struct was generated from the following file: