From: Michael Wiebusch Date: Mon, 19 Jan 2015 17:47:06 +0000 (+0100) Subject: scanning procedure now working X-Git-Url: https://jspc29.x-matter.uni-frankfurt.de/git/?a=commitdiff_plain;h=38c0ce18d6f1a0eb21940052faf99e522461e010;p=coral.git scanning procedure now working --- diff --git a/user_interface/coral_scanner.pm b/user_interface/coral_scanner.pm index f42e543..fba0522 100644 --- a/user_interface/coral_scanner.pm +++ b/user_interface/coral_scanner.pm @@ -81,6 +81,7 @@ sub main_html { {-src => './jquery.timer.js'}, {-src => './jquery.mwiebusch.js'}, {-src => './coral_scanner.js'}, +# {-src => './SVGPan.js'}, ] ); @@ -92,6 +93,7 @@ sub main_html { print "

main controls

"; print "
"; print ""; +# print ''; $self->{table_control}->scan_pattern_to_svg(); print ""; print br; @@ -121,11 +123,17 @@ sub scan_sample { my %options = @_; my $tc = $self->{table_control}; + + $self->{current_scan} = {}; + $self->{current_scan}->{meta} = {points => 0}; + $self->{current_scan}->{data} = []; + # $tc->home(); # $tc->scan( eval => 'print("test\n");' ); $tc->scan( object => $self, method => 'scan_callback' ); - + + $self->save_scan_ascii(filename => "./scan.dat"); @@ -135,17 +143,44 @@ sub scan_callback { my $self = shift; my $point = shift; - printf("evaluate sth. at point %d %d\n" , $point->{row},$point->{col}); + printf("Acquire PMT counts at point x,y = %3.3f,%3.3f i,j = %d,%d\n" ,$point->{x_rel},$point->{y_rel}, $point->{row},$point->{col}); my $ro = $self->{pmt_ro}; -# print $ro->count(delay => 0.1, channel => "signal"); - sleep 2; + $self->{current_scan}->{meta}->{points}++; + my $counts = $ro->count(delay => 0.1, channel => "signal"); + my $col = $point->{col}; + my $row = $point->{row}; + + $self->{current_scan}->{data}->[$row]->[$col] = $counts; + print "counts: $counts\n"; + +# push(@{$self->{current_scan}->{data}},{%$point,counts => $counts}); print "\n\n"; } +sub save_scan_ascii { + my $self = shift; + my %options = @_; + + my $filename = $options{filename}; + + my @darray = @{$self->{current_scan}->{data}}; +# @darray = sort {$a->{col} <=> $b->{col}} @darray; +# @darray = sort {$a->{row} <=> $b->{row}} @darray; + + open(FILE,">$filename"); + for my $item (@darray){ + + my $string = join("\t",@$item)."\n"; +# my $string = sprintf("%d\t%d\t%d\n",$item->{row},$item->{col},$item->{counts}); + print $string; + print FILE $string; + } + close(FILE); +}