#!/usr/bin/perl # # $Name: $ # # $Log: findStars.pl,v $ # Revision 1.2 2001/11/14 03:59:20 robc # Perltidy code # Use "do" for parmater pickup # # Revision 1.1 2001/10/06 09:53:43 robc # First version # use strict; use warnings; use Pg; use AppConfig qw( :argcount :expand ); my $band = shift; my $ra = shift; my $dec = shift; my $dra = shift; my $ddec = shift; my $ID = q$Id: findStars.pl,v 1.2 2001/11/14 03:59:20 robc Exp $; my $version = join ( ' ', ( split ( ' ', $ID ) )[ 1 .. 3 ] ); $version =~ s/,v\b//; $version =~ s/(\S+)$/($1)/; my $CONFIG_FILE = $ENV{ TASSIV_CFG } || '/tass/src/tassiv_reduce/tassiv_reduce.cfg'; my $c = AppConfig->new( { CREATE => 1, GLOBAL => { EXPAND => EXPAND_VAR, ARGCOUNT => ARGCOUNT_ONE } } ); $c = setup_args( $c, $CONFIG_FILE ); my $DB_NAME = $c->name; my $DB_HOST = $c->host; sub get_mine( $ $ $ $ ); $band = lc( $band ); my $get = \&get_mine; my $t4dbh = Pg::connectdb( "dbname=$DB_NAME host=$DB_HOST" ); die $t4dbh->errorMessage unless PGRES_CONNECTION_OK eq $t4dbh->status; if ( ( $ra - $dra ) < 0 ) { &$get( 0, $ra + $dra, $dec - $ddec, $dec + $ddec ); &$get( $ra - $dra + 360, 360, $dec - $ddec, $dec + $ddec ); } elsif ( ( $ra + $dra ) > 360 ) { &$get( $ra - $dra, 360, $dec - $ddec, $dec + $ddec ); &$get( 0, $ra + $dra - 360, $dec - $ddec, $dec + $ddec ); } else { &$get( $ra - $dra, $ra + $dra, $dec - $ddec, $dec + $ddec ); } sub get_mine( $ $ $ $ ) { my ( $ramn, $ramx, $decmn, $decnx ) = @_; my $query = "SELECT star_id, ra, dec, $band FROM reference_ubvri WHERE ra BETWEEN $ramn AND $ramx AND dec BETWEEN $decmn AND $decnx "; my $result = $t4dbh->exec( $query ); die $query . $t4dbh->errorMessage unless PGRES_TUPLES_OK eq $result->resultStatus; while ( @_ = $result->fetchrow ) { print join ( "\t", @_[ 0 .. 3 ] ), "\n"; } } sub setup_args( $$ ) { my ( $c, $file ) = @_; $c->define( DB_name => { DEFAULT => 'tassiv', ALIAS => 'name' }, DB_host => { DEFAULT => 'localhost', ALIAS => 'host' } ); $c->file( $file ); return $c; }