LSSTApplications  18.0.0+106,18.0.0+50,19.0.0,19.0.0+1,19.0.0+10,19.0.0+11,19.0.0+13,19.0.0+17,19.0.0+2,19.0.0-1-g20d9b18+6,19.0.0-1-g425ff20,19.0.0-1-g5549ca4,19.0.0-1-g580fafe+6,19.0.0-1-g6fe20d0+1,19.0.0-1-g7011481+9,19.0.0-1-g8c57eb9+6,19.0.0-1-gb5175dc+11,19.0.0-1-gdc0e4a7+9,19.0.0-1-ge272bc4+6,19.0.0-1-ge3aa853,19.0.0-10-g448f008b,19.0.0-12-g6990b2c,19.0.0-2-g0d9f9cd+11,19.0.0-2-g3d9e4fb2+11,19.0.0-2-g5037de4,19.0.0-2-gb96a1c4+3,19.0.0-2-gd955cfd+15,19.0.0-3-g2d13df8,19.0.0-3-g6f3c7dc,19.0.0-4-g725f80e+11,19.0.0-4-ga671dab3b+1,19.0.0-4-gad373c5+3,19.0.0-5-ga2acb9c+2,19.0.0-5-gfe96e6c+2,w.2020.01
LSSTDataManagementBasePackage
Public Member Functions | Public Attributes | Friends | List of all members
lsst::jointcal::StarMatch Class Reference

A hanger for star associations. More...

#include <StarMatch.h>

Public Member Functions

 StarMatch (const FatPoint &point1, const FatPoint &point2, std::shared_ptr< const BaseStar > star1, std::shared_ptr< const BaseStar > star2)
 constructor. More...
 
double computeDistance (const AstrometryTransform &transform) const
 returns the distance from transform(point1) to point2. More...
 
double computeChi2 (const AstrometryTransform &transform) const
 returns the chi2 (using errors in the FatPoint's) More...
 
void setDistance (const AstrometryTransform &transform)
 to be used before sorting on distances. More...
 
double getDistance () const
 returns the value computed by the above one. More...
 
void swap ()
 
 StarMatch ()
 
 ~StarMatch ()
 

Public Attributes

FatPoint point1
 
FatPoint point2
 2 points More...
 
std::shared_ptr< const BaseStars1
 
std::shared_ptr< const BaseStars2
 
double distance
 
double chi2
 

Friends

class StarMatchList
 
std::ostreamoperator<< (std::ostream &stream, const StarMatch &Match)
 
bool compareStar1 (const StarMatch &one, const StarMatch &two)
 
bool sameStar1 (const StarMatch &one, const StarMatch &two)
 
bool compareStar2 (const StarMatch &one, const StarMatch &two)
 
bool sameStar2 (const StarMatch &one, const StarMatch &two)
 

Detailed Description

A hanger for star associations.

Definition at line 54 of file StarMatch.h.

Constructor & Destructor Documentation

◆ StarMatch() [1/2]

lsst::jointcal::StarMatch::StarMatch ( const FatPoint point1,
const FatPoint point2,
std::shared_ptr< const BaseStar star1,
std::shared_ptr< const BaseStar star2 
)
inline

constructor.

gives 2 points (that contain the geometry), plus pointers to the Star objects (which are there for user convenience).

Definition at line 69 of file StarMatch.h.

71  : point1(point1), point2(point2), s1(std::move(star1)), s2(std::move(star2)), distance(0.){};
FatPoint point2
2 points
Definition: StarMatch.h:60
T move(T... args)
std::shared_ptr< const BaseStar > s2
Definition: StarMatch.h:62
std::shared_ptr< const BaseStar > s1
Definition: StarMatch.h:62

◆ StarMatch() [2/2]

lsst::jointcal::StarMatch::StarMatch ( )
inlineexplicit

Definition at line 95 of file StarMatch.h.

95 {};

◆ ~StarMatch()

lsst::jointcal::StarMatch::~StarMatch ( )
inline

Definition at line 99 of file StarMatch.h.

99 {}

Member Function Documentation

◆ computeChi2()

double lsst::jointcal::StarMatch::computeChi2 ( const AstrometryTransform transform) const

returns the chi2 (using errors in the FatPoint's)

Definition at line 44 of file StarMatch.cc.

44  {
45  FatPoint tr;
46  transform.transformPosAndErrors(point1, tr);
47  double vxx = tr.vx + point2.vx;
48  double vyy = tr.vy + point2.vy;
49  double vxy = tr.vxy + point2.vxy;
50  double det = vxx * vyy - vxy * vxy;
51  return (vyy * sq(tr.x - point2.x) + vxx * sq(tr.y - point2.y) -
52  2 * vxy * (tr.x - point2.x) * (tr.y - point2.y)) /
53  det;
54 }
FatPoint point2
2 points
Definition: StarMatch.h:60
double x
coordinate
Definition: Point.h:41

◆ computeDistance()

double lsst::jointcal::StarMatch::computeDistance ( const AstrometryTransform transform) const
inline

returns the distance from transform(point1) to point2.

Definition at line 77 of file StarMatch.h.

77  {
78  return point2.Distance(transform.apply(point1));
79  };
FatPoint point2
2 points
Definition: StarMatch.h:60
double Distance(const Point &other) const
Definition: Point.h:50

◆ getDistance()

double lsst::jointcal::StarMatch::getDistance ( ) const
inline

returns the value computed by the above one.

Definition at line 87 of file StarMatch.h.

87 { return distance; }

◆ setDistance()

void lsst::jointcal::StarMatch::setDistance ( const AstrometryTransform transform)
inline

to be used before sorting on distances.

Definition at line 85 of file StarMatch.h.

double computeDistance(const AstrometryTransform &transform) const
returns the distance from transform(point1) to point2.
Definition: StarMatch.h:77

◆ swap()

void lsst::jointcal::StarMatch::swap ( )
inline

Definition at line 89 of file StarMatch.h.

89  {
91  std::swap(s1, s2);
92  }
T swap(T... args)
FatPoint point2
2 points
Definition: StarMatch.h:60
std::shared_ptr< const BaseStar > s2
Definition: StarMatch.h:62
std::shared_ptr< const BaseStar > s1
Definition: StarMatch.h:62

Friends And Related Function Documentation

◆ compareStar1

bool compareStar1 ( const StarMatch one,
const StarMatch two 
)
friend

Definition at line 115 of file StarMatch.h.

115  {
116  return ((one.s1 == two.s1) ? (one.distance < two.distance) : (&(*one.s1) > &(*two.s1)));
117 }

◆ compareStar2

bool compareStar2 ( const StarMatch one,
const StarMatch two 
)
friend

Definition at line 121 of file StarMatch.h.

121  {
122  return ((one.s2 == two.s2) ? (one.distance < two.distance) : (&(*one.s2) > &(*two.s2)));
123 }

◆ operator<<

std::ostream& operator<< ( std::ostream stream,
const StarMatch Match 
)
friend

Definition at line 56 of file StarMatch.cc.

56  {
57  stream << match.point1.x << ' ' << match.point1.y << ' ' << match.point2.x << ' ' << match.point2.y << ' '
58  << match.distance << std::endl;
59  return stream;
60 }
T endl(T... args)

◆ sameStar1

bool sameStar1 ( const StarMatch one,
const StarMatch two 
)
friend

Definition at line 119 of file StarMatch.h.

119 { return (one.s1 == two.s1); }

◆ sameStar2

bool sameStar2 ( const StarMatch one,
const StarMatch two 
)
friend

Definition at line 125 of file StarMatch.h.

125 { return (one.s2 == two.s2); }

◆ StarMatchList

friend class StarMatchList
friend

Definition at line 55 of file StarMatch.h.

Member Data Documentation

◆ chi2

double lsst::jointcal::StarMatch::chi2

Definition at line 64 of file StarMatch.h.

◆ distance

double lsst::jointcal::StarMatch::distance

Definition at line 63 of file StarMatch.h.

◆ point1

FatPoint lsst::jointcal::StarMatch::point1

Definition at line 60 of file StarMatch.h.

◆ point2

FatPoint lsst::jointcal::StarMatch::point2

2 points

the Star pointers (the pointer is in fact generic, pointed data is never used).

Definition at line 60 of file StarMatch.h.

◆ s1

std::shared_ptr<const BaseStar> lsst::jointcal::StarMatch::s1

Definition at line 62 of file StarMatch.h.

◆ s2

std::shared_ptr<const BaseStar> lsst::jointcal::StarMatch::s2

Definition at line 62 of file StarMatch.h.


The documentation for this class was generated from the following files: