Joel Berger > Physics-UEMColumn-0.901 > Physics::UEMColumn::Column

Download:
Physics-UEMColumn-0.901.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Source  

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.

syntax highlighting: