The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Physics::UEMColumn::Element - Base class for "optical" elements in a UEM system

SYNOPSIS

 package Physics::UEMColumn::MyElement;
 use Moose;
 extends 'Physics::UEMColumn::Element';

DESCRIPTION

Physics::UEMColumn::Element is a base class for "optical" elements in a UEM system. Mostly it defines the physical bounds of the element. All objects passed to Physics::UEMColumn::Column via add_element must be subclasses of this base.

ATTRIBUTES

location

The position of the center of the element in the column. Unit: m

length

The full effective length of the element. "Effective" here means the size that the pulse sees; e.g. the length of the pole piece gap of a magnetic lens. Unit: m

cutoff

A number representing the number of lengths away from the the center of the element before the element may be safely ignored. The default is 3.

METHODS

effect

Returns a hash reference of subroutine references defining the effect that the element has on a pulse's width (M_t), length (M_z) and velocity (acc_z). These subroutine references expect arguments of time, pulse position and pulse velocity (t, z, v), they return a number quantifying this effect. The base class simply returns an empty hash reference. This method is intended to be redefined on subclassing.

SOURCE REPOSITORY

http://github.com/jberger/Physics-UEMColumn

AUTHOR

Joel Berger, <joel.a.berger@gmail.com>

COPYRIGHT AND LICENSE

Copyright (C) 2012-2013 by Joel Berger

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.