LSST Applications g00d0e8bbd7+8c5ae1fdc5,g013ef56533+603670b062,g083dd6704c+2e189452a7,g199a45376c+0ba108daf9,g1c5cce2383+bc9f6103a4,g1fd858c14a+cd69ed4fc1,g210f2d0738+c4742f2e9e,g262e1987ae+612fa42d85,g29ae962dfc+83d129e820,g2cef7863aa+aef1011c0b,g35bb328faa+8c5ae1fdc5,g3fd5ace14f+5eaa884f2a,g47891489e3+e32160a944,g53246c7159+8c5ae1fdc5,g5b326b94bb+dcc56af22d,g64539dfbff+c4742f2e9e,g67b6fd64d1+e32160a944,g74acd417e5+c122e1277d,g786e29fd12+668abc6043,g87389fa792+8856018cbb,g88cb488625+47d24e4084,g89139ef638+e32160a944,g8d7436a09f+d14b4ff40a,g8ea07a8fe4+b212507b11,g90f42f885a+e1755607f3,g97be763408+34be90ab8c,g98df359435+ec1fa61bf1,ga2180abaac+8c5ae1fdc5,ga9e74d7ce9+43ac651df0,gbf99507273+8c5ae1fdc5,gc2a301910b+c4742f2e9e,gca7fc764a6+e32160a944,gd7ef33dd92+e32160a944,gdab6d2f7ff+c122e1277d,gdb1e2cdc75+1b18322db8,ge410e46f29+e32160a944,ge41e95a9f2+c4742f2e9e,geaed405ab2+0d91c11c6d,w.2025.44
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: