LSSTApplications  19.0.0-14-gb0260a2+72efe9b372,20.0.0+7927753e06,20.0.0+8829bf0056,20.0.0+995114c5d2,20.0.0+b6f4b2abd1,20.0.0+bddc4f4cbe,20.0.0-1-g253301a+8829bf0056,20.0.0-1-g2b7511a+0d71a2d77f,20.0.0-1-g5b95a8c+7461dd0434,20.0.0-12-g321c96ea+23efe4bbff,20.0.0-16-gfab17e72e+fdf35455f6,20.0.0-2-g0070d88+ba3ffc8f0b,20.0.0-2-g4dae9ad+ee58a624b3,20.0.0-2-g61b8584+5d3db074ba,20.0.0-2-gb780d76+d529cf1a41,20.0.0-2-ged6426c+226a441f5f,20.0.0-2-gf072044+8829bf0056,20.0.0-2-gf1f7952+ee58a624b3,20.0.0-20-geae50cf+e37fec0aee,20.0.0-25-g3dcad98+544a109665,20.0.0-25-g5eafb0f+ee58a624b3,20.0.0-27-g64178ef+f1f297b00a,20.0.0-3-g4cc78c6+e0676b0dc8,20.0.0-3-g8f21e14+4fd2c12c9a,20.0.0-3-gbd60e8c+187b78b4b8,20.0.0-3-gbecbe05+48431fa087,20.0.0-38-ge4adf513+a12e1f8e37,20.0.0-4-g97dc21a+544a109665,20.0.0-4-gb4befbc+087873070b,20.0.0-4-gf910f65+5d3db074ba,20.0.0-5-gdfe0fee+199202a608,20.0.0-5-gfbfe500+d529cf1a41,20.0.0-6-g64f541c+d529cf1a41,20.0.0-6-g9a5b7a1+a1cd37312e,20.0.0-68-ga3f3dda+5fca18c6a4,20.0.0-9-g4aef684+e18322736b,w.2020.45
LSSTDataManagementBasePackage
Public Member Functions | List of all members
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 296 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 298 of file DipoleAlgorithms.cc.

301  : _errorDef(1.0),
302  _nPar(6),
303  _maxPix(1e4),
304  _bigChi2(1e10),
305  _psfDipoleFlux(psfDipoleFlux),
306  _source(source),
307  _exposure(exposure)
308  {}

Member Function Documentation

◆ getMaxPix()

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

Definition at line 312 of file DipoleAlgorithms.cc.

312 { return _maxPix; }

◆ getNpar()

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

Definition at line 311 of file DipoleAlgorithms.cc.

311 { return _nPar; }

◆ operator()()

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

Definition at line 316 of file DipoleAlgorithms.cc.

316  {
317  double negCenterX = params[NEGCENTXPAR];
318  double negCenterY = params[NEGCENTYPAR];
319  double negFlux = params[NEGFLUXPAR];
320  double posCenterX = params[POSCENTXPAR];
321  double posCenterY = params[POSCENTYPAR];
322  double posFlux = params[POSFLUXPAR];
323 
324  /* Restrict negative dipole to be negative; positive to be positive */
325  if ((negFlux > 0.0) || (posFlux < 0.0)) {
326  return _bigChi2;
327  }
328 
329  std::pair<double,int> fit = _psfDipoleFlux.chi2(_source, _exposure, negCenterX, negCenterY, negFlux,
330  posCenterX, posCenterY, posFlux);
331  double chi2 = fit.first;
332  int nPix = fit.second;
333  if (nPix > _maxPix) {
334  return _bigChi2;
335  }
336 
337  return chi2;
338  }

◆ setErrorDef()

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

Definition at line 310 of file DipoleAlgorithms.cc.

310 { _errorDef = def; }

◆ setMaxPix()

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

Definition at line 313 of file DipoleAlgorithms.cc.

313 { _maxPix = maxPix; }

◆ Up()

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

Definition at line 309 of file DipoleAlgorithms.cc.

309 { return _errorDef; }

The documentation for this class was generated from the following file:
lsst::ip::diffim::POSCENTYPAR
int const POSCENTYPAR(4)
std::pair
lsst::ip::diffim::NEGCENTXPAR
int const NEGCENTXPAR(0)
lsst::ip::diffim::POSCENTXPAR
int const POSCENTXPAR(3)
lsst::ip::diffim::NEGFLUXPAR
int const NEGFLUXPAR(2)
lsst::ip::diffim::NEGCENTYPAR
int const NEGCENTYPAR(1)
ast::detail::source
const char * source()
Source function that allows astChannel to source from a Stream.
Definition: Stream.h:224
lsst::ip::diffim::PsfDipoleFlux::chi2
std::pair< double, int > chi2(afw::table::SourceRecord &source, afw::image::Exposure< float > const &exposure, double negCenterX, double negCenterY, double negFlux, double posCenterX, double poCenterY, double posFlux) const
Definition: DipoleAlgorithms.cc:352
lsst::ip::diffim::POSFLUXPAR
int const POSFLUXPAR(5)