20       void MnTraceObject::operator() (
int iter, 
const MinimumState & state) {
 
   22          MnPrint::PrintState(std::cout, state, 
"iteration  #  ",iter);
 
   23          if (!fUserState) 
return;
 
   26          std::cout << 
"\t" << std::setw(12) << 
"  " << 
"  " 
   27                    << std::setw(12)  << 
" ext value " << 
"  " 
   28                    << std::setw(12)  << 
" int value " << 
"  " 
   29                    << std::setw(12)  << 
" gradient  " << std::endl;
 
   31          int lastPar =  state.Vec().size();
 
   32          if (fParNumber >= 0 && fParNumber < lastPar) {
 
   33             firstPar = fParNumber;
 
   34             lastPar = fParNumber+1;
 
   36          for (
int ipar = firstPar; ipar <lastPar; ++ipar) {
 
   37                int epar = fUserState->Trafo().ExtOfInt(ipar);
 
   38                double eval = fUserState->Trafo().Int2ext(ipar, state.Vec()(ipar) );
 
   39                std::cout << 
"\t" << std::setw(12) << fUserState->Name(epar) << 
"  " 
   40                          << std::setw(12) << eval << 
"  " 
   41                          << std::setw(12) << state.Vec()(ipar)  << 
"  " 
   42                          << std::setw(12) << state.Gradient().Vec()(ipar) << std::endl;