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
length
s 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.