LSST Applications g013ef56533+d2224463a4,g199a45376c+0ba108daf9,g19c4beb06c+9f335b2115,g1fd858c14a+2459ca3e43,g210f2d0738+2d3d333a78,g262e1987ae+abbb004f04,g2825c19fe3+eedc38578d,g29ae962dfc+0cb55f06ef,g2cef7863aa+aef1011c0b,g35bb328faa+8c5ae1fdc5,g3fd5ace14f+19c3a54948,g47891489e3+501a489530,g4cdb532a89+a047e97985,g511e8cfd20+ce1f47b6d6,g53246c7159+8c5ae1fdc5,g54cd7ddccb+890c8e1e5d,g5fd55ab2c7+951cc3f256,g64539dfbff+2d3d333a78,g67b6fd64d1+501a489530,g67fd3c3899+2d3d333a78,g74acd417e5+0ea5dee12c,g786e29fd12+668abc6043,g87389fa792+8856018cbb,g89139ef638+501a489530,g8d7436a09f+5ea4c44d25,g8ea07a8fe4+81eaaadc04,g90f42f885a+34c0557caf,g9486f8a5af+165c016931,g97be763408+d5e351dcc8,gbf99507273+8c5ae1fdc5,gc2a301910b+2d3d333a78,gca7fc764a6+501a489530,gce8aa8abaa+8c5ae1fdc5,gd7ef33dd92+501a489530,gdab6d2f7ff+0ea5dee12c,ge410e46f29+501a489530,geaed405ab2+e3b4b2a692,gf9a733ac38+8c5ae1fdc5,w.2025.41
LSST Data Management Base Package
Loading...
Searching...
No Matches
lsst::ip::diffim::MinimizeDipoleChi2 Class Reference

Class to minimize PsfDipoleFlux; this is the object that Minuit minimizes. More...

Inheritance diagram for lsst::ip::diffim::MinimizeDipoleChi2:

Public Member Functions

 MinimizeDipoleChi2 (PsfDipoleFlux const &psfDipoleFlux, afw::table::SourceRecord &source, afw::image::Exposure< float > const &exposure)
 
double Up () const
 
void setErrorDef (double def)
 
int getNpar () const
 
int getMaxPix () const
 
void setMaxPix (int maxPix)
 
virtual double operator() (std::vector< double > const &params) const
 

Detailed Description

Class to minimize PsfDipoleFlux; this is the object that Minuit minimizes.

Definition at line 92 of file DipoleAlgorithms.cc.

Constructor & Destructor Documentation

◆ MinimizeDipoleChi2()

lsst::ip::diffim::MinimizeDipoleChi2::MinimizeDipoleChi2 ( PsfDipoleFlux const & psfDipoleFlux,
afw::table::SourceRecord & source,
afw::image::Exposure< float > const & exposure )
inlineexplicit

Definition at line 94 of file DipoleAlgorithms.cc.

97 : _errorDef(1.0),
98 _nPar(6),
99 _maxPix(1e4),
100 _bigChi2(1e10),
101 _psfDipoleFlux(psfDipoleFlux),
102 _source(source),
103 _exposure(exposure)
104 {}

Member Function Documentation

◆ getMaxPix()

int lsst::ip::diffim::MinimizeDipoleChi2::getMaxPix ( ) const
inline

Definition at line 108 of file DipoleAlgorithms.cc.

108{ return _maxPix; }

◆ getNpar()

int lsst::ip::diffim::MinimizeDipoleChi2::getNpar ( ) const
inline

Definition at line 107 of file DipoleAlgorithms.cc.

107{ return _nPar; }

◆ operator()()

virtual double lsst::ip::diffim::MinimizeDipoleChi2::operator() ( std::vector< double > const & params) const
inlinevirtual

Definition at line 112 of file DipoleAlgorithms.cc.

112 {
113 double negCenterX = params[NEGCENTXPAR];
114 double negCenterY = params[NEGCENTYPAR];
115 double negFlux = params[NEGFLUXPAR];
116 double posCenterX = params[POSCENTXPAR];
117 double posCenterY = params[POSCENTYPAR];
118 double posFlux = params[POSFLUXPAR];
119
120 /* Restrict negative dipole to be negative; positive to be positive */
121 if ((negFlux > 0.0) || (posFlux < 0.0)) {
122 return _bigChi2;
123 }
124
125 std::pair<double,int> fit = _psfDipoleFlux.chi2(_source, _exposure, negCenterX, negCenterY, negFlux,
126 posCenterX, posCenterY, posFlux);
127 double chi2 = fit.first;
128 int nPix = fit.second;
129 if (nPix > _maxPix) {
130 return _bigChi2;
131 }
132
133 return chi2;
134 }
int const NEGFLUXPAR(2)
int const NEGCENTXPAR(0)
int const NEGCENTYPAR(1)
int const POSFLUXPAR(5)
int const POSCENTXPAR(3)
int const POSCENTYPAR(4)

◆ setErrorDef()

void lsst::ip::diffim::MinimizeDipoleChi2::setErrorDef ( double def)
inline

Definition at line 106 of file DipoleAlgorithms.cc.

106{ _errorDef = def; }

◆ setMaxPix()

void lsst::ip::diffim::MinimizeDipoleChi2::setMaxPix ( int maxPix)
inline

Definition at line 109 of file DipoleAlgorithms.cc.

109{ _maxPix = maxPix; }

◆ Up()

double lsst::ip::diffim::MinimizeDipoleChi2::Up ( ) const
inline

Definition at line 105 of file DipoleAlgorithms.cc.

105{ return _errorDef; }

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