LSST Applications  21.0.0-172-gfb10e10a+18fedfabac,22.0.0+297cba6710,22.0.0+80564b0ff1,22.0.0+8d77f4f51a,22.0.0+a28f4c53b1,22.0.0+dcf3732eb2,22.0.1-1-g7d6de66+2a20fdde0d,22.0.1-1-g8e32f31+297cba6710,22.0.1-1-geca5380+7fa3b7d9b6,22.0.1-12-g44dc1dc+2a20fdde0d,22.0.1-15-g6a90155+515f58c32b,22.0.1-16-g9282f48+790f5f2caa,22.0.1-2-g92698f7+dcf3732eb2,22.0.1-2-ga9b0f51+7fa3b7d9b6,22.0.1-2-gd1925c9+bf4f0e694f,22.0.1-24-g1ad7a390+a9625a72a8,22.0.1-25-g5bf6245+3ad8ecd50b,22.0.1-25-gb120d7b+8b5510f75f,22.0.1-27-g97737f7+2a20fdde0d,22.0.1-32-gf62ce7b1+aa4237961e,22.0.1-4-g0b3f228+2a20fdde0d,22.0.1-4-g243d05b+871c1b8305,22.0.1-4-g3a563be+32dcf1063f,22.0.1-4-g44f2e3d+9e4ab0f4fa,22.0.1-42-gca6935d93+ba5e5ca3eb,22.0.1-5-g15c806e+85460ae5f3,22.0.1-5-g58711c4+611d128589,22.0.1-5-g75bb458+99c117b92f,22.0.1-6-g1c63a23+7fa3b7d9b6,22.0.1-6-g50866e6+84ff5a128b,22.0.1-6-g8d3140d+720564cf76,22.0.1-6-gd805d02+cc5644f571,22.0.1-8-ge5750ce+85460ae5f3,master-g6e05de7fdc+babf819c66,master-g99da0e417a+8d77f4f51a,w.2021.48
LSST Data Management Base Package
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.){};
std::shared_ptr< const BaseStar > s1
Definition: StarMatch.h:62
std::shared_ptr< const BaseStar > s2
Definition: StarMatch.h:62
FatPoint point2
2 points
Definition: StarMatch.h:60
T move(T... args)

◆ 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 }
table::Key< int > transform
double x
coordinate
Definition: Point.h:42

◆ 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  };
double Distance(const Point &other) const
Definition: Point.h:51

◆ 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)

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: