Astro-Catalog
view release on metacpan or search on metacpan
lib/Astro/Catalog/Query/SuperCOSMOS.pm view on Meta::CPAN
Error => $err ),
'mag', 'I' );
push @mags, $mag;
# calculate colours UKST Bj - UKST R, UKST Bj - UKST I
if ($star->get_magnitude( "BJ" ) != 99.999 &&
$star->get_magnitude( "R2" ) != 99.999) {
my $bj_minus_r2 = $star->get_magnitude( "BJ" ) -
$star->get_magnitude( "R2" );
$bj_minus_r2 = sprintf("%.4f", $bj_minus_r2 );
my $delta_bjmr = ( ( $star->get_errors( "BJ" ) )**2.0 +
( $star->get_errors( "R2" ) )**2.0 )** (1/2);
$delta_bjmr = sprintf("%.4f", $delta_bjmr );
$cval = $bj_minus_r2;
$err = $delta_bjmr;
}
else {
$cval = 99.999;
$err = 99.999;
}
$col = new Astro::FluxColor(
upper => 'BJ',
lower => "R2",
quantity => new Number::Uncertainty(
Value => $cval,
Error => $err ) );
push @cols, $col;
if ($star->get_magnitude( "BJ" ) != 99.999 &&
$star->get_magnitude( "I" ) != 99.999) {
my $bj_minus_i = $star->get_magnitude( "BJ" ) -
$star->get_magnitude( "I" );
$bj_minus_i = sprintf("%.4f", $bj_minus_i );
my $delta_bjmi = ( ( $star->get_errors( "BJ" ) )**2.0 +
( $star->get_errors( "I" ) )**2.0 )** (1/2);
$delta_bjmi = sprintf("%.4f", $delta_bjmi );
$cval = $bj_minus_i;
$err = $delta_bjmi;
}
else {
$cval = 99.999;
$err = 99.999;
}
$col = new Astro::FluxColor(
upper => 'BJ',
lower => "I",
quantity => new Number::Uncertainty(
Value => $cval,
Error => $err ) );
push @cols, $col;
# Push the data back into the star object, overwriting ther previous
# values we got from the initial Skycat query. This isn't a great
# solution, but it wasn't easy in version 3 syntax either, so I guess
# your milage may vary.
my $fluxes = new Astro::Fluxes( @mags, @cols );
$star->fluxes( $fluxes, 1 ); # the 1 means overwrite the previous values
# push it onto the stack
$stars[$i] = $star if defined $star;
}
$catalog->allstars( @stars );
# set the field centre
my %allow = $self->_get_allowed_options();
my %field;
for my $key ("ra","dec","radius") {
if (exists $allow{$key}) {
$field{$key} = $self->query_options($key);
}
}
$catalog->fieldcentre( %field );
return $catalog;
}
=item B<_get_allowed_options>
This method declares which options can be configured by the user
of this service. Generated automatically by the skycat config
file and keyed to the requested catalog.
=cut
sub _get_allowed_options {
my $self = shift;
my $cat = $self->_selected_catalog();
return %{ $CONFIG{$cat}->{allow} };
}
=item B<_get_default_options>
Get the default options that are relevant for the selected
catalog.
%defaults = $q->_get_default_options();
=cut
sub _get_default_options {
my $self = shift;
# Global skycat defaults
my %defaults = (
# Target information
ra => undef,
dec => undef,
id => undef,
# Limits
radmin => 0,
( run in 0.942 second using v1.01-cache-2.11-cpan-39bf76dae61 )