#include <CrossMatch.h>
Public Member Functions | |
CrossMatch (ObjectProducer *activeProd, ObjectProducer *testProd, ActiveList *activeList, ObjectPairConsumer *pairCons, ObjectConsumer *uActiveCons, ObjectConsumer *uTestCons) | |
virtual | ~CrossMatch () |
virtual String const & | getName () const |
virtual void | getReady () |
virtual void | finished () |
virtual void | doFilter () |
virtual Object const * | nextActiveObject () |
virtual Object const * | nextTestObject () |
virtual double | getLowerBound (Object const *testObject) |
virtual double | getUpperBound (Object const *testObject) |
virtual void | addActiveObject (Object const *activeObject) |
virtual void | reportActiveNoMatch (Object const *activeObject) |
virtual void | reportTestNoMatch (Object const *testObject) |
virtual void | test (Object const *testObject) |
virtual void | flushActiveObjects (double lowerBound) |
virtual void | flushActiveObjects (Object const *activeObject) |
Static Public Member Functions | |
static String const & | name () |
Protected Member Functions | |
virtual double | setAngularUpperLimit (Object const *testObject) const |
Private Member Functions | |
CrossMatch () | |
CrossMatch (CrossMatch const &) | |
CrossMatch & | operator= (CrossMatch const &) |
void | test (Object const *&testObject, double &lowerBound, double &upperBound) |
void | raceThroughProducer (ObjectProducer *producer, Object const *currentObject, ObjectConsumer *uCons) |
Object const * | raceThroughProducer (ObjectProducer *producer, Object const *currentObject, double limit, ObjectConsumer *uCons) |
Object const * | reportUnmatchedObject (ObjectProducer *producer, Object const *currentObject, ObjectConsumer *uCons) |
Private Attributes | |
ObjectProducer * | activeProducer |
ObjectProducer * | testProducer |
ObjectConsumer * | uActiveConsumer |
ObjectConsumer * | uTestConsumer |
ActiveList * | activeList |
Static Private Attributes | |
static String const | s_name |
Definition at line 37 of file CrossMatch.h.
CrossMatch::CrossMatch | ( | ObjectProducer * | activeProd, | |
ObjectProducer * | testProd, | |||
ActiveList * | activeList, | |||
ObjectPairConsumer * | pairCons, | |||
ObjectConsumer * | uActiveCons, | |||
ObjectConsumer * | uTestCons | |||
) |
Definition at line 20 of file CrossMatch.cpp.
CrossMatch::~CrossMatch | ( | ) | [virtual] |
Definition at line 35 of file CrossMatch.cpp.
References activeList, activeProducer, and testProducer.
CrossMatch::CrossMatch | ( | ) | [private] |
CrossMatch::CrossMatch | ( | CrossMatch const & | ) | [private] |
virtual void CrossMatch::addActiveObject | ( | Object const * | activeObject | ) | [inline, virtual] |
void CrossMatch::doFilter | ( | ) | [virtual] |
Reimplemented from Matcher.
Definition at line 71 of file CrossMatch.cpp.
References activeList, activeProducer, ActiveList::clear(), flushActiveObjects(), Object::getDec(), getLowerBound(), getUpperBound(), ActiveList::isEmpty(), nextActiveObject(), nextTestObject(), ActiveList::pushBack(), raceThroughProducer(), test(), testProducer, uActiveConsumer, and uTestConsumer.
void CrossMatch::finished | ( | ) | [virtual] |
Reimplemented from Matcher.
Definition at line 53 of file CrossMatch.cpp.
References activeList, ObjectConsumer::finished(), ActiveList::finished(), uActiveConsumer, and uTestConsumer.
void CrossMatch::flushActiveObjects | ( | Object const * | activeObject | ) | [virtual] |
Implements Matcher.
Definition at line 208 of file CrossMatch.cpp.
References activeList, activeProducer, ActiveList::clear(), raceThroughProducer(), and uActiveConsumer.
void CrossMatch::flushActiveObjects | ( | double | lowerBound | ) | [virtual] |
Implements Matcher.
Definition at line 203 of file CrossMatch.cpp.
References activeList, ActiveList::deletePriorObjects(), and uActiveConsumer.
Referenced by doFilter().
double CrossMatch::getLowerBound | ( | Object const * | testObject | ) | [virtual] |
Implements Matcher.
Reimplemented in FixedRadiusCrossMatch.
Definition at line 148 of file CrossMatch.cpp.
References activeProducer, Object::computeDistanceBound(), Object::getDec(), ObjectProducer::getMaxSD(), and testProducer.
Referenced by doFilter(), and test().
virtual String const& CrossMatch::getName | ( | ) | const [inline, virtual] |
Implements Matcher.
Reimplemented in FixedRadiusCrossMatch.
Definition at line 48 of file CrossMatch.h.
References name().
void CrossMatch::getReady | ( | ) | [virtual] |
Reimplemented from Matcher.
Definition at line 42 of file CrossMatch.cpp.
References activeList, Matcher::profiler, and ActiveList::setProfiler().
double CrossMatch::getUpperBound | ( | Object const * | testObject | ) | [virtual] |
Implements Matcher.
Reimplemented in FixedRadiusCrossMatch.
Definition at line 155 of file CrossMatch.cpp.
References activeProducer, Object::computeDistanceBound(), Object::getDec(), ObjectProducer::getMaxSD(), and Object::getSD().
Referenced by doFilter(), and test().
static String const& CrossMatch::name | ( | ) | [inline, static] |
Reimplemented in FixedRadiusCrossMatch.
Definition at line 49 of file CrossMatch.h.
References s_name.
Referenced by getName().
virtual Object const* CrossMatch::nextActiveObject | ( | ) | [inline, virtual] |
Implements Matcher.
Definition at line 55 of file CrossMatch.h.
References activeProducer, and Matcher::nextObject().
Referenced by doFilter().
virtual Object const* CrossMatch::nextTestObject | ( | ) | [inline, virtual] |
Implements Matcher.
Definition at line 56 of file CrossMatch.h.
References Matcher::nextObject(), and testProducer.
Referenced by doFilter(), and test().
CrossMatch& CrossMatch::operator= | ( | CrossMatch const & | ) | [private] |
Object const * CrossMatch::raceThroughProducer | ( | ObjectProducer * | producer, | |
Object const * | currentObject, | |||
double | limit, | |||
ObjectConsumer * | uCons | |||
) | [private] |
Definition at line 226 of file CrossMatch.cpp.
References Object::getDec(), and reportUnmatchedObject().
void CrossMatch::raceThroughProducer | ( | ObjectProducer * | producer, | |
Object const * | currentObject, | |||
ObjectConsumer * | uCons | |||
) | [private] |
Definition at line 216 of file CrossMatch.cpp.
References reportUnmatchedObject().
Referenced by doFilter(), and flushActiveObjects().
virtual void CrossMatch::reportActiveNoMatch | ( | Object const * | activeObject | ) | [inline, virtual] |
Implements Matcher.
Definition at line 64 of file CrossMatch.h.
References Matcher::reportNoMatch(), and uActiveConsumer.
virtual void CrossMatch::reportTestNoMatch | ( | Object const * | testObject | ) | [inline, virtual] |
Implements Matcher.
Definition at line 66 of file CrossMatch.h.
References Matcher::reportNoMatch(), and uTestConsumer.
Object const * CrossMatch::reportUnmatchedObject | ( | ObjectProducer * | producer, | |
Object const * | currentObject, | |||
ObjectConsumer * | uCons | |||
) | [private] |
Definition at line 239 of file CrossMatch.cpp.
References Matcher::nextObject(), and ObjectConsumer::report().
Referenced by raceThroughProducer().
double CrossMatch::setAngularUpperLimit | ( | Object const * | testObject | ) | const [protected, virtual] |
Reimplemented in FixedRadiusCrossMatch.
Definition at line 181 of file CrossMatch.cpp.
References activeProducer, Object::computeDistanceBound(), ObjectProducer::getMaxSD(), and Object::getSD().
Referenced by test().
void CrossMatch::test | ( | Object const *& | testObject, | |
double & | lowerBound, | |||
double & | upperBound | |||
) | [private] |
Definition at line 162 of file CrossMatch.cpp.
References activeList, ActiveList::deletePriorObjects(), getLowerBound(), getUpperBound(), nextTestObject(), test(), and uActiveConsumer.
void CrossMatch::test | ( | Object const * | testObject | ) | [virtual] |
Implements Matcher.
Definition at line 187 of file CrossMatch.cpp.
References activeList, Matcher::pairCons, ObjectConsumer::report(), setAngularUpperLimit(), ActiveList::testObject(), and uTestConsumer.
Referenced by doFilter(), and test().
ActiveList* CrossMatch::activeList [private] |
Definition at line 84 of file CrossMatch.h.
Referenced by doFilter(), finished(), flushActiveObjects(), getReady(), test(), and ~CrossMatch().
ObjectProducer* CrossMatch::activeProducer [private] |
Definition at line 80 of file CrossMatch.h.
Referenced by doFilter(), flushActiveObjects(), getLowerBound(), getUpperBound(), nextActiveObject(), setAngularUpperLimit(), and ~CrossMatch().
String const CrossMatch::s_name [static, private] |
Reimplemented in FixedRadiusCrossMatch.
Definition at line 78 of file CrossMatch.h.
Referenced by name().
ObjectProducer* CrossMatch::testProducer [private] |
Definition at line 81 of file CrossMatch.h.
Referenced by doFilter(), getLowerBound(), nextTestObject(), and ~CrossMatch().
ObjectConsumer* CrossMatch::uActiveConsumer [private] |
Definition at line 82 of file CrossMatch.h.
Referenced by doFilter(), finished(), flushActiveObjects(), reportActiveNoMatch(), and test().
ObjectConsumer* CrossMatch::uTestConsumer [private] |
Definition at line 83 of file CrossMatch.h.
Referenced by doFilter(), finished(), reportTestNoMatch(), and test().