Changeset 2822


Ignore:
Timestamp:
Aug 20, 2019 10:09:03 PM (3 months ago)
Author:
gegorbet
Message:

density_matching: cleanup unused pars, info after all-model remove, new help files

Location:
trunk
Files:
7 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/doc/manual/index.body

    r2207 r2822  
    7676      <li> <a href="mwlr_viewer.html">Multi-Wavelength Raw Viewer</a> </li>
    7777      <li> <a href="cfa_viewer.html">CFA Raw Viewer and Converter</a> </li>
     78      <li> <a href="dens_match.html">Density Matching</a> </li>
    7879    </ul>
    7980  </li>
  • trunk/doc/manual/manual.qhp

    r2628 r2822  
    4040            <keyword id="d1" name="data-loader"      ref="data_loader.html"/>
    4141            <keyword id="d2" name="ddist-combine"    ref="ddist_combine.html"/>
     42            <keyword id="d3" name="density-match"    ref="dens_match.html"/>
    4243            <keyword id="e1" name="edit"             ref="us_edit.html"/>
    4344            <keyword id="e2" name="equiltime"        ref="us_equiltime.html"/>
     
    263264            <file>images/simparams.png</file>
    264265
    265         <file>grid_editor.html</file>
    266         <file>images/grid_editor.png</file>
    267         <file>images/grid_editor_mw_view.png</file>
    268         <file>images/grid_editor_multi_grids.png</file>
    269         <file>images/grid_editor_multi_grids_sed.png</file>
    270         <file>images/grid_editor_subgrid1-good.png</file>
    271         <file>images/grid_editor_subgrid1-bad.png</file>
    272         <file>images/grid_editor_subgrid2-good.png</file>
    273         <file>images/grid_editor_subgrid2-bad.png</file>
    274         <file>images/grid_editor_subgrid3-good.png</file>
    275         <file>images/grid_editor_subgrid3-bad.png</file>
     266            <file>grid_editor.html</file>
     267            <file>images/grid_editor.png</file>
     268            <file>images/grid_editor_mw_view.png</file>
     269            <file>images/grid_editor_multi_grids.png</file>
     270            <file>images/grid_editor_multi_grids_sed.png</file>
     271            <file>images/grid_editor_subgrid1-good.png</file>
     272            <file>images/grid_editor_subgrid1-bad.png</file>
     273            <file>images/grid_editor_subgrid2-good.png</file>
     274            <file>images/grid_editor_subgrid2-bad.png</file>
     275            <file>images/grid_editor_subgrid3-good.png</file>
     276            <file>images/grid_editor_subgrid3-bad.png</file>
    276277
    277278            <file>2dsa.html</file>
     
    399400            <file>images/cfa_view-loadraw.png</file>
    400401            <file>images/cfa_view-loadauc.png</file>
     402
     403            <file>dens_match.html</file>
     404            <file>dens_match_mparam.html</file>
     405            <file>dens_match_rmvmods.html</file>
     406            <file>images/densmatch_main.png</file>
     407            <file>images/densmatch_mpars_empty.png</file>
     408            <file>images/densmatch_mpars_completed.png</file>
     409            <file>images/densmatch_rmvmodels.png</file>
    401410
    402411            <file>2dsa_3dplot.img.html</file>
  • trunk/programs/us_density_match/us_density_match.cpp

    r2821 r2822  
    6767   // Top banner
    6868   QLabel* lb_info1      = us_banner( tr( "Model Selection Controls" ) );
    69 
    70 //   us_checkbox( tr( "Save Plot(s)"    ), ck_savepl,  false );
    71 //   us_checkbox( tr( "Local Save Only" ), ck_locsave, true  );
    7269
    7370   // Distribution information text box
     
    191188   spec->addLayout( gl_x_ff0,      s_row,   4, 1, 2 );
    192189   spec->addLayout( gl_x_rh,       s_row++, 6, 1, 2 );
    193 //   spec->addWidget( ck_savepl,     s_row,   0, 1, 4 );
    194 //   spec->addWidget( ck_locsave,    s_row++, 4, 1, 4 );
    195190   spec->addWidget( lb_di_avg,     s_row++, 0, 1, 8 );
    196191   spec->addLayout( gl_da_n,       s_row,   2, 1, 2 );
     
    214209
    215210   ct_division   ->setSingleStep( 1 );
    216 //   ct_division->setEnabled( true );
    217211   ct_boundaryPct->setSingleStep( 1 );
    218212   ct_boundaryPos->setSingleStep( 1 );
     
    285279   data_plot->replot();
    286280 
    287    need_save  = false;
    288 
    289281   plot_x     = ATTR_V;
    290282
     
    409401   QVector< QVector< double > >  v_difcs;
    410402#endif
    411 #if 0
    412    //QString dtext = te_distr_info->toPlainText().section( "\n", 0, 1 );
    413    QString dtext  = tr( "Run:  " ) + tsys->run_name
    414          + " (" + tsys->method + ")\n    " + tsys->analys_name;
    415 
    416    bool sv_plot = ck_savepl->isChecked();
    417 DbgLv(2) << "(1) sv_plot" << sv_plot;
    418 
    419 DbgLv(2) << "(3)   need_save sv_plot" << need_save << sv_plot;
    420    //if ( need_save  &&  sv_plot )
    421    if ( sv_plot )
    422    {  // Automatically save plot image in a PNG file
    423       const QString s_attrs[] = { "s", "ff0", "MW", "vbar", "D", "f" };
    424       QPixmap plotmap = ((QWidget*)data_plot)->grab();
    425 
    426       QString runid   = tsys->run_name.section( ".",  0, -2 );
    427       QString triple  = tsys->run_name.section( ".", -1, -1 );
    428       QString report  = QString( "pseudo3d_" ) + s_attrs[ plot_x ]
    429          + "_" + s_attrs[ ATTR_F ];
    430 
    431       QString ofdir   = US_Settings::reportDir() + "/" + runid;
    432       QDir dirof( ofdir );
    433       if ( !dirof.exists( ) )
    434          QDir( US_Settings::reportDir() ).mkdir( runid );
    435       QString ofname = tsys->method + "." + triple + "." + report + ".png";
    436       QString ofpath = ofdir + "/" + ofname;
    437 
    438       plotmap.save( ofpath );
    439       dtext          = dtext + tr( "\nPLOT %1 SAVED to local" )
    440          .arg( curr_distr + 1 );
    441 
    442       if ( dkdb_cntrls->db()  &&  !ck_locsave->isChecked() )
    443       {  // Save a copy to the database
    444 QDateTime time0=QDateTime::currentDateTime();
    445          US_Passwd   pw;
    446          US_DB2      db( pw.getPasswd() );
    447          QStringList query;
    448          query << "get_editID" << tsys->editGUID;
    449          db.query( query );
    450          db.next();
    451          int         idEdit   = db.value( 0 ).toString().toInt();
    452          US_Report   freport;
    453          freport.runID        = runid;
    454          freport.saveDocumentFromFile( ofdir, ofname, &db, idEdit );
    455 QDateTime time1=QDateTime::currentDateTime();
    456 qDebug() << "DB-save: currdist" << curr_distr
    457  << "svtime:" << time0.msecsTo(time1);
    458          dtext          = dtext + tr( " and DB" );
    459       }
    460    }
    461 
    462    else
    463       dtext          = dtext + tr( "\n(no plot saved)" );
    464 
    465    te_distr_info->setText( dtext );
    466 #endif
    467403}
    468404
     
    478414   plot_x         = ( plot_x < 0 ) ? plot_x_select() : plot_x;
    479415DbgLv(1) << "DaPl: plot_x" << plot_x;
    480 
    481 #if 0
    482 auto_sxy=true;
    483    if ( auto_sxy )
    484    { // Auto scale x and y
    485       data_plot->setAxisAutoScale( QwtPlot::yLeft   );
    486       data_plot->setAxisAutoScale( QwtPlot::xBottom );
    487    }
    488    else
    489    { // Manual limits on x and y
    490       double lStep = data_plot->axisStepSize( QwtPlot::yLeft   );
    491       double bStep = data_plot->axisStepSize( QwtPlot::xBottom );
    492       data_plot->setAxisScale( QwtPlot::xBottom, plt_smin, plt_smax, bStep );
    493       data_plot->setAxisScale( QwtPlot::yLeft,   plt_kmin, plt_kmax, lStep );
    494    }
    495 #endif
    496 
    497416
    498417#if 0
     
    643562}
    644563
    645 void US_Density_Match::update_resolu( double dval )
    646 {
    647    resolu = dval;
    648 }
    649 
    650 void US_Density_Match::update_xreso( double dval )
    651 {
    652    xreso  = dval;
    653 }
    654 
    655 void US_Density_Match::update_yreso( double dval )
    656 {
    657    yreso  = dval;
    658 }
    659 
    660 void US_Density_Match::update_curr_distr( double dval )
    661 {
    662    curr_distr   = qRound( dval ) - 1;
    663 DbgLv(1) << "upd_curr_distr" << curr_distr;
    664 }
    665 
    666 void US_Density_Match::update_plot_smin( double dval )
    667 {
    668    plt_smin = dval;
    669 DbgLv(1) << "plt_smin" << plt_smin;
    670 }
    671 
    672 void US_Density_Match::update_plot_smax( double dval )
    673 {
    674    plt_smax = dval;
    675 DbgLv(1) << "plt_smax" << plt_smax;
    676 }
    677 
    678 void US_Density_Match::update_plot_kmin( double dval )
    679 {
    680    plt_kmin = dval;
    681 }
    682 
    683 void US_Density_Match::update_plot_kmax( double dval )
    684 {
    685    plt_kmax = dval;
    686 }
    687 
    688 void US_Density_Match::select_autosxy()
    689 {
    690    auto_sxy   = ck_autosxy->isChecked();
    691    ct_plt_kmin->setEnabled( !auto_sxy );
    692    ct_plt_kmax->setEnabled( !auto_sxy );
    693    ct_plt_smin->setEnabled( !auto_sxy );
    694    ct_plt_smax->setEnabled( !auto_sxy );
    695 
    696    set_limits();
    697 }
    698 
    699 void US_Density_Match::select_autoscz()
    700 {
    701    auto_scz   = ck_autoscz->isChecked();
    702 
    703    set_limits();
    704 }
    705 
    706564// Load all the distributions (models)
    707565void US_Density_Match::load_distro()
     
    722580      return;  // no selection made
    723581
    724    need_save  = false;
    725 
    726582   te_distr_info->setText(
    727583      QString( models[ 0 ].description ).section( ".", 0, -4 ) );
     
    732588   }
    733589
    734    curr_distr = alldis.size() - 1;
    735 //   need_save  = ck_savepl->isChecked()  &&  !cont_loop;
    736590   bool have_m  = ( models.count() > 0 );
    737591   pb_rmvdist->setEnabled( have_m );
     
    916770DbgLv(1) << "LD:   retn fr alldis.append";
    917771
    918 #if 0
    919    if ( auto_sxy )
    920    {
    921 DbgLv(1) << "LD:  auto_sxy call set_limits";
    922       set_limits();
    923    }
    924    data_plot->setAxisScale( QwtPlot::xBottom, plt_smin, plt_smax );
    925    data_plot->setAxisScale( QwtPlot::yLeft,   plt_kmin, plt_kmax );
    926 
    927    pb_pltall ->setEnabled( true );
    928    pb_refresh->setEnabled( true );
    929    pb_reset  ->setEnabled( true );
    930 
    931    if ( cont_loop )
    932       pb_pltall->setText( tr( "Plot All Distros in a Loop" ) );
    933    else
    934       pb_pltall->setText( tr( "Plot All Distros" ) );
    935 #endif
    936772   pb_refresh->setEnabled( true );
    937773   pb_reset  ->setEnabled( true );
     
    958794   plotx       = rb_x_d   ->isChecked() ? ATTR_D : plotx;
    959795   return plotx;
    960 }
    961 
    962 void US_Density_Match::set_limits()
    963 {
    964    double smin = 1.0e30;
    965    double smax = -1.0e30;
    966    double kmin = 1.0e30;
    967    double kmax = -1.0e30;
    968    double sinc;
    969    double kinc;
    970    xa_title    = anno_title( plot_x );
    971    ya_title    = anno_title( ATTR_F );
    972 
    973    data_plot->setAxisTitle( QwtPlot::xBottom, xa_title );
    974    data_plot->setAxisTitle( QwtPlot::yLeft,   ya_title );
    975 
    976    if ( alldis.size() < 1 )
    977       return;
    978 
    979    // find min,max for X,Y distributions
    980    for ( int ii = 0; ii < alldis.size(); ii++ )
    981    {
    982       DisSys* tsys = (DisSys*)&alldis.at( ii );
    983 
    984       for ( int jj = 0; jj < tsys->nm_distro.size(); jj++ )
    985       {
    986          double sval = tsys->nm_distro.at( jj ).s;
    987          double kval = tsys->nm_distro.at( jj ).k;
    988          smin        = qMin( smin, sval );
    989          smax        = qMax( smax, sval );
    990          kmin        = qMin( kmin, kval );
    991          kmax        = qMax( kmax, kval );
    992       }
    993    }
    994 
    995    // adjust minima, maxima
    996    sinc      = ( smax - smin ) / 10.0;
    997    kinc      = ( kmax - kmin ) / 10.0;
    998    sinc      = ( sinc <= 0.0 ) ? ( smin * 0.05 ) : sinc;
    999    kinc      = ( kinc <= 0.0 ) ? ( kmin * 0.05 ) : kinc;
    1000 DbgLv(1) << "SL: real smin smax kmin kmax" << smin << smax << kmin << kmax;
    1001    smin     -= sinc;
    1002    smax     += sinc;
    1003    kmin     -= kinc;
    1004    kmax     += kinc;
    1005 DbgLv(1) << "SL: adjusted smin smax kmin kmax" << smin << smax << kmin << kmax;
    1006 
    1007    if ( auto_sxy )
    1008    {  // Set auto limits on X and Y
    1009       sinc        = pow( 10.0, qFloor( log10( smax ) ) - 3.0 );
    1010       kinc        = pow( 10.0, qFloor( log10( kmax ) ) - 3.0 );
    1011       if ( qAbs( ( smax - smin ) / smax ) < 0.001 )
    1012       {  // Put padding around virtually constant value
    1013          smin     -= sinc;
    1014          smax     += sinc;
    1015       }
    1016       if ( qAbs( ( kmax - kmin ) / kmax ) < 0.001 )
    1017       {  // Put padding around virtually constant value
    1018          kmin     -= kinc;
    1019          kmax     += kinc;
    1020       }
    1021       // Make sure limits are nearest reasonable values
    1022       smin        = qFloor( smin / sinc ) * sinc;
    1023       smax        = qFloor( smax / sinc ) * sinc + sinc;
    1024       smin        = ( plot_x != ATTR_S ) ? qMax( smin, 0.0 ) : smin;
    1025       smin        = ( plot_x == ATTR_K ) ? qMax( smin, 0.5 ) : smin;
    1026       kmin        = qFloor( kmin / kinc ) * kinc;
    1027       kmax        = qFloor( kmax / kinc ) * kinc + kinc;
    1028 
    1029 DbgLv(1) << "SL: setVal kmin kmax" << kmin << kmax;
    1030 #if 0
    1031       ct_plt_smin->setValue( smin );
    1032       ct_plt_smax->setValue( smax );
    1033       ct_plt_kmin->setValue( kmin );
    1034       ct_plt_kmax->setValue( kmax );
    1035 #endif
    1036 
    1037       plt_smin    = smin;
    1038       plt_smax    = smax;
    1039       plt_kmin    = kmin;
    1040       plt_kmax    = kmax;
    1041    }
    1042    else
    1043    {
    1044 #if 0
    1045       plt_smin    = ct_plt_smin->value();
    1046       plt_smax    = ct_plt_smax->value();
    1047       plt_kmin    = ct_plt_kmin->value();
    1048       plt_kmax    = ct_plt_kmax->value();
    1049 #endif
    1050    }
    1051 DbgLv(1) << "SL: plt_smin _smax _kmin _kmax" << plt_smin << plt_smax
    1052  << plt_kmin << plt_kmax;
    1053796}
    1054797
     
    1184927
    1185928      if ( jd < 1 )
    1186       {
    1187          reset();
    1188          return;
     929      {  // Handle case where ALL distributions removed
     930         QString dinfo   = te_distr_info->toPlainText()
     931                           .section( "\n", 0, 0 ) +
     932                           tr( "\n(no models)\n" );
     933         te_distr_info->setText( dinfo );
     934         dataPlotClear( data_plot );
     935         data_plot->replot();
    1189936      }
    1190 
    1191       curr_distr = 0;
    1192937DbgLv(1) << "rmvdis:Accepted";
    1193938   }
    1194939
    1195    // Summarize new set of models in info box
    1196    models_summary();
     940   if ( alldis.size() > 0 )
     941   {
     942      // Summarize new set of models in info box
     943      models_summary();
     944   }
    1197945
    1198946   // Build and plot updated data
     
    1232980   plot_x     = ival;
    1233981
    1234 #if 0
    1235    const QString xlabs[] = {   "mass", "f/f0",   "rh", "vbar",     "s" };
    1236    const double  xvlos[] = {     2e+4,   1.0,    2e+4,  0.60,      1.0 };
    1237    const double  xvhis[] = {     1e+5,   4.0,    1e+5,  0.80,     10.0 };
    1238    const double  xmins[] = {      0.0,   1.0,     0.0,  0.01, -10000.0 };
    1239    const double  xmaxs[] = {    1e+10,  50.0,   1e+10,  3.00,  10000.0 };
    1240    const double  xincs[] = {   1000.0,  0.01,  1000.0,  0.01,     0.01 };
    1241 #endif
    1242 
    1243    const QString xlabs[] = {      "s", "f/f0", "mass","vbar", "D", "f",  "rh"  };
    1244    const double  xvlos[] = {      1.0,   1.0,    2e+4,  0.60, 1e-8, 1e-8, 0.1  };
    1245    const double  xvhis[] = {     10.0,   4.0,    1e+5,  0.80, 1e-7, 1e-7, 1000.};
    1246    const double  xmins[] = { -10000.0,   1.0,     0.0,  0.01, 1e-9, 1e-9, 1e-1 };
    1247    const double  xmaxs[] = {  10000.0,  50.0,   1e+10,  3.00, 1e-5, 1e-5, 1e+3 };
    1248    const double  xincs[] = {     0.01,  0.01,  1000.0,  0.01, 1e-9, 1e-9, 1e-2 };
    1249 #if 0
    1250    const QString xlabs[] = {      "s", "f/f0",  "MW", "vbar", "D", "f"  };
    1251    const double  xvlos[] = {      1.0,   1.0,   2e+4,  0.60, 1e-8, 1e-8 };
    1252    const double  xvhis[] = {     10.0,   4.0,   1e+5,  0.80, 1e-7, 1e-7 };
    1253    const double  xmins[] = { -10000.0,   1.0,    0.0,  0.01, 1e-9, 1e-9 };
    1254    const double  xmaxs[] = {  10000.0,  50.0,  1e+10,  3.00, 1e-5, 1e-5 };
    1255    const double  xincs[] = {     0.01,  0.01, 1000.0,  0.01, 1e-9, 1e-9 };
    1256 #endif
    1257 
    1258 #if 0
    1259    lb_plt_smin->setText( tr( "Plot Limit " ) + xlabs[ plot_x ]
    1260                        + tr( " Minimum:" ) );
    1261    lb_plt_smax->setText( tr( "Plot Limit " ) + xlabs[ plot_x ]
    1262                        + tr( " Maximum:" ) );
    1263    ct_plt_smin->setRange( xmins[ plot_x ], xmaxs[ plot_x ] );
    1264    ct_plt_smax->setRange( xmins[ plot_x ], xmaxs[ plot_x ] );
    1265    ct_plt_smin->setSingleStep( xincs[ plot_x ] );
    1266    ct_plt_smax->setSingleStep( xincs[ plot_x ] );
    1267    ct_plt_smin->setValue( xvlos[ plot_x ] );
    1268    ct_plt_smax->setValue( xvhis[ plot_x ] );
    1269 #endif
    1270 DbgLv(1) << "sel_x:   lab vlos vhis xmin xmax xinc" << xlabs[plot_x]
    1271  << xvlos[plot_x] << xvhis[plot_x] << xmins[plot_x] << xmaxs[plot_x]
    1272  << xincs[plot_x];
    1273 
    1274982   build_bf_dists();    // Build the boundary fraction distributions
    1275983   build_bf_vects();    // Build the boundary fraction vectors
    1276 
    1277 //   set_limits();
    1278984
    1279985   plot_data();         // Plot data
     
    13791085         for ( int ii = 0; ii < ndists; ii++ )
    13801086         {  // Accumulate (weighted) sum and sum of weights
    1381 //            double dwt       = alldis[ ii ].bf_distro[ jj ].c;
    13821087            double dwt       = ( diff_avg == 1 ) ? 1.0
    13831088                                                 : alldis[ ii ].bf_distro[ jj ].c;
     
    14941199   {
    14951200      // *** Mi = si*R*T/(Di_avg*(1-vbari*rho))
    1496 //      double sedco     = alldis[ 0 ].bf_distro[ jj ].s * 1.0e-13;
    1497 //      double difco     = alldis[ 0 ].bf_distro[ jj ].d * 1.0e-7;
    14981201      double sedco     = v_sedcs[ zx ][ jj ] * 1.0e-13;
    14991202      double difco     = v_difcs[ zx ][ jj ] * 1.0e-7;
     
    17151418   }
    17161419
     1420   if ( alldis.size() < 1 )
     1421   {
     1422      dinfo            += tr( "(no models)\n" );
     1423   }
     1424
    17171425   te_distr_info->setText( dinfo );
    17181426}
  • trunk/programs/us_density_match/us_density_match.h

    r2820 r2822  
    5353      enum attr_type { ATTR_S, ATTR_K, ATTR_W, ATTR_V, ATTR_D, ATTR_F, ATTR_R };
    5454
    55       QLabel*       lb_plt_smin;
    56       QLabel*       lb_plt_smax;
    57       QLabel*       lb_plt_kmin;
    58       QLabel*       lb_plt_kmax;
    59       QLabel*       lb_tolerance;
    6055      QLabel*       lb_division;
    6156
     
    6661      US_Help       showHelp;
    6762 
    68       QwtCounter*   ct_resolu;
    69       QwtCounter*   ct_plt_kmin;     
    70       QwtCounter*   ct_plt_kmax;     
    71       QwtCounter*   ct_plt_smin;     
    72       QwtCounter*   ct_plt_smax;     
    73       QwtCounter*   ct_plt_dlay;     
    7463      QwtCounter*   ct_division;
    7564      QwtCounter*   ct_smoothing;
     
    9281      QPushButton*  pb_mdlpars;
    9382      QPushButton*  pb_save;
    94 
    95       QCheckBox*    ck_autosxy;
    96       QCheckBox*    ck_autoscz;
    97       QCheckBox*    ck_plot_sk;
    98       QCheckBox*    ck_plot_wk;
    99       QCheckBox*    ck_plot_sv;
    100       QCheckBox*    ck_plot_wv;
    101       QCheckBox*    ck_savepl;
    102       QCheckBox*    ck_locsave;
    10383
    10484      QRadioButton* rb_x_mass;
     
    125105      QVector< QVector< double > >  v_difcs;   // Vector of diff coeff vectors per distro
    126106
    127       double        resolu;
    128       double        plt_smin;
    129       double        plt_smax;
    130       double        plt_kmin;
    131       double        plt_kmax;
    132       double        plt_zmin;
    133       double        plt_zmax;
    134       double        s_range;
    135       double        k_range;
    136       double        xreso;
    137       double        yreso;
    138 
    139       int           curr_distr;
    140107      int           dbg_level;
    141108      int           plot_x;
    142109      int           diff_avg;
    143 
    144       bool          auto_sxy;
    145       bool          auto_scz;
    146       bool          cont_loop;
    147       bool          need_save;
    148       bool          runsel;
    149       bool          latest;
    150110
    151111      QString       xa_title;
     
    158118   private slots:
    159119
    160       void update_resolu(     double );
    161       void update_xreso(      double );
    162       void update_yreso(      double );
    163       void update_curr_distr( double );
    164       void update_plot_smin(  double );
    165       void update_plot_smax(  double );
    166       void update_plot_kmin(  double );
    167       void update_plot_kmax(  double );
    168120      void plot_data(      int );
    169121      void plot_data(      void );
    170       void select_autosxy( void );
    171       void select_autoscz( void );
    172122      void update_disk_db( bool );
    173123      void update_divis  ( double );
     
    177127      void reset(   void );
    178128      void save(    void );
    179       void set_limits     (  void );
    180129      void sort_distro    ( QList< S_Solute >&, bool );
    181130      void remove_distro  ( void );
  • trunk/programs/us_density_match/us_remove_models.h

    r2806 r2822  
    5454      void accepted         ( void );
    5555      void help             ( void )
    56       { showHelp.show_help( "mass_distrib_rmv.html" ); };
     56      { showHelp.show_help( "dens_match_rmvmods.html" ); };
    5757};
    5858#endif
Note: See TracChangeset for help on using the changeset viewer.