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 is3.
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.