FLAME  devel
 All Classes Functions Variables Typedefs Enumerations Pages
Public Types | Public Member Functions | Public Attributes | Protected Attributes | List of all members
MomentElementBase Struct Referenceabstract

An Element which propagates the statistical moments of a bunch. More...

#include <moment.h>

Inheritance diagram for MomentElementBase:
Inheritance graph
[legend]
Collaboration diagram for MomentElementBase:
Collaboration graph
[legend]

Public Types

typedef MomentState state_t
 
typedef state_t::matrix_t value_t
 

Public Member Functions

 MomentElementBase (const Config &c)
 
void get_misalign (const state_t &ST, const Particle &real, value_t &M, value_t &IM) const
 
virtual void advance (StateBase &s)
 Propogate the given State through this Element.
 
virtual bool check_cache (const state_t &S) const
 
void resize_cache (const state_t &ST)
 
virtual void recompute_matrix (state_t &ST)
 recalculate 'transfer' taking into consideration the provided input state
 
virtual void show (std::ostream &strm, int level) const
 
virtual void assign (const ElementVoid *other)=0
 
- 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

Particle last_ref_in
 
Particle last_ref_out
 
std::vector< Particlelast_real_in
 
std::vector< Particlelast_real_out
 
std::vector< value_t > transfer
 final transfer matricies
 
std::vector< value_t > misalign
 
std::vector< value_t > misalign_inv
 
double dx
 constituents of misalign
 
double dy
 
double pitch
 
double yaw
 
double roll
 
bool skipcache
 If set, check_cache() will always return false.
 
- 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)
 

Protected Attributes

state_t::matrix_t scratch
 

Detailed Description

An Element which propagates the statistical moments of a bunch.

Definition at line 131 of file moment.h.

Member Function Documentation

void MomentElementBase::assign ( const ElementVoid other)
pure virtual

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 511 of file moment.cpp.

bool MomentElementBase::check_cache ( const state_t S) const
virtual

Return true if previously calculated 'transfer' matricies may be reused Should compare new input state against values used when 'transfer' was last computed

Definition at line 627 of file moment.cpp.

void MomentElementBase::resize_cache ( const state_t ST)

Helper to resize our std::vector s to match the # of charge states in the provided new input state.

Definition at line 637 of file moment.cpp.

void MomentElementBase::show ( std::ostream &  strm,
int  level 
) const
virtual

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

Reimplemented from ElementVoid.

Definition at line 530 of file moment.cpp.


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