Sponsoring The Perl Toolchain Summit 2025: Help make this important event another success Learn more

NAME

Lab::Moose::Sweep::Continuous - Base class for continuous sweeps (time, temperature, magnetic field)

VERSION

version 3.920

SYNOPSIS

#
# 1D sweep of magnetic field
#
my $ips = instrument(
type => 'OI_Mercury::Magnet'
connection_type => ...,
connection_options => {...}
);
my $multimeter = instrument(...);
my $sweep = sweep(
type => 'Continuous::Magnet',
instrument => $ips,
from => -1, # Tesla
to => 1,
rate => 0.1, (Tesla/min, always positive)
start_rate => 1, (optional) rate to approach start point
interval => 0.5, # one measurement every 0.5 seconds
);
# alternative: points/rates
# my $sweep = sweep(
# type => 'Continuous::Magnet',
# instrument => $ips,
# points => [-1, -0.1, 0.1, 1],
# # start rate: 1
# # use slow rate 0.01 between points -0.1 and 0.1
# rates => [1, 0.1, 0.01, 0.1],
# intervals => [0.5], # one measurement every 0.5 seconds
# );
my $datafile = sweep_datafile(columns => ['B-field', 'current']);
$datafile->add_plot(x => 'B-field', y => 'current');
my $meas = sub {
my $sweep = shift;
my $field = $ips->get_field();
my $current = $multimeter->get_value();
$sweep->log('B-field' => $field, current => $current);
};
$sweep->start(
datafiles => [$datafile],
measurement => $meas,
);

DESCRIPTION

Continuous sweep constructure. The sweep can be configured with either

  • from/to

  • rate

  • interval (default: 0)

or by providing the arrayrefs

  • points

  • rates

  • intervals (default: [0])

If an interval is 0, do as much measurements as possible. Otherwise, warn if measurement requires more time than interval.

Do backsweep if backsweep attribute is set to 1.

COPYRIGHT AND LICENSE

This software is copyright (c) 2024 by the Lab::Measurement team; in detail:

Copyright 2018 Simon Reinhardt
2020 Simon Reinhardt
2023 Mia Schambeck

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.