00001 /* 00002 * Copyright (c) 2004 CSIRO ICT Centre 00003 * 00004 * $Id: AngularSeparationRefine.cpp 587 2004-12-03 15:06:33Z nch $ 00005 */ 00006 00007 /* AngularSeparationRefine is a Refine that reports 00008 * only those candidate pairs whose angular separations are sufficiently 00009 * small that we cannot rule out the possibility that the two records 00010 * represent the same source. 00011 */ 00012 00013 #include "String.h" 00014 00015 #include "AngularSeparationRefine.h" 00016 #include "Object.h" 00017 #include "ObjectPairConsumer.h" 00018 00019 00020 String AngularSeparationRefine::s_name("Angular Separation Refine"); 00021 00022 00023 AngularSeparationRefine::AngularSeparationRefine(ObjectPairConsumer * mPPCons, 00024 ObjectPairConsumer * uPPCons) 00025 : Refine(mPPCons, uPPCons) 00026 {} 00027 00028 AngularSeparationRefine::~AngularSeparationRefine() 00029 {} 00030 00031 bool AngularSeparationRefine::refine(Object const * red, 00032 Object const * blue) 00033 00034 { 00035 bool result; 00036 00037 if (red->isSmallSeparation(*blue)) 00038 { 00039 result = reportMatch(red, blue); 00040 } 00041 else 00042 { 00043 reportNoMatch(red, blue); 00044 result = false; 00045 } 00046 00047 return result; 00048 }