LSSTApplications  20.0.0
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)