NAME
Physics::UEMColumn::Column - Class representing a column for the Physics::UEMColumn simulation
SYNOPSIS
use strict;
use warnings;
use Physics::UEMColumn alias => ':standard';
my $column = Column->new(
length => '100 cm',
);
my $lens = MagneticLens->new(...);
$column->add_element($lens);
ATTRIBUTES
laser
-
Holder for an optional Physics::UEMColumn::Laser object. Predicate:
has_laser
. accelerator
-
Holder for an optional Physics::UEMColumn::Accelerator object. Predicate:
has_accelerator
. photocathode
-
Holder for an optional Physics::UEMColumn::Photocathode object. Predicate:
has_photocathode
. elements
-
An array reference of all the elements in the column. This attribute should rarely be used directly, instead prefer the
add_element
method. length
-
The length of the column. This value is required. This value defines then end of the simulation, in that when the pulse reaches the end of the column, the simulation is complete. Unit: meters.
METHODS
add_element
-
Pushes a given Physics::UEMColumn::Element object into the
elements
attribute. Takes one or more such elements. can_make_pulse
-
Returns a true value if the column contains enough information to generate a pulse. This specifically means having all of a laser, accelerator, and photocathode objects. Note that should this method return false, a Physics::UEMColumn::Pulse object will have to be manually created and given to the main simulation object (see Physics::UEMColumn).
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.