File Coverage

blib/lib/Lab/Moose/Sweep/Step/Pulsedelay.pm
Criterion Covered Total %
statement 5 11 45.4
branch n/a
condition n/a
subroutine 2 4 50.0
pod n/a
total 7 15 46.6


line stmt bran cond sub pod time code
1             package Lab::Moose::Sweep::Step::Pulsedelay;
2             $Lab::Moose::Sweep::Step::Pulsedelay::VERSION = '3.880';
3             #ABSTRACT: Pulsedelay sweep.
4              
5 1     1   2342 use v5.20;
  1         3  
6              
7              
8 1     1   15 use Moose;
  1         2  
  1         6  
9              
10             extends 'Lab::Moose::Sweep::Step';
11              
12             has filename_extension =>
13             ( is => 'ro', isa => 'Str', default => 'Pulsedelay=' );
14              
15             has setter => ( is => 'ro', isa => 'CodeRef', builder => '_build_setter' );
16              
17             has instrument =>
18             ( is => 'ro', isa => 'ArrayRefOfInstruments', coerce => 1, required => 1 );
19              
20             has constant_width => ( is => 'ro', isa => 'Bool', default => 0 );
21              
22             sub _build_setter {
23 0     0     return \&_pulsedelay_setter;
24             }
25              
26             sub _pulsedelay_setter {
27 0     0     my $self = shift;
28 0           my $value = shift;
29 0           foreach (@{$self->instrument}) {
  0            
30 0           $_->set_pulsedelay(
31             value => $value,
32             constant_width => $self->constant_width
33             );
34             }
35             }
36              
37             __PACKAGE__->meta->make_immutable();
38             1;
39              
40             __END__
41              
42             =pod
43              
44             =encoding UTF-8
45              
46             =head1 NAME
47              
48             Lab::Moose::Sweep::Step::Pulsedelay - Pulsedelay sweep.
49              
50             =head1 VERSION
51              
52             version 3.880
53              
54             =head1 Description
55              
56             Step sweep with following properties:
57              
58             =over
59              
60             =item *
61              
62             Uses instruments C<set_pulsedelay> method to change the pulsewidth. On initialization
63             an optional boolean parameter C<constant_width> can be passed to keep a constant
64             pulse width over a period.
65              
66             =item *
67              
68             Default filename extension: C<'Pulsedelay='>
69              
70             =back
71              
72             =head1 COPYRIGHT AND LICENSE
73              
74             This software is copyright (c) 2023 by the Lab::Measurement team; in detail:
75              
76             Copyright 2021 Fabian Weinelt
77              
78              
79             This is free software; you can redistribute it and/or modify it under
80             the same terms as the Perl 5 programming language system itself.
81              
82             =cut