view release on metacpan or search on metacpan
lib/Lab/Moose/Instrument/OI_IPS.pm view on Meta::CPAN
use Lab::Moose::Countdown 'countdown';
use Carp;
use namespace::autoclean;
extends 'Lab::Moose::Instrument';
# Ideally, max_fields and max_field_rates should be preconfigured in a
# subclass, with values specific for the magnet used at the setup
has max_fields =>
( is => 'ro', isa => 'ArrayRef[Lab::Moose::PosNum]', required => 1 );
has max_field_rates =>
( is => 'ro', isa => 'ArrayRef[Lab::Moose::PosNum]', required => 1 );
has verbose => (
is => 'ro',
isa => 'Bool',
default => 1
);
sub BUILD {
my $self = shift;
lib/Lab/Moose/Instrument/OI_IPS/Strunk_3He.pm view on Meta::CPAN
use Lab::Moose::Instrument qw/
validated_getter validated_setter setter_params /;
use Lab::Moose::Instrument::Cache;
use Lab::Moose::Countdown 'countdown';
use Carp;
use namespace::autoclean;
extends 'Lab::Moose::Instrument::OI_IPS';
has +max_fields => (
is => 'ro', isa => 'ArrayRef[Lab::Moose::PosNum]',
default => sub { [ 7, 9, 12 ] }
);
has +max_field_rates => (
is => 'ro', isa => 'ArrayRef[Lab::Moose::PosNum]',
default => sub { [ 0.22, 0.1, 0.06 ] }
);
__PACKAGE__->meta()->make_immutable();
1;
__END__
=pod
lib/Lab/Moose/Instrument/OI_Mercury/Magnet.pm view on Meta::CPAN
sub field_step {
my $self = shift;
return 1e-4 / $self->oim_get_fieldconstant(@_);
}
############### XPRESS interface #####################
has device_settings =>
( is => 'ro', isa => 'HashRef', builder => 'build_device_settings' );
has max_field_deviation => ( is => 'ro', isa => 'Num', default => 0.0001 );
sub build_device_settings {
return {
has_switchheater => 0, # for now
};
}
sub get_field {
lib/Lab/Moose/Sweep.pm view on Meta::CPAN
is => 'ro',
isa => 'ArrayRef[Lab::Moose::Sweep::DataFile]', init_arg => undef,
writer => '_datafile_params'
);
has foldername =>
( is => 'ro', isa => 'Str', init_arg => undef, writer => '_foldername' );
# real Lab::Moose::DataFile
has datafiles => (
is => 'ro', isa => 'HashRef[Lab::Moose::DataFile]', init_arg => undef,
writer => '_datafiles'
);
has logged_datafiles => (
is => 'ro', isa => 'HashRef[Bool]', init_arg => undef,
writer => '_logged_datafiles'
);
has create_datafile_blocks => (
is => 'ro', isa => 'Bool', init_arg => undef,
writer => '_create_datafile_blocks'
);
# Should this sweep create a new datafile for each measurement point?
has create_datafiles => (
lib/Lab/Moose/Sweep/Continuous.pm view on Meta::CPAN
has instrument =>
( is => 'ro', isa => 'Lab::Moose::Instrument', required => 1 );
has from => ( is => 'ro', isa => 'Num' );
has to => ( is => 'ro', isa => 'Num' );
has rate => ( is => 'ro', isa => 'Lab::Moose::PosNum' );
has start_rate => ( is => 'ro', isa => 'Lab::Moose::PosNum' );
has interval => ( is => 'ro', isa => 'Lab::Moose::PosNum' );
has points => (
is => 'ro', isa => 'ArrayRef[Num]', traits => ['Array'],
handles => {
get_point => 'get', num_points => 'count', points_array => 'elements'
},
writer => '_points',
);
has intervals => (
is => 'ro',
isa => 'ArrayRef[Num]',
traits => ['Array'],
handles => {
get_interval => 'get', num_intervals => 'count',
intervals_array => 'elements',
},
writer => '_intervals',
);
has rates => (
is => 'ro', isa => 'ArrayRef[Num]', traits => ['Array'],
handles => {
get_rate => 'get', num_rates => 'count', rates_array => 'elements'
},
writer => '_rates',
);
has backsweep => ( is => 'ro', isa => 'Bool', default => 0 );
has both_directions => ( is => 'ro', isa => 'Bool', default => 0 );
has direction_index => ( is => 'ro', isa => 'Int', default => 1 );
lib/Lab/Moose/Sweep/DataFile.pm view on Meta::CPAN
package Lab::Moose::Sweep::DataFile;
$Lab::Moose::Sweep::DataFile::VERSION = '3.931';
# ABSTRACT: Store parameters of datafile and its plots.
use Moose;
use MooseX::Params::Validate 'validated_hash';
has params => ( is => 'ro', isa => 'HashRef', required => 1 );
has plots => (
is => 'ro', isa => 'ArrayRef[HashRef]',
default => sub { [] },
);
sub add_plot {
my ( $self, %args )
= validated_hash( \@_, MX_PARAMS_VALIDATE_ALLOW_EXTRA => 1 );
push @{ $self->plots }, \%args;
}
__PACKAGE__->meta->make_immutable();
lib/Lab/Moose/Sweep/Step.pm view on Meta::CPAN
#
# Public attributes set by the user
#
has from => ( is => 'ro', isa => 'Num', predicate => 'has_from' );
has to => ( is => 'ro', isa => 'Num', predicate => 'has_to' );
has step =>
( is => 'ro', isa => 'Lab::Moose::PosNum', predicate => 'has_step' );
has points =>
( is => 'ro', isa => 'ArrayRef[Num]', predicate => 'has_points' );
has steps => ( is => 'ro', isa => 'ArrayRef[Num]', predicate => 'has_steps' );
has list => (
is => 'ro', isa => 'ArrayRef[Num]', predicate => 'has_list',
writer => '_list'
);
has backsweep => ( is => 'ro', isa => 'Bool', default => 0 );
has both_directions => ( is => 'ro', isa => 'Bool', default => 0 );
has setter => ( is => 'ro', isa => 'CodeRef', required => 1 );
#
# Private attributes used internally
#
has _points => (
is => 'ro', isa => 'ArrayRef[Num]', lazy => 1, init_arg => undef,
builder => '_build_points', traits => ['Array'],
handles => { get_point => 'get', num_points => 'count', points_array => 'elements' },
writer => 'write_points',
);
has index => (
is => 'ro', isa => 'Int', default => 0, init_arg => undef,
writer => '_index'
);
lib/Lab/Moose/Sweep/Step/Frequency.pm view on Meta::CPAN
use Moose;
extends 'Lab::Moose::Sweep::Step';
has filename_extension =>
( is => 'ro', isa => 'Str', default => 'Frequency=' );
has setter => ( is => 'ro', isa => 'CodeRef', builder => '_build_setter' );
has instrument =>
( is => 'ro', isa => 'ArrayRefOfInstruments', coerce => 1, required => 1 );
sub _build_setter {
return \&_frq_setter;
}
sub _frq_setter {
my $self = shift;
my $value = shift;
foreach (@{$self->instrument}) {
$_->set_frq( value => $value );
lib/Lab/Moose/Sweep/Step/Phase.pm view on Meta::CPAN
use Moose;
extends 'Lab::Moose::Sweep::Step';
has filename_extension =>
( is => 'ro', isa => 'Str', default => 'Phase=' );
has setter => ( is => 'ro', isa => 'CodeRef', builder => '_build_setter' );
has instrument =>
( is => 'ro', isa => 'ArrayRefOfInstruments', coerce => 1, required => 1 );
sub _build_setter {
return \&_phase_setter;
}
sub _phase_setter {
my $self = shift;
my $value = shift;
foreach (@{$self->instrument}) {
$_->set_phase( value => $value );
lib/Lab/Moose/Sweep/Step/Power.pm view on Meta::CPAN
use Moose;
extends 'Lab::Moose::Sweep::Step';
has filename_extension =>
( is => 'ro', isa => 'Str', default => 'Power=' );
has setter => ( is => 'ro', isa => 'CodeRef', builder => '_build_setter' );
has instrument =>
( is => 'ro', isa => 'ArrayRefOfInstruments', coerce => 1, required => 1 );
sub _build_setter {
return \&_power_setter;
}
sub _power_setter {
my $self = shift;
my $value = shift;
foreach (@{$self->instrument}) {
$_->set_power( value => $value );
lib/Lab/Moose/Sweep/Step/Pulsedelay.pm view on Meta::CPAN
use Moose;
extends 'Lab::Moose::Sweep::Step';
has filename_extension =>
( is => 'ro', isa => 'Str', default => 'Pulsedelay=' );
has setter => ( is => 'ro', isa => 'CodeRef', builder => '_build_setter' );
has instrument =>
( is => 'ro', isa => 'ArrayRefOfInstruments', coerce => 1, required => 1 );
has constant_width => ( is => 'ro', isa => 'Bool', default => 0 );
sub _build_setter {
return \&_pulsedelay_setter;
}
sub _pulsedelay_setter {
my $self = shift;
my $value = shift;
lib/Lab/Moose/Sweep/Step/Pulsewidth.pm view on Meta::CPAN
use Moose;
extends 'Lab::Moose::Sweep::Step';
has filename_extension =>
( is => 'ro', isa => 'Str', default => 'Pulsewidth=' );
has setter => ( is => 'ro', isa => 'CodeRef', builder => '_build_setter' );
has instrument =>
( is => 'ro', isa => 'ArrayRefOfInstruments', coerce => 1, required => 1 );
has constant_delay => ( is => 'ro', isa => 'Bool', default => 0 );
sub _build_setter {
return \&_pulsewidth_setter;
}
sub _pulsewidth_setter {
my $self = shift;
my $value = shift;
lib/Lab/Moose/Sweep/Step/Voltage.pm view on Meta::CPAN
use Moose;
extends 'Lab::Moose::Sweep::Step';
has filename_extension => ( is => 'ro', isa => 'Str', default => 'Voltage=' );
has setter => ( is => 'ro', isa => 'CodeRef', builder => '_build_setter' );
has instrument =>
( is => 'ro', isa => 'ArrayRefOfInstruments', coerce => 1, required => 1 );
sub _build_setter {
return \&_voltage_setter;
}
sub _voltage_setter {
my $self = shift;
my $value = shift;
foreach (@{$self->instrument}) {
$_->set_level( value => $value );