25 #include <queso/Defines.h> 
   26 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS 
   28 #include <boost/program_options.hpp> 
   30 #include <queso/SequenceStatisticalOptions.h> 
   31 #include <queso/Miscellaneous.h> 
   35 SsOptionsValues::SsOptionsValues()
 
   38     m_initialDiscardedPortions(0                                           ),
 
   39 #ifdef QUESO_COMPUTES_EXTRA_POST_PROCESSING_STATISTICS
 
   40     m_meanMonitorPeriod       (UQ_SEQUENCE_MEAN_MONITOR_PERIOD_ODV         ),
 
   41     m_bmmRun                  (UQ_SEQUENCE_BMM_RUN_ODV                     ),
 
   43     m_fftCompute              (UQ_SEQUENCE_FFT_COMPUTE_ODV                 ),
 
   44     m_fftParamId              (UQ_SEQUENCE_FFT_PARAM_ID_ODV                ),
 
   45     m_fftSize                 (UQ_SEQUENCE_FFT_SIZE_ODV                    ),
 
   46     m_fftTestInversion        (UQ_SEQUENCE_FFT_TEST_INVERSION_ODV          ),
 
   47     m_fftWrite                (UQ_SEQUENCE_FFT_WRITE_ODV                   ),
 
   48     m_psdCompute              (UQ_SEQUENCE_PSD_COMPUTE_ODV                 ),
 
   49     m_psdNumBlocks            (UQ_SEQUENCE_PSD_NUM_BLOCKS_ODV              ),
 
   50     m_psdHopSizeRatio         (UQ_SEQUENCE_PSD_HOP_SIZE_RATIO_ODV          ),
 
   51     m_psdParamId              (UQ_SEQUENCE_PSD_PARAM_ID_ODV                ),
 
   52     m_psdWrite                (UQ_SEQUENCE_PSD_WRITE_ODV                   ),
 
   53     m_psdAtZeroCompute        (UQ_SEQUENCE_PSD_AT_ZERO_COMPUTE_ODV         ),
 
   54     m_psdAtZeroNumBlocks      (0                                           ),
 
   55     m_psdAtZeroHopSizeRatio   (UQ_SEQUENCE_PSD_AT_ZERO_HOP_SIZE_RATIO_ODV  ),
 
   56     m_psdAtZeroDisplay        (UQ_SEQUENCE_PSD_AT_ZERO_DISPLAY_ODV         ),
 
   57     m_psdAtZeroWrite          (UQ_SEQUENCE_PSD_AT_ZERO_WRITE_ODV           ),
 
   58     m_gewekeCompute           (UQ_SEQUENCE_GEWEKE_COMPUTE_ODV              ),
 
   59     m_gewekeNaRatio           (UQ_SEQUENCE_GEWEKE_NA_RATIO_ODV             ),
 
   60     m_gewekeNbRatio           (UQ_SEQUENCE_GEWEKE_NB_RATIO_ODV             ),
 
   61     m_gewekeDisplay           (UQ_SEQUENCE_GEWEKE_DISPLAY_ODV              ),
 
   62     m_gewekeWrite             (UQ_SEQUENCE_GEWEKE_WRITE_ODV                ),
 
   63     m_meanStaccCompute        (UQ_SEQUENCE_MEAN_STACC_COMPUTE_ODV          ),
 
   64     m_histCompute             (UQ_SEQUENCE_HIST_COMPUTE_ODV                ),
 
   65     m_histNumInternalBins     (UQ_SEQUENCE_HIST_NUM_INTERNAL_BINS_ODV      ),
 
   66     m_cdfStaccCompute         (UQ_SEQUENCE_CDF_STACC_COMPUTE_ODV           ),
 
   67     m_cdfStaccNumEvalPositions(UQ_SEQUENCE_CDF_STACC_NUM_EVAL_POSITIONS_ODV),
 
   69     m_autoCorrComputeViaDef   (UQ_SEQUENCE_AUTO_CORR_COMPUTE_VIA_DEF_ODV   ),
 
   70     m_autoCorrComputeViaFft   (UQ_SEQUENCE_AUTO_CORR_COMPUTE_VIA_FFT_ODV   ),
 
   71     m_autoCorrSecondLag       (UQ_SEQUENCE_AUTO_CORR_SECOND_LAG_ODV        ),
 
   72     m_autoCorrLagSpacing      (UQ_SEQUENCE_AUTO_CORR_LAG_SPACING_ODV       ),
 
   73     m_autoCorrNumLags         (UQ_SEQUENCE_AUTO_CORR_NUM_LAGS_ODV          ),
 
   74     m_autoCorrDisplay         (UQ_SEQUENCE_AUTO_CORR_DISPLAY_ODV           ),
 
   75     m_autoCorrWrite           (UQ_SEQUENCE_AUTO_CORR_WRITE_ODV             ),
 
   76     m_kdeCompute              (UQ_SEQUENCE_KDE_COMPUTE_ODV                 ),
 
   77     m_kdeNumEvalPositions     (UQ_SEQUENCE_KDE_NUM_EVAL_POSITIONS_ODV      ),
 
   78     m_covMatrixCompute        (UQ_SEQUENCE_COV_MATRIX_COMPUTE_ODV          ),
 
   79     m_corrMatrixCompute       (UQ_SEQUENCE_CORR_MATRIX_COMPUTE_ODV         ),
 
   80     m_option_help                     (m_prefix + 
"help"                     ),
 
   81     m_option_initialDiscardedPortions (m_prefix + 
"initialDiscardedPortions" ),
 
   82 #ifdef QUESO_COMPUTES_EXTRA_POST_PROCESSING_STATISTICS
 
   83     m_option_mean_monitorPeriod       (m_prefix + 
"mean_monitorPeriod"       ),
 
   84     m_option_bmm_run                  (m_prefix + 
"bmm_run"                  ),
 
   85     m_option_bmm_lengths              (m_prefix + 
"bmm_lengths"              ),
 
   86     m_option_bmm_display              (m_prefix + 
"bmm_display"              ),
 
   87     m_option_bmm_write                (m_prefix + 
"bmm_write"                ),
 
   88     m_option_fft_compute              (m_prefix + 
"fft_compute"              ),
 
   89     m_option_fft_paramId              (m_prefix + 
"fft_paramId"              ),
 
   90     m_option_fft_size                 (m_prefix + 
"fft_size"                 ),
 
   91     m_option_fft_testInversion        (m_prefix + 
"fft_testInversion"        ),
 
   92     m_option_fft_write                (m_prefix + 
"fft_write"                ),
 
   93     m_option_psd_compute              (m_prefix + 
"psd_compute"              ),
 
   94     m_option_psd_numBlocks            (m_prefix + 
"psd_numBlocks"            ),
 
   95     m_option_psd_hopSizeRatio         (m_prefix + 
"psd_hopSizeRatio"         ),
 
   96     m_option_psd_paramId              (m_prefix + 
"psd_paramId"              ),
 
   97     m_option_psd_write                (m_prefix + 
"psd_write"                ),
 
   98     m_option_psdAtZero_compute        (m_prefix + 
"psdAtZero_compute"        ),
 
   99     m_option_psdAtZero_numBlocks      (m_prefix + 
"psdAtZero_numBlocks"      ),
 
  100     m_option_psdAtZero_hopSizeRatio   (m_prefix + 
"psdAtZero_hopSizeRatio"   ),
 
  101     m_option_psdAtZero_display        (m_prefix + 
"psdAtZero_display"        ),
 
  102     m_option_psdAtZero_write          (m_prefix + 
"psdAtZero_write"          ),
 
  103     m_option_geweke_compute           (m_prefix + 
"geweke_compute"           ),
 
  104     m_option_geweke_naRatio           (m_prefix + 
"geweke_naRatio"           ),
 
  105     m_option_geweke_nbRatio           (m_prefix + 
"geweke_nbRatio"           ),
 
  106     m_option_geweke_display           (m_prefix + 
"geweke_display"           ),
 
  107     m_option_geweke_write             (m_prefix + 
"geweke_write"             ),
 
  108     m_option_meanStacc_compute        (m_prefix + 
"meanStacc_compute"        ),
 
  109     m_option_hist_compute             (m_prefix + 
"hist_compute"             ),
 
  110     m_option_hist_numInternalBins     (m_prefix + 
"hist_numInternalBins"     ),
 
  111     m_option_cdfStacc_compute         (m_prefix + 
"cdfStacc_compute"         ),
 
  112     m_option_cdfStacc_numEvalPositions(m_prefix + 
"cdfStacc_numEvalPositions"),
 
  114     m_option_autoCorr_computeViaDef   (m_prefix + 
"autoCorr_computeViaDef"   ),
 
  115     m_option_autoCorr_computeViaFft   (m_prefix + 
"autoCorr_computeViaFft"   ),
 
  116     m_option_autoCorr_secondLag       (m_prefix + 
"autoCorr_secondLag"       ),
 
  117     m_option_autoCorr_lagSpacing      (m_prefix + 
"autoCorr_lagSpacing"      ),
 
  118     m_option_autoCorr_numLags         (m_prefix + 
"autoCorr_numLags"         ),
 
  119     m_option_autoCorr_display         (m_prefix + 
"autoCorr_display"         ),
 
  120     m_option_autoCorr_write           (m_prefix + 
"autoCorr_write"           ),
 
  121     m_option_kde_compute              (m_prefix + 
"kde_compute"              ),
 
  122     m_option_kde_numEvalPositions     (m_prefix + 
"kde_numEvalPositions"     ),
 
  123     m_option_covMatrix_compute        (m_prefix + 
"covMatrix_compute"        ),
 
  124     m_option_corrMatrix_compute       (m_prefix + 
"corrMatrix_compute"       )
 
  128 SsOptionsValues::SsOptionsValues(
const BaseEnvironment * env, 
const char *
 
  131     m_prefix                          ((std::string)(prefix) + 
"stats_"),
 
  132     m_initialDiscardedPortions(0                                           ),
 
  133 #ifdef QUESO_COMPUTES_EXTRA_POST_PROCESSING_STATISTICS
 
  134     m_meanMonitorPeriod       (UQ_SEQUENCE_MEAN_MONITOR_PERIOD_ODV         ),
 
  135     m_bmmRun                  (UQ_SEQUENCE_BMM_RUN_ODV                     ),
 
  137     m_fftCompute              (UQ_SEQUENCE_FFT_COMPUTE_ODV                 ),
 
  138     m_fftParamId              (UQ_SEQUENCE_FFT_PARAM_ID_ODV                ),
 
  139     m_fftSize                 (UQ_SEQUENCE_FFT_SIZE_ODV                    ),
 
  140     m_fftTestInversion        (UQ_SEQUENCE_FFT_TEST_INVERSION_ODV          ),
 
  141     m_fftWrite                (UQ_SEQUENCE_FFT_WRITE_ODV                   ),
 
  142     m_psdCompute              (UQ_SEQUENCE_PSD_COMPUTE_ODV                 ),
 
  143     m_psdNumBlocks            (UQ_SEQUENCE_PSD_NUM_BLOCKS_ODV              ),
 
  144     m_psdHopSizeRatio         (UQ_SEQUENCE_PSD_HOP_SIZE_RATIO_ODV          ),
 
  145     m_psdParamId              (UQ_SEQUENCE_PSD_PARAM_ID_ODV                ),
 
  146     m_psdWrite                (UQ_SEQUENCE_PSD_WRITE_ODV                   ),
 
  147     m_psdAtZeroCompute        (UQ_SEQUENCE_PSD_AT_ZERO_COMPUTE_ODV         ),
 
  148     m_psdAtZeroNumBlocks      (0                                           ),
 
  149     m_psdAtZeroHopSizeRatio   (UQ_SEQUENCE_PSD_AT_ZERO_HOP_SIZE_RATIO_ODV  ),
 
  150     m_psdAtZeroDisplay        (UQ_SEQUENCE_PSD_AT_ZERO_DISPLAY_ODV         ),
 
  151     m_psdAtZeroWrite          (UQ_SEQUENCE_PSD_AT_ZERO_WRITE_ODV           ),
 
  152     m_gewekeCompute           (UQ_SEQUENCE_GEWEKE_COMPUTE_ODV              ),
 
  153     m_gewekeNaRatio           (UQ_SEQUENCE_GEWEKE_NA_RATIO_ODV             ),
 
  154     m_gewekeNbRatio           (UQ_SEQUENCE_GEWEKE_NB_RATIO_ODV             ),
 
  155     m_gewekeDisplay           (UQ_SEQUENCE_GEWEKE_DISPLAY_ODV              ),
 
  156     m_gewekeWrite             (UQ_SEQUENCE_GEWEKE_WRITE_ODV                ),
 
  157     m_meanStaccCompute        (UQ_SEQUENCE_MEAN_STACC_COMPUTE_ODV          ),
 
  158     m_histCompute             (UQ_SEQUENCE_HIST_COMPUTE_ODV                ),
 
  159     m_histNumInternalBins     (UQ_SEQUENCE_HIST_NUM_INTERNAL_BINS_ODV      ),
 
  160     m_cdfStaccCompute         (UQ_SEQUENCE_CDF_STACC_COMPUTE_ODV           ),
 
  161     m_cdfStaccNumEvalPositions(UQ_SEQUENCE_CDF_STACC_NUM_EVAL_POSITIONS_ODV),
 
  163     m_autoCorrComputeViaDef   (UQ_SEQUENCE_AUTO_CORR_COMPUTE_VIA_DEF_ODV   ),
 
  164     m_autoCorrComputeViaFft   (UQ_SEQUENCE_AUTO_CORR_COMPUTE_VIA_FFT_ODV   ),
 
  165     m_autoCorrSecondLag       (UQ_SEQUENCE_AUTO_CORR_SECOND_LAG_ODV        ),
 
  166     m_autoCorrLagSpacing      (UQ_SEQUENCE_AUTO_CORR_LAG_SPACING_ODV       ),
 
  167     m_autoCorrNumLags         (UQ_SEQUENCE_AUTO_CORR_NUM_LAGS_ODV          ),
 
  168     m_autoCorrDisplay         (UQ_SEQUENCE_AUTO_CORR_DISPLAY_ODV           ),
 
  169     m_autoCorrWrite           (UQ_SEQUENCE_AUTO_CORR_WRITE_ODV             ),
 
  170     m_kdeCompute              (UQ_SEQUENCE_KDE_COMPUTE_ODV                 ),
 
  171     m_kdeNumEvalPositions     (UQ_SEQUENCE_KDE_NUM_EVAL_POSITIONS_ODV      ),
 
  172     m_covMatrixCompute        (UQ_SEQUENCE_COV_MATRIX_COMPUTE_ODV          ),
 
  173     m_corrMatrixCompute       (UQ_SEQUENCE_CORR_MATRIX_COMPUTE_ODV         ),
 
  174     m_parser(new BoostInputOptionsParser(env->optionsInputFileName())),
 
  175     m_option_help                     (m_prefix + 
"help"                     ),
 
  176     m_option_initialDiscardedPortions (m_prefix + 
"initialDiscardedPortions" ),
 
  177 #ifdef QUESO_COMPUTES_EXTRA_POST_PROCESSING_STATISTICS
 
  178     m_option_mean_monitorPeriod       (m_prefix + 
"mean_monitorPeriod"       ),
 
  179     m_option_bmm_run                  (m_prefix + 
"bmm_run"                  ),
 
  180     m_option_bmm_lengths              (m_prefix + 
"bmm_lengths"              ),
 
  181     m_option_bmm_display              (m_prefix + 
"bmm_display"              ),
 
  182     m_option_bmm_write                (m_prefix + 
"bmm_write"                ),
 
  183     m_option_fft_compute              (m_prefix + 
"fft_compute"              ),
 
  184     m_option_fft_paramId              (m_prefix + 
"fft_paramId"              ),
 
  185     m_option_fft_size                 (m_prefix + 
"fft_size"                 ),
 
  186     m_option_fft_testInversion        (m_prefix + 
"fft_testInversion"        ),
 
  187     m_option_fft_write                (m_prefix + 
"fft_write"                ),
 
  188     m_option_psd_compute              (m_prefix + 
"psd_compute"              ),
 
  189     m_option_psd_numBlocks            (m_prefix + 
"psd_numBlocks"            ),
 
  190     m_option_psd_hopSizeRatio         (m_prefix + 
"psd_hopSizeRatio"         ),
 
  191     m_option_psd_paramId              (m_prefix + 
"psd_paramId"              ),
 
  192     m_option_psd_write                (m_prefix + 
"psd_write"                ),
 
  193     m_option_psdAtZero_compute        (m_prefix + 
"psdAtZero_compute"        ),
 
  194     m_option_psdAtZero_numBlocks      (m_prefix + 
"psdAtZero_numBlocks"      ),
 
  195     m_option_psdAtZero_hopSizeRatio   (m_prefix + 
"psdAtZero_hopSizeRatio"   ),
 
  196     m_option_psdAtZero_display        (m_prefix + 
"psdAtZero_display"        ),
 
  197     m_option_psdAtZero_write          (m_prefix + 
"psdAtZero_write"          ),
 
  198     m_option_geweke_compute           (m_prefix + 
"geweke_compute"           ),
 
  199     m_option_geweke_naRatio           (m_prefix + 
"geweke_naRatio"           ),
 
  200     m_option_geweke_nbRatio           (m_prefix + 
"geweke_nbRatio"           ),
 
  201     m_option_geweke_display           (m_prefix + 
"geweke_display"           ),
 
  202     m_option_geweke_write             (m_prefix + 
"geweke_write"             ),
 
  203     m_option_meanStacc_compute        (m_prefix + 
"meanStacc_compute"        ),
 
  204     m_option_hist_compute             (m_prefix + 
"hist_compute"             ),
 
  205     m_option_hist_numInternalBins     (m_prefix + 
"hist_numInternalBins"     ),
 
  206     m_option_cdfStacc_compute         (m_prefix + 
"cdfStacc_compute"         ),
 
  207     m_option_cdfStacc_numEvalPositions(m_prefix + 
"cdfStacc_numEvalPositions"),
 
  209     m_option_autoCorr_computeViaDef   (m_prefix + 
"autoCorr_computeViaDef"   ),
 
  210     m_option_autoCorr_computeViaFft   (m_prefix + 
"autoCorr_computeViaFft"   ),
 
  211     m_option_autoCorr_secondLag       (m_prefix + 
"autoCorr_secondLag"       ),
 
  212     m_option_autoCorr_lagSpacing      (m_prefix + 
"autoCorr_lagSpacing"      ),
 
  213     m_option_autoCorr_numLags         (m_prefix + 
"autoCorr_numLags"         ),
 
  214     m_option_autoCorr_display         (m_prefix + 
"autoCorr_display"         ),
 
  215     m_option_autoCorr_write           (m_prefix + 
"autoCorr_write"           ),
 
  216     m_option_kde_compute              (m_prefix + 
"kde_compute"              ),
 
  217     m_option_kde_numEvalPositions     (m_prefix + 
"kde_numEvalPositions"     ),
 
  218     m_option_covMatrix_compute        (m_prefix + 
"covMatrix_compute"        ),
 
  219     m_option_corrMatrix_compute       (m_prefix + 
"corrMatrix_compute"       )
 
  221   (m_option_help,                                                                                                                    
"produce help message for chain statistical options"             )
 
  222   (m_option_initialDiscardedPortions,       boost::program_options::value<std::string >()->default_value(UQ_SEQUENCE_INITIAL_DISCARDED_PORTIONS_ODV      ), 
"list of initial discarded portions for chain statistics"        )
 
  223 #ifdef QUESO_COMPUTES_EXTRA_POST_PROCESSING_STATISTICS
 
  224   m_parser->registerOption(m_option_mean_monitorPeriod,             UQ_SEQUENCE_MEAN_MONITOR_PERIOD_ODV, 
"period for monitoring mean"                                     );
 
  225   m_parser->registerOption(m_option_bmm_run,                        UQ_SEQUENCE_BMM_RUN_ODV            , 
"compute variance of sample mean with batch means method"        );
 
  226   m_parser->registerOption<std::string>(m_option_bmm_lengths,                    UQ_SEQUENCE_BMM_LENGTHS_ODV        , 
"list of batch lenghts for BMM"                                  );
 
  227   m_parser->registerOption(m_option_fft_compute,                    UQ_SEQUENCE_FFT_COMPUTE_ODV        , 
"compute fft"                                                    );
 
  228   m_parser->registerOption(m_option_fft_paramId,                    UQ_SEQUENCE_FFT_PARAM_ID_ODV       , 
"parameter id for fft computations"                              );
 
  229   m_parser->registerOption(m_option_fft_size,                       UQ_SEQUENCE_FFT_SIZE_ODV           , 
"fft size"                                                       );
 
  230   m_parser->registerOption(m_option_fft_testInversion,              UQ_SEQUENCE_FFT_TEST_INVERSION_ODV , 
"test fft inversion"                                             );
 
  231   m_parser->registerOption(m_option_fft_write,                      UQ_SEQUENCE_FFT_WRITE_ODV          , 
"write fft"                                                      );
 
  232   m_parser->registerOption(m_option_psd_compute,                    UQ_SEQUENCE_PSD_COMPUTE_ODV        , 
"compute psd"                                                    );
 
  233   m_parser->registerOption(m_option_psd_numBlocks,                  UQ_SEQUENCE_PSD_NUM_BLOCKS_ODV     , 
"number of blocks for computation of psd"                        );
 
  234   m_parser->registerOption(m_option_psd_hopSizeRatio,               UQ_SEQUENCE_PSD_HOP_SIZE_RATIO_ODV , 
"hop size ratio for psd"                                         );
 
  235   m_parser->registerOption(m_option_psd_paramId,                    UQ_SEQUENCE_PSD_PARAM_ID_ODV       , 
"parameter id for psd computations"                              );
 
  236   m_parser->registerOption(m_option_psd_write,                      UQ_SEQUENCE_PSD_WRITE_ODV          , 
"write psd"                                                      );
 
  237   m_parser->registerOption(m_option_psdAtZero_compute,              UQ_SEQUENCE_PSD_AT_ZERO_COMPUTE_ODV, 
"compute power spectral densities"                               );
 
  238   m_parser->registerOption<std::string>(m_option_psdAtZero_numBlocks,            UQ_SEQUENCE_PSD_AT_ZERO_NUM_BLOCKS_ODV          , 
"list of numbers of blocks for computation of psd at zero"       );
 
  239   m_parser->registerOption(m_option_psdAtZero_hopSizeRatio,         UQ_SEQUENCE_PSD_AT_ZERO_HOP_SIZE_RATIO_ODV      , 
"hop size ratio for psd at zero"                                 );
 
  240   m_parser->registerOption(m_option_psdAtZero_display,              UQ_SEQUENCE_PSD_AT_ZERO_DISPLAY_ODV, 
"display computed psd at frequency zero on screen"               );
 
  241   m_parser->registerOption(m_option_psdAtZero_write,                UQ_SEQUENCE_PSD_AT_ZERO_WRITE_ODV  , 
"write computed psd at frequency zero to the output file"        );
 
  242   m_parser->registerOption(m_option_geweke_compute,                 UQ_SEQUENCE_GEWEKE_COMPUTE_ODV     , 
"compute Geweke coefficients"                                    );
 
  243   m_parser->registerOption(m_option_geweke_naRatio,                 UQ_SEQUENCE_GEWEKE_NA_RATIO_ODV    , 
"ratio NA for Geweke"                                            );
 
  244   m_parser->registerOption(m_option_geweke_nbRatio,                 UQ_SEQUENCE_GEWEKE_NB_RATIO_ODV    , 
"ratio NB for Geweke"                                            );
 
  245   m_parser->registerOption(m_option_geweke_display,                 UQ_SEQUENCE_GEWEKE_DISPLAY_ODV     , 
"display computed Geweke on screen"                              );
 
  246   m_parser->registerOption(m_option_geweke_write,                   UQ_SEQUENCE_GEWEKE_WRITE_ODV       , 
"write computed Geweke to the output file"                       );
 
  247   m_parser->registerOption(m_option_meanStacc_compute,              UQ_SEQUENCE_MEAN_STACC_COMPUTE_ODV , 
"compute statistical accuracy of mean"                           );
 
  248   m_parser->registerOption(m_option_hist_compute,                   UQ_SEQUENCE_HIST_COMPUTE_ODV       , 
"compute histograms"                                             );
 
  249   m_parser->registerOption(m_option_hist_numInternalBins,           UQ_SEQUENCE_HIST_NUM_INTERNAL_BINS_ODV          , 
"number of internal bins"                                        );
 
  250   m_parser->registerOption(m_option_cdfStacc_compute,               UQ_SEQUENCE_CDF_STACC_COMPUTE_ODV  , 
"compute statisical accuracy of cdf"                             );
 
  251   m_parser->registerOption(m_option_cdfStacc_numEvalPositions,      UQ_SEQUENCE_CDF_STACC_NUM_EVAL_POSITIONS_ODV    , 
"number of evaluations points for statistical accuracy of cdf"   );
 
  253   m_parser->registerOption(m_option_autoCorr_computeViaDef,         boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_AUTO_CORR_COMPUTE_VIA_DEF_ODV       ), 
"compute correlations via definition"                            )
 
  254   m_parser->registerOption(m_option_autoCorr_computeViaFft,         boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_AUTO_CORR_COMPUTE_VIA_FFT_ODV       ), 
"compute correlations via fft"                                   )
 
  255   m_parser->registerOption(m_option_autoCorr_secondLag,             boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_AUTO_CORR_SECOND_LAG_ODV            ), 
"second lag for computation of autocorrelations"                 )
 
  256   m_parser->registerOption(m_option_autoCorr_lagSpacing,            boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_AUTO_CORR_LAG_SPACING_ODV           ), 
"lag spacing for computation of autocorrelations"                )
 
  257   m_parser->registerOption(m_option_autoCorr_numLags,               boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_AUTO_CORR_NUM_LAGS_ODV              ), 
"number of lags for computation of autocorrelations"             )
 
  258   m_parser->registerOption(m_option_autoCorr_display,               boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_AUTO_CORR_DISPLAY_ODV               ), 
"display computed autocorrelations on the screen"                )
 
  259   m_parser->registerOption(m_option_autoCorr_write,                 boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_AUTO_CORR_WRITE_ODV                 ), 
"write computed autocorrelations to the output file"             )
 
  260   m_parser->registerOption(m_option_kde_compute,                    boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_KDE_COMPUTE_ODV                     ), 
"compute kernel density estimators"                              )
 
  261   m_parser->registerOption(m_option_kde_numEvalPositions,           boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_KDE_NUM_EVAL_POSITIONS_ODV          ), 
"number of evaluation positions"                                 )
 
  262   m_parser->registerOption(m_option_covMatrix_compute,              boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_COV_MATRIX_COMPUTE_ODV              ), 
"compute covariance matrix"                                      )
 
  263   m_parser->registerOption(m_option_corrMatrix_compute,             boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_CORR_MATRIX_COMPUTE_ODV             ), 
"compute correlation matrix"                                     )
 
  266 SsOptionsValues::~SsOptionsValues()
 
  270 SsOptionsValues::SsOptionsValues(
const SsOptionsValues& src)
 
  276 SsOptionsValues::operator=(
const SsOptionsValues& rhs)
 
  283 SsOptionsValues::defineOptions()
 
  285   (*m_optionsDescription).add_options()
 
  286     (m_option_help.c_str(),                                                                                                                    
"produce help message for chain statistical options"             )
 
  287     (m_option_initialDiscardedPortions.c_str(),       boost::program_options::value<std::string >()->default_value(UQ_SEQUENCE_INITIAL_DISCARDED_PORTIONS_ODV      ), 
"list of initial discarded portions for chain statistics"        )
 
  288 #ifdef QUESO_COMPUTES_EXTRA_POST_PROCESSING_STATISTICS
 
  289     (m_option_mean_monitorPeriod.c_str(),             boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_MEAN_MONITOR_PERIOD_ODV             ), 
"period for monitoring mean"                                     )
 
  290     (m_option_bmm_run.c_str(),                        boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_BMM_RUN_ODV                         ), 
"compute variance of sample mean with batch means method"        )
 
  291     (m_option_bmm_lengths.c_str(),                    boost::program_options::value<std::string >()->default_value(UQ_SEQUENCE_BMM_LENGTHS_ODV                     ), 
"list of batch lenghts for BMM"                                  )
 
  292     (m_option_fft_compute.c_str(),                    boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_FFT_COMPUTE_ODV                     ), 
"compute fft"                                                    )
 
  293     (m_option_fft_paramId.c_str(),                    boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_FFT_PARAM_ID_ODV                    ), 
"parameter id for fft computations"                              )
 
  294     (m_option_fft_size.c_str(),                       boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_FFT_SIZE_ODV                        ), 
"fft size"                                                       )
 
  295     (m_option_fft_testInversion.c_str(),              boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_FFT_TEST_INVERSION_ODV              ), 
"test fft inversion"                                             )
 
  296     (m_option_fft_write.c_str(),                      boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_FFT_WRITE_ODV                       ), 
"write fft"                                                      )
 
  297     (m_option_psd_compute.c_str(),                    boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_PSD_COMPUTE_ODV                     ), 
"compute psd"                                                    )
 
  298     (m_option_psd_numBlocks.c_str(),                  boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_PSD_NUM_BLOCKS_ODV                  ), 
"number of blocks for computation of psd"                        )
 
  299     (m_option_psd_hopSizeRatio.c_str(),               boost::program_options::value<double      >()->default_value(UQ_SEQUENCE_PSD_HOP_SIZE_RATIO_ODV              ), 
"hop size ratio for psd"                                         )
 
  300     (m_option_psd_paramId.c_str(),                    boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_PSD_PARAM_ID_ODV                    ), 
"parameter id for psd computations"                              )
 
  301     (m_option_psd_write.c_str(),                      boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_PSD_WRITE_ODV                       ), 
"write psd"                                                      )
 
  302     (m_option_psdAtZero_compute.c_str(),              boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_PSD_AT_ZERO_COMPUTE_ODV             ), 
"compute power spectral densities"                               )
 
  303     (m_option_psdAtZero_numBlocks.c_str(),            boost::program_options::value<std::string >()->default_value(UQ_SEQUENCE_PSD_AT_ZERO_NUM_BLOCKS_ODV          ), 
"list of numbers of blocks for computation of psd at zero"       )
 
  304     (m_option_psdAtZero_hopSizeRatio.c_str(),         boost::program_options::value<double      >()->default_value(UQ_SEQUENCE_PSD_AT_ZERO_HOP_SIZE_RATIO_ODV      ), 
"hop size ratio for psd at zero"                                 )
 
  305     (m_option_psdAtZero_display.c_str(),              boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_PSD_AT_ZERO_DISPLAY_ODV             ), 
"display computed psd at frequency zero on screen"               )
 
  306     (m_option_psdAtZero_write.c_str(),                boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_PSD_AT_ZERO_WRITE_ODV               ), 
"write computed psd at frequency zero to the output file"        )
 
  307     (m_option_geweke_compute.c_str(),                 boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_GEWEKE_COMPUTE_ODV                  ), 
"compute Geweke coefficients"                                    )
 
  308     (m_option_geweke_naRatio.c_str(),                 boost::program_options::value<double      >()->default_value(UQ_SEQUENCE_GEWEKE_NA_RATIO_ODV                 ), 
"ratio NA for Geweke"                                            )
 
  309     (m_option_geweke_nbRatio.c_str(),                 boost::program_options::value<double      >()->default_value(UQ_SEQUENCE_GEWEKE_NB_RATIO_ODV                 ), 
"ratio NB for Geweke"                                            )
 
  310     (m_option_geweke_display.c_str(),                 boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_GEWEKE_DISPLAY_ODV                  ), 
"display computed Geweke on screen"                              )
 
  311     (m_option_geweke_write.c_str(),                   boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_GEWEKE_WRITE_ODV                    ), 
"write computed Geweke to the output file"                       )
 
  312     (m_option_meanStacc_compute.c_str(),              boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_MEAN_STACC_COMPUTE_ODV              ), 
"compute statistical accuracy of mean"                           )
 
  313     (m_option_hist_compute.c_str(),                   boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_HIST_COMPUTE_ODV                    ), 
"compute histograms"                                             )
 
  314     (m_option_hist_numInternalBins.c_str(),           boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_HIST_NUM_INTERNAL_BINS_ODV          ), 
"number of internal bins"                                        )
 
  315     (m_option_cdfStacc_compute.c_str(),               boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_CDF_STACC_COMPUTE_ODV               ), 
"compute statisical accuracy of cdf"                             )
 
  316     (m_option_cdfStacc_numEvalPositions.c_str(),      boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_CDF_STACC_NUM_EVAL_POSITIONS_ODV    ), 
"number of evaluations points for statistical accuracy of cdf"   )
 
  318     (m_option_autoCorr_computeViaDef.c_str(),         boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_AUTO_CORR_COMPUTE_VIA_DEF_ODV       ), 
"compute correlations via definition"                            )
 
  319     (m_option_autoCorr_computeViaFft.c_str(),         boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_AUTO_CORR_COMPUTE_VIA_FFT_ODV       ), 
"compute correlations via fft"                                   )
 
  320     (m_option_autoCorr_secondLag.c_str(),             boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_AUTO_CORR_SECOND_LAG_ODV            ), 
"second lag for computation of autocorrelations"                 )
 
  321     (m_option_autoCorr_lagSpacing.c_str(),            boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_AUTO_CORR_LAG_SPACING_ODV           ), 
"lag spacing for computation of autocorrelations"                )
 
  322     (m_option_autoCorr_numLags.c_str(),               boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_AUTO_CORR_NUM_LAGS_ODV              ), 
"number of lags for computation of autocorrelations"             )
 
  323     (m_option_autoCorr_display.c_str(),               boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_AUTO_CORR_DISPLAY_ODV               ), 
"display computed autocorrelations on the screen"                )
 
  324     (m_option_autoCorr_write.c_str(),                 boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_AUTO_CORR_WRITE_ODV                 ), 
"write computed autocorrelations to the output file"             )
 
  325     (m_option_kde_compute.c_str(),                    boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_KDE_COMPUTE_ODV                     ), 
"compute kernel density estimators"                              )
 
  326     (m_option_kde_numEvalPositions.c_str(),           boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_KDE_NUM_EVAL_POSITIONS_ODV          ), 
"number of evaluation positions"                                 )
 
  327     (m_option_covMatrix_compute.c_str(),              boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_COV_MATRIX_COMPUTE_ODV              ), 
"compute covariance matrix"                                      )
 
  328     (m_option_corrMatrix_compute.c_str(),             boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_CORR_MATRIX_COMPUTE_ODV             ), 
"compute correlation matrix"                                     )
 
  333 SsOptionsValues::getOptionValues()
 
  335   if ((*m_optionsMap).count(m_option_help)) {
 
  336     if (m_env->subDisplayFile()) {
 
  337       *m_env->subDisplayFile() << (*m_optionsDescription)
 
  342   if ((*m_optionsMap).count(m_option_initialDiscardedPortions)) {
 
  343     m_initialDiscardedPortions.clear();
 
  344     std::vector<double> tmpPortions(0,0.);
 
  345     std::string inputString = (*m_optionsMap)[m_option_initialDiscardedPortions].as<std::string>();
 
  355     if (tmpPortions.size() > 0) {
 
  356       m_initialDiscardedPortions.resize(tmpPortions.size(),0.);
 
  357       for (
unsigned int i = 0; i < m_initialDiscardedPortions.size(); ++i) {
 
  358         m_initialDiscardedPortions[i] = tmpPortions[i];
 
  363 #ifdef QUESO_COMPUTES_EXTRA_POST_PROCESSING_STATISTICS 
  364   if ((*m_optionsMap).count(m_option_mean_monitorPeriod)) {
 
  365     m_meanMonitorPeriod = (*m_optionsMap)[m_option_mean_monitorPeriod].as<
unsigned int>();
 
  368   if ((*m_optionsMap).count(m_option_bmm_run)) {
 
  369     m_bmmRun = (*m_optionsMap)[m_option_bmm_run].as<
bool>();
 
  372   if ((*m_optionsMap).count(m_option_bmm_lengths)) {
 
  373     m_bmmLengths.clear();
 
  374     std::vector<double> tmpLengths(0,0.);
 
  375     std::string inputString = (*m_optionsMap)[m_option_bmm_lengths].as<std::string>();
 
  385     if (tmpLengths.size() > 0) {
 
  386       m_bmmLengths.resize(tmpLengths.size(),0);
 
  387       for (
unsigned int i = 0; i < m_bmmLengths.size(); ++i) {
 
  388         m_bmmLengths[i] = (
unsigned int) tmpLengths[i];
 
  393   if ((*m_optionsMap).count(m_option_fft_compute)) {
 
  394     m_fftCompute = (*m_optionsMap)[m_option_fft_compute].as<
bool>();
 
  397   if ((*m_optionsMap).count(m_option_fft_paramId)) {
 
  398     m_fftParamId = (*m_optionsMap)[m_option_fft_paramId].as<
unsigned int>();
 
  401   if ((*m_optionsMap).count(m_option_fft_size)) {
 
  402     m_fftSize = (*m_optionsMap)[m_option_fft_size].as<
unsigned int>();
 
  405   if ((*m_optionsMap).count(m_option_fft_testInversion)) {
 
  406     m_fftTestInversion = (*m_optionsMap)[m_option_fft_testInversion].as<
bool>();
 
  409   if ((*m_optionsMap).count(m_option_fft_write)) {
 
  410     m_fftWrite = (*m_optionsMap)[m_option_fft_write].as<
bool>();
 
  413   if ((*m_optionsMap).count(m_option_psd_compute)) {
 
  414     m_psdCompute = (*m_optionsMap)[m_option_psd_compute].as<
bool>();
 
  417   if ((*m_optionsMap).count(m_option_psd_numBlocks)) {
 
  418     m_psdNumBlocks = (*m_optionsMap)[m_option_psd_numBlocks].as<
unsigned int>();
 
  421   if ((*m_optionsMap).count(m_option_psd_hopSizeRatio)) {
 
  422     m_psdHopSizeRatio = (*m_optionsMap)[m_option_psd_hopSizeRatio].as<
double>();
 
  425   if ((*m_optionsMap).count(m_option_psd_paramId)) {
 
  426     m_psdParamId = (*m_optionsMap)[m_option_psd_paramId].as<
unsigned int>();
 
  429   if ((*m_optionsMap).count(m_option_psd_write)) {
 
  430     m_psdWrite = (*m_optionsMap)[m_option_psd_write].as<
bool>();
 
  433   if ((*m_optionsMap).count(m_option_psdAtZero_compute)) {
 
  434     m_psdAtZeroCompute = (*m_optionsMap)[m_option_psdAtZero_compute].as<
bool>();
 
  437   if ((*m_optionsMap).count(m_option_psdAtZero_numBlocks)) {
 
  438     m_psdAtZeroNumBlocks.clear();
 
  439     std::vector<double> tmpNumBlocks(0,0.);
 
  440     std::string inputString = (*m_optionsMap)[m_option_psdAtZero_numBlocks].as<std::string>();
 
  450     if (tmpNumBlocks.size() > 0) {
 
  451       m_psdAtZeroNumBlocks.resize(tmpNumBlocks.size(),0);
 
  452       for (
unsigned int i = 0; i < m_psdAtZeroNumBlocks.size(); ++i) {
 
  453         m_psdAtZeroNumBlocks[i] = (
unsigned int) tmpNumBlocks[i];
 
  458   if ((*m_optionsMap).count(m_option_psdAtZero_hopSizeRatio)) {
 
  459     m_psdAtZeroHopSizeRatio = (*m_optionsMap)[m_option_psdAtZero_hopSizeRatio].as<
double>();
 
  462   if ((*m_optionsMap).count(m_option_psdAtZero_display)) {
 
  463     m_psdAtZeroDisplay = (*m_optionsMap)[m_option_psdAtZero_display].as<
bool>();
 
  466   if ((*m_optionsMap).count(m_option_psdAtZero_write)) {
 
  467     m_psdAtZeroWrite = (*m_optionsMap)[m_option_psdAtZero_write].as<
bool>();
 
  470   if ((*m_optionsMap).count(m_option_geweke_compute)) {
 
  471     m_gewekeCompute = (*m_optionsMap)[m_option_geweke_compute].as<
bool>();
 
  474   if ((*m_optionsMap).count(m_option_geweke_naRatio)) {
 
  475     m_gewekeNaRatio = (*m_optionsMap)[m_option_geweke_naRatio].as<
double>();
 
  478   if ((*m_optionsMap).count(m_option_geweke_nbRatio)) {
 
  479     m_gewekeNbRatio = (*m_optionsMap)[m_option_geweke_nbRatio].as<
double>();
 
  482   if ((*m_optionsMap).count(m_option_geweke_display)) {
 
  483     m_gewekeDisplay = (*m_optionsMap)[m_option_geweke_display].as<
bool>();
 
  486   if ((*m_optionsMap).count(m_option_geweke_write)) {
 
  487     m_gewekeWrite = (*m_optionsMap)[m_option_geweke_write].as<
bool>();
 
  490   if ((*m_optionsMap).count(m_option_meanStacc_compute)) {
 
  491     m_meanStaccCompute = (*m_optionsMap)[m_option_meanStacc_compute].as<
bool>();
 
  494   if ((*m_optionsMap).count(m_option_hist_compute)) {
 
  495     m_histCompute = (*m_optionsMap)[m_option_hist_compute].as<
bool>();
 
  498   if ((*m_optionsMap).count(m_option_hist_numInternalBins)) {
 
  499     m_histNumInternalBins = (*m_optionsMap)[m_option_hist_numInternalBins].as<
unsigned int>();
 
  502   if ((*m_optionsMap).count(m_option_cdfStacc_compute)) {
 
  503     m_cdfStaccCompute = (*m_optionsMap)[m_option_cdfStacc_compute].as<
bool>();
 
  506   if ((*m_optionsMap).count(m_option_cdfStacc_numEvalPositions)) {
 
  507     m_cdfStaccNumEvalPositions = (*m_optionsMap)[m_option_cdfStacc_numEvalPositions].as<
unsigned int>();
 
  510   if ((*m_optionsMap).count(m_option_autoCorr_computeViaDef)) {
 
  511     m_autoCorrComputeViaDef = (*m_optionsMap)[m_option_autoCorr_computeViaDef].as<
bool>();
 
  514   if ((*m_optionsMap).count(m_option_autoCorr_computeViaFft)) {
 
  515     m_autoCorrComputeViaFft = (*m_optionsMap)[m_option_autoCorr_computeViaFft].as<
bool>();
 
  518   if ((*m_optionsMap).count(m_option_autoCorr_secondLag)) {
 
  519     m_autoCorrSecondLag = (*m_optionsMap)[m_option_autoCorr_secondLag].as<
unsigned int>();
 
  522   if ((*m_optionsMap).count(m_option_autoCorr_lagSpacing)) {
 
  523     m_autoCorrLagSpacing = (*m_optionsMap)[m_option_autoCorr_lagSpacing].as<
unsigned int>();
 
  526   if ((*m_optionsMap).count(m_option_autoCorr_numLags)) {
 
  527     m_autoCorrNumLags = (*m_optionsMap)[m_option_autoCorr_numLags].as<
unsigned int>();
 
  530   if ((*m_optionsMap).count(m_option_autoCorr_display)) {
 
  531     m_autoCorrDisplay = (*m_optionsMap)[m_option_autoCorr_display].as<
bool>();
 
  534   if ((*m_optionsMap).count(m_option_autoCorr_write)) {
 
  535     m_autoCorrWrite = (*m_optionsMap)[m_option_autoCorr_write].as<
bool>();
 
  538   if ((*m_optionsMap).count(m_option_kde_compute)) {
 
  539     m_kdeCompute = (*m_optionsMap)[m_option_kde_compute].as<
bool>();
 
  542   if ((*m_optionsMap).count(m_option_kde_numEvalPositions)) {
 
  543     m_kdeNumEvalPositions = (*m_optionsMap)[m_option_kde_numEvalPositions].as<
unsigned int>();
 
  546   if ((*m_optionsMap).count(m_option_covMatrix_compute)) {
 
  547     m_covMatrixCompute = (*m_optionsMap)[m_option_covMatrix_compute].as<
bool>();
 
  550   if ((*m_optionsMap).count(m_option_corrMatrix_compute)) {
 
  551     m_corrMatrixCompute = (*m_optionsMap)[m_option_corrMatrix_compute].as<
bool>();
 
  558   m_initialDiscardedPortions = src.m_initialDiscardedPortions;
 
  559 #ifdef QUESO_COMPUTES_EXTRA_POST_PROCESSING_STATISTICS 
  560   m_meanMonitorPeriod        = src.m_meanMonitorPeriod;
 
  561   m_bmmRun                   = src.m_bmmRun;
 
  562   m_bmmLengths               = src.m_bmmLengths;
 
  563   m_fftCompute               = src.m_fftCompute;
 
  564   m_fftParamId               = src.m_fftParamId;
 
  565   m_fftSize                  = src.m_fftSize;
 
  566   m_fftTestInversion         = src.m_fftTestInversion;
 
  567   m_fftWrite                 = src.m_fftWrite;
 
  568   m_psdCompute               = src.m_psdCompute;
 
  569   m_psdNumBlocks             = src.m_psdNumBlocks;
 
  570   m_psdHopSizeRatio          = src.m_psdHopSizeRatio;
 
  571   m_psdParamId               = src.m_psdParamId;
 
  572   m_psdWrite                 = src.m_psdWrite;
 
  573   m_psdAtZeroCompute         = src.m_psdAtZeroCompute;
 
  574   m_psdAtZeroNumBlocks       = src.m_psdAtZeroNumBlocks;
 
  575   m_psdAtZeroHopSizeRatio    = src.m_psdAtZeroHopSizeRatio;
 
  576   m_psdAtZeroDisplay         = src.m_psdAtZeroDisplay;
 
  577   m_psdAtZeroWrite           = src.m_psdAtZeroWrite;
 
  578   m_gewekeCompute            = src.m_gewekeCompute;
 
  579   m_gewekeNaRatio            = src.m_gewekeNaRatio;
 
  580   m_gewekeNbRatio            = src.m_gewekeNbRatio;
 
  581   m_gewekeDisplay            = src.m_gewekeDisplay;
 
  582   m_gewekeWrite              = src.m_gewekeWrite;
 
  583   m_meanStaccCompute         = src.m_meanStaccCompute;
 
  584   m_histCompute              = src.m_histCompute;
 
  585   m_histNumInternalBins      = src.m_histNumInternalBins;
 
  586   m_cdfStaccCompute          = src.m_cdfStaccCompute;
 
  587   m_cdfStaccNumEvalPositions = src.m_cdfStaccNumEvalPositions;
 
  589   m_autoCorrComputeViaDef    = src.m_autoCorrComputeViaDef;
 
  590   m_autoCorrComputeViaFft    = src.m_autoCorrComputeViaFft;
 
  591   m_autoCorrSecondLag        = src.m_autoCorrSecondLag;
 
  592   m_autoCorrLagSpacing       = src.m_autoCorrLagSpacing;
 
  593   m_autoCorrNumLags          = src.m_autoCorrNumLags;
 
  594   m_autoCorrDisplay          = src.m_autoCorrDisplay;
 
  595   m_autoCorrWrite            = src.m_autoCorrWrite;
 
  596   m_kdeCompute               = src.m_kdeCompute;
 
  597   m_kdeNumEvalPositions      = src.m_kdeNumEvalPositions;
 
  598   m_covMatrixCompute         = src.m_covMatrixCompute;
 
  599   m_corrMatrixCompute        = src.m_corrMatrixCompute;
 
  604 SequenceStatisticalOptions::SequenceStatisticalOptions( 
const BaseEnvironment& env, 
const std::string&            prefix)
 
  609   m_prefix                          ((std::string)(prefix) + 
"stats_"),
 
  611   m_optionsDesc                     (new boost::program_options::options_description(
"Chain statistical options")),
 
  612   m_option_help                     (m_prefix + 
"help"                     ),
 
  613   m_option_initialDiscardedPortions (m_prefix + 
"initialDiscardedPortions" ),
 
  614 #ifdef QUESO_COMPUTES_EXTRA_POST_PROCESSING_STATISTICS
 
  615   m_option_mean_monitorPeriod       (m_prefix + 
"mean_monitorPeriod"       ),
 
  616   m_option_bmm_run                  (m_prefix + 
"bmm_run"                  ),
 
  617   m_option_bmm_lengths              (m_prefix + 
"bmm_lengths"              ),
 
  618   m_option_bmm_display              (m_prefix + 
"bmm_display"              ),
 
  619   m_option_bmm_write                (m_prefix + 
"bmm_write"                ),
 
  620   m_option_fft_compute              (m_prefix + 
"fft_compute"              ),
 
  621   m_option_fft_paramId              (m_prefix + 
"fft_paramId"              ),
 
  622   m_option_fft_size                 (m_prefix + 
"fft_size"                 ),
 
  623   m_option_fft_testInversion        (m_prefix + 
"fft_testInversion"        ),
 
  624   m_option_fft_write                (m_prefix + 
"fft_write"                ),
 
  625   m_option_psd_compute              (m_prefix + 
"psd_compute"              ),
 
  626   m_option_psd_numBlocks            (m_prefix + 
"psd_numBlocks"            ),
 
  627   m_option_psd_hopSizeRatio         (m_prefix + 
"psd_hopSizeRatio"         ),
 
  628   m_option_psd_paramId              (m_prefix + 
"psd_paramId"              ),
 
  629   m_option_psd_write                (m_prefix + 
"psd_write"                ),
 
  630   m_option_psdAtZero_compute        (m_prefix + 
"psdAtZero_compute"        ),
 
  631   m_option_psdAtZero_numBlocks      (m_prefix + 
"psdAtZero_numBlocks"      ),
 
  632   m_option_psdAtZero_hopSizeRatio   (m_prefix + 
"psdAtZero_hopSizeRatio"   ),
 
  633   m_option_psdAtZero_display        (m_prefix + 
"psdAtZero_display"        ),
 
  634   m_option_psdAtZero_write          (m_prefix + 
"psdAtZero_write"          ),
 
  635   m_option_geweke_compute           (m_prefix + 
"geweke_compute"           ),
 
  636   m_option_geweke_naRatio           (m_prefix + 
"geweke_naRatio"           ),
 
  637   m_option_geweke_nbRatio           (m_prefix + 
"geweke_nbRatio"           ),
 
  638   m_option_geweke_display           (m_prefix + 
"geweke_display"           ),
 
  639   m_option_geweke_write             (m_prefix + 
"geweke_write"             ),
 
  640   m_option_meanStacc_compute        (m_prefix + 
"meanStacc_compute"        ),
 
  641   m_option_hist_compute             (m_prefix + 
"hist_compute"             ),
 
  642   m_option_hist_numInternalBins     (m_prefix + 
"hist_numInternalBins"     ),
 
  643   m_option_cdfStacc_compute         (m_prefix + 
"cdfStacc_compute"         ),
 
  644   m_option_cdfStacc_numEvalPositions(m_prefix + 
"cdfStacc_numEvalPositions"),
 
  646   m_option_autoCorr_computeViaDef   (m_prefix + 
"autoCorr_computeViaDef"   ),
 
  647   m_option_autoCorr_computeViaFft   (m_prefix + 
"autoCorr_computeViaFft"   ),
 
  648   m_option_autoCorr_secondLag       (m_prefix + 
"autoCorr_secondLag"       ),
 
  649   m_option_autoCorr_lagSpacing      (m_prefix + 
"autoCorr_lagSpacing"      ),
 
  650   m_option_autoCorr_numLags         (m_prefix + 
"autoCorr_numLags"         ),
 
  651   m_option_autoCorr_display         (m_prefix + 
"autoCorr_display"         ),
 
  652   m_option_autoCorr_write           (m_prefix + 
"autoCorr_write"           ),
 
  653   m_option_kde_compute              (m_prefix + 
"kde_compute"              ),
 
  654   m_option_kde_numEvalPositions     (m_prefix + 
"kde_numEvalPositions"     ),
 
  655   m_option_covMatrix_compute        (m_prefix + 
"covMatrix_compute"        ),
 
  656   m_option_corrMatrix_compute       (m_prefix + 
"corrMatrix_compute"       )
 
  662                             << 
", prefix = " << m_prefix
 
  668   defineMyOptions                (*m_optionsDesc);
 
  670   getMyOptionValues              (*m_optionsDesc);
 
  674                             << 
"', state of SequenceStatisticalOptions object is:" 
  681                             << 
", prefix = " << m_prefix
 
  686 SequenceStatisticalOptions::SequenceStatisticalOptions( 
const BaseEnvironment& env, 
const std::string&            prefix,
 
  689                                                     const SsOptionsValues& alternativeOptionsValues)
 
  691   m_ov                              (alternativeOptionsValues),
 
  692   m_prefix                          ((std::string)(prefix) + 
"stats_"),
 
  694   m_optionsDesc                     (NULL),
 
  695   m_option_help                     (m_prefix + 
"help"                     ),
 
  696   m_option_initialDiscardedPortions (m_prefix + 
"initialDiscardedPortions" ),
 
  697 #ifdef QUESO_COMPUTES_EXTRA_POST_PROCESSING_STATISTICS
 
  698   m_option_mean_monitorPeriod       (m_prefix + 
"mean_monitorPeriod"       ),
 
  699   m_option_bmm_run                  (m_prefix + 
"bmm_run"                  ),
 
  700   m_option_bmm_lengths              (m_prefix + 
"bmm_lengths"              ),
 
  701   m_option_bmm_display              (m_prefix + 
"bmm_display"              ),
 
  702   m_option_bmm_write                (m_prefix + 
"bmm_write"                ),
 
  703   m_option_fft_compute              (m_prefix + 
"fft_compute"              ),
 
  704   m_option_fft_paramId              (m_prefix + 
"fft_paramId"              ),
 
  705   m_option_fft_size                 (m_prefix + 
"fft_size"                 ),
 
  706   m_option_fft_testInversion        (m_prefix + 
"fft_testInversion"        ),
 
  707   m_option_fft_write                (m_prefix + 
"fft_write"                ),
 
  708   m_option_psd_compute              (m_prefix + 
"psd_compute"              ),
 
  709   m_option_psd_numBlocks            (m_prefix + 
"psd_numBlocks"            ),
 
  710   m_option_psd_hopSizeRatio         (m_prefix + 
"psd_hopSizeRatio"         ),
 
  711   m_option_psd_paramId              (m_prefix + 
"psd_paramId"              ),
 
  712   m_option_psd_write                (m_prefix + 
"psd_write"                ),
 
  713   m_option_psdAtZero_compute        (m_prefix + 
"psdAtZero_compute"        ),
 
  714   m_option_psdAtZero_numBlocks      (m_prefix + 
"psdAtZero_numBlocks"      ),
 
  715   m_option_psdAtZero_hopSizeRatio   (m_prefix + 
"psdAtZero_hopSizeRatio"   ),
 
  716   m_option_psdAtZero_display        (m_prefix + 
"psdAtZero_display"        ),
 
  717   m_option_psdAtZero_write          (m_prefix + 
"psdAtZero_write"          ),
 
  718   m_option_geweke_compute           (m_prefix + 
"geweke_compute"           ),
 
  719   m_option_geweke_naRatio           (m_prefix + 
"geweke_naRatio"           ),
 
  720   m_option_geweke_nbRatio           (m_prefix + 
"geweke_nbRatio"           ),
 
  721   m_option_geweke_display           (m_prefix + 
"geweke_display"           ),
 
  722   m_option_geweke_write             (m_prefix + 
"geweke_write"             ),
 
  723   m_option_meanStacc_compute        (m_prefix + 
"meanStacc_compute"        ),
 
  724   m_option_hist_compute             (m_prefix + 
"hist_compute"             ),
 
  725   m_option_hist_numInternalBins     (m_prefix + 
"hist_numInternalBins"     ),
 
  726   m_option_cdfStacc_compute         (m_prefix + 
"cdfStacc_compute"         ),
 
  727   m_option_cdfStacc_numEvalPositions(m_prefix + 
"cdfStacc_numEvalPositions"),
 
  729   m_option_autoCorr_computeViaDef   (m_prefix + 
"autoCorr_computeViaDef"   ),
 
  730   m_option_autoCorr_computeViaFft   (m_prefix + 
"autoCorr_computeViaFft"   ),
 
  731   m_option_autoCorr_secondLag       (m_prefix + 
"autoCorr_secondLag"       ),
 
  732   m_option_autoCorr_lagSpacing      (m_prefix + 
"autoCorr_lagSpacing"      ),
 
  733   m_option_autoCorr_numLags         (m_prefix + 
"autoCorr_numLags"         ),
 
  734   m_option_autoCorr_display         (m_prefix + 
"autoCorr_display"         ),
 
  735   m_option_autoCorr_write           (m_prefix + 
"autoCorr_write"           ),
 
  736   m_option_kde_compute              (m_prefix + 
"kde_compute"              ),
 
  737   m_option_kde_numEvalPositions     (m_prefix + 
"kde_numEvalPositions"     ),
 
  738   m_option_covMatrix_compute        (m_prefix + 
"covMatrix_compute"        ),
 
  739   m_option_corrMatrix_compute       (m_prefix + 
"corrMatrix_compute"       )
 
  745                             << 
", prefix = " << m_prefix
 
  753                             << 
"', state of SequenceStatisticalOptions object is:" 
  760                             << 
", prefix = " << m_prefix
 
  765 SequenceStatisticalOptions::~SequenceStatisticalOptions()
 
  769   if (m_optionsDesc) 
delete m_optionsDesc;
 
  773 SequenceStatisticalOptions::defineMyOptions(
 
  774   boost::program_options::options_description& optionsDesc)
 const 
  778   optionsDesc.add_options()
 
  779     (m_option_help.c_str(),                                                                                                                    
"produce help message for chain statistical options"             )
 
  780     (m_option_initialDiscardedPortions.c_str(),       boost::program_options::value<std::string >()->default_value(UQ_SEQUENCE_INITIAL_DISCARDED_PORTIONS_ODV      ), 
"list of initial discarded portions for chain statistics"        )
 
  781 #ifdef QUESO_COMPUTES_EXTRA_POST_PROCESSING_STATISTICS
 
  782     (m_option_mean_monitorPeriod.c_str(),             boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_MEAN_MONITOR_PERIOD_ODV             ), 
"period for monitoring mean"                                     )
 
  783     (m_option_bmm_run.c_str(),                        boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_BMM_RUN_ODV                         ), 
"compute variance of sample mean with batch means method"        )
 
  784     (m_option_bmm_lengths.c_str(),                    boost::program_options::value<std::string >()->default_value(UQ_SEQUENCE_BMM_LENGTHS_ODV                     ), 
"list of batch lenghts for BMM"                                  )
 
  785     (m_option_fft_compute.c_str(),                    boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_FFT_COMPUTE_ODV                     ), 
"compute fft"                                                    )
 
  786     (m_option_fft_paramId.c_str(),                    boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_FFT_PARAM_ID_ODV                    ), 
"parameter id for fft computations"                              )
 
  787     (m_option_fft_size.c_str(),                       boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_FFT_SIZE_ODV                        ), 
"fft size"                                                       )
 
  788     (m_option_fft_testInversion.c_str(),              boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_FFT_TEST_INVERSION_ODV              ), 
"test fft inversion"                                             )
 
  789     (m_option_fft_write.c_str(),                      boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_FFT_WRITE_ODV                       ), 
"write fft"                                                      )
 
  790     (m_option_psd_compute.c_str(),                    boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_PSD_COMPUTE_ODV                     ), 
"compute psd"                                                    )
 
  791     (m_option_psd_numBlocks.c_str(),                  boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_PSD_NUM_BLOCKS_ODV                  ), 
"number of blocks for computation of psd"                        )
 
  792     (m_option_psd_hopSizeRatio.c_str(),               boost::program_options::value<double      >()->default_value(UQ_SEQUENCE_PSD_HOP_SIZE_RATIO_ODV              ), 
"hop size ratio for psd"                                         )
 
  793     (m_option_psd_paramId.c_str(),                    boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_PSD_PARAM_ID_ODV                    ), 
"parameter id for psd computations"                              )
 
  794     (m_option_psd_write.c_str(),                      boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_PSD_WRITE_ODV                       ), 
"write psd"                                                      )
 
  795     (m_option_psdAtZero_compute.c_str(),              boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_PSD_AT_ZERO_COMPUTE_ODV             ), 
"compute power spectral densities"                               )
 
  796     (m_option_psdAtZero_numBlocks.c_str(),            boost::program_options::value<std::string >()->default_value(UQ_SEQUENCE_PSD_AT_ZERO_NUM_BLOCKS_ODV          ), 
"list of numbers of blocks for computation of psd at zero"       )
 
  797     (m_option_psdAtZero_hopSizeRatio.c_str(),         boost::program_options::value<double      >()->default_value(UQ_SEQUENCE_PSD_AT_ZERO_HOP_SIZE_RATIO_ODV      ), 
"hop size ratio for psd at zero"                                 )
 
  798     (m_option_psdAtZero_display.c_str(),              boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_PSD_AT_ZERO_DISPLAY_ODV             ), 
"display computed psd at frequency zero on screen"               )
 
  799     (m_option_psdAtZero_write.c_str(),                boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_PSD_AT_ZERO_WRITE_ODV               ), 
"write computed psd at frequency zero to the output file"        )
 
  800     (m_option_geweke_compute.c_str(),                 boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_GEWEKE_COMPUTE_ODV                  ), 
"compute Geweke coefficients"                                    )
 
  801     (m_option_geweke_naRatio.c_str(),                 boost::program_options::value<double      >()->default_value(UQ_SEQUENCE_GEWEKE_NA_RATIO_ODV                 ), 
"ratio NA for Geweke"                                            )
 
  802     (m_option_geweke_nbRatio.c_str(),                 boost::program_options::value<double      >()->default_value(UQ_SEQUENCE_GEWEKE_NB_RATIO_ODV                 ), 
"ratio NB for Geweke"                                            )
 
  803     (m_option_geweke_display.c_str(),                 boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_GEWEKE_DISPLAY_ODV                  ), 
"display computed Geweke on screen"                              )
 
  804     (m_option_geweke_write.c_str(),                   boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_GEWEKE_WRITE_ODV                    ), 
"write computed Geweke to the output file"                       )
 
  805     (m_option_meanStacc_compute.c_str(),              boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_MEAN_STACC_COMPUTE_ODV              ), 
"compute statistical accuracy of mean"                           )
 
  806     (m_option_hist_compute.c_str(),                   boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_HIST_COMPUTE_ODV                    ), 
"compute histograms"                                             )
 
  807     (m_option_hist_numInternalBins.c_str(),           boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_HIST_NUM_INTERNAL_BINS_ODV          ), 
"number of internal bins"                                        )
 
  808     (m_option_cdfStacc_compute.c_str(),               boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_CDF_STACC_COMPUTE_ODV               ), 
"compute statisical accuracy of cdf"                             )
 
  809     (m_option_cdfStacc_numEvalPositions.c_str(),      boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_CDF_STACC_NUM_EVAL_POSITIONS_ODV    ), 
"number of evaluations points for statistical accuracy of cdf"   )
 
  811     (m_option_autoCorr_computeViaDef.c_str(),         boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_AUTO_CORR_COMPUTE_VIA_DEF_ODV       ), 
"compute correlations via definition"                            )
 
  812     (m_option_autoCorr_computeViaFft.c_str(),         boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_AUTO_CORR_COMPUTE_VIA_FFT_ODV       ), 
"compute correlations via fft"                                   )
 
  813     (m_option_autoCorr_secondLag.c_str(),             boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_AUTO_CORR_SECOND_LAG_ODV            ), 
"second lag for computation of autocorrelations"                 )
 
  814     (m_option_autoCorr_lagSpacing.c_str(),            boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_AUTO_CORR_LAG_SPACING_ODV           ), 
"lag spacing for computation of autocorrelations"                )
 
  815     (m_option_autoCorr_numLags.c_str(),               boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_AUTO_CORR_NUM_LAGS_ODV              ), 
"number of lags for computation of autocorrelations"             )
 
  816     (m_option_autoCorr_display.c_str(),               boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_AUTO_CORR_DISPLAY_ODV               ), 
"display computed autocorrelations on the screen"                )
 
  817     (m_option_autoCorr_write.c_str(),                 boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_AUTO_CORR_WRITE_ODV                 ), 
"write computed autocorrelations to the output file"             )
 
  818     (m_option_kde_compute.c_str(),                    boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_KDE_COMPUTE_ODV                     ), 
"compute kernel density estimators"                              )
 
  819     (m_option_kde_numEvalPositions.c_str(),           boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_KDE_NUM_EVAL_POSITIONS_ODV          ), 
"number of evaluation positions"                                 )
 
  820     (m_option_covMatrix_compute.c_str(),              boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_COV_MATRIX_COMPUTE_ODV              ), 
"compute covariance matrix"                                      )
 
  821     (m_option_corrMatrix_compute.c_str(),             boost::program_options::value<bool        >()->default_value(UQ_SEQUENCE_CORR_MATRIX_COMPUTE_ODV             ), 
"compute correlation matrix"                                     )
 
  828 SequenceStatisticalOptions::getMyOptionValues(
 
  829   boost::program_options::options_description& optionsDesc)
 
  833   if (m_env.allOptionsMap().count(m_option_help)) {
 
  834     if (m_env.subDisplayFile()) {
 
  835       *m_env.subDisplayFile() << optionsDesc
 
  840   if (m_env.allOptionsMap().count(m_option_initialDiscardedPortions)) {
 
  841     m_ov.m_initialDiscardedPortions.clear();
 
  842     std::vector<double> tmpPortions(0,0.);
 
  843     std::string inputString = m_env.allOptionsMap()[m_option_initialDiscardedPortions].as<std::string>();
 
  853     if (tmpPortions.size() > 0) {
 
  854       m_ov.m_initialDiscardedPortions.resize(tmpPortions.size(),0.);
 
  855       for (
unsigned int i = 0; i < m_ov.m_initialDiscardedPortions.size(); ++i) {
 
  856         m_ov.m_initialDiscardedPortions[i] = tmpPortions[i];
 
  861 #ifdef QUESO_COMPUTES_EXTRA_POST_PROCESSING_STATISTICS 
  862   if (m_env.allOptionsMap().count(m_option_mean_monitorPeriod)) {
 
  863     m_ov.m_meanMonitorPeriod = m_env.allOptionsMap()[m_option_mean_monitorPeriod].as<
unsigned int>();
 
  866   if (m_env.allOptionsMap().count(m_option_bmm_run)) {
 
  867     m_ov.m_bmmRun = m_env.allOptionsMap()[m_option_bmm_run].as<
bool>();
 
  870   if (m_env.allOptionsMap().count(m_option_bmm_lengths)) {
 
  871     m_ov.m_bmmLengths.clear();
 
  872     std::vector<double> tmpLengths(0,0.);
 
  873     std::string inputString = m_env.allOptionsMap()[m_option_bmm_lengths].as<std::string>();
 
  883     if (tmpLengths.size() > 0) {
 
  884       m_ov.m_bmmLengths.resize(tmpLengths.size(),0);
 
  885       for (
unsigned int i = 0; i < m_ov.m_bmmLengths.size(); ++i) {
 
  886         m_ov.m_bmmLengths[i] = (
unsigned int) tmpLengths[i];
 
  891   if (m_env.allOptionsMap().count(m_option_fft_compute)) {
 
  892     m_ov.m_fftCompute = m_env.allOptionsMap()[m_option_fft_compute].as<
bool>();
 
  895   if (m_env.allOptionsMap().count(m_option_fft_paramId)) {
 
  896     m_ov.m_fftParamId = m_env.allOptionsMap()[m_option_fft_paramId].as<
unsigned int>();
 
  899   if (m_env.allOptionsMap().count(m_option_fft_size)) {
 
  900     m_ov.m_fftSize = m_env.allOptionsMap()[m_option_fft_size].as<
unsigned int>();
 
  903   if (m_env.allOptionsMap().count(m_option_fft_testInversion)) {
 
  904     m_ov.m_fftTestInversion = m_env.allOptionsMap()[m_option_fft_testInversion].as<
bool>();
 
  907   if (m_env.allOptionsMap().count(m_option_fft_write)) {
 
  908     m_ov.m_fftWrite = m_env.allOptionsMap()[m_option_fft_write].as<
bool>();
 
  911   if (m_env.allOptionsMap().count(m_option_psd_compute)) {
 
  912     m_ov.m_psdCompute = m_env.allOptionsMap()[m_option_psd_compute].as<
bool>();
 
  915   if (m_env.allOptionsMap().count(m_option_psd_numBlocks)) {
 
  916     m_ov.m_psdNumBlocks = m_env.allOptionsMap()[m_option_psd_numBlocks].as<
unsigned int>();
 
  919   if (m_env.allOptionsMap().count(m_option_psd_hopSizeRatio)) {
 
  920     m_ov.m_psdHopSizeRatio = m_env.allOptionsMap()[m_option_psd_hopSizeRatio].as<
double>();
 
  923   if (m_env.allOptionsMap().count(m_option_psd_paramId)) {
 
  924     m_ov.m_psdParamId = m_env.allOptionsMap()[m_option_psd_paramId].as<
unsigned int>();
 
  927   if (m_env.allOptionsMap().count(m_option_psd_write)) {
 
  928     m_ov.m_psdWrite = m_env.allOptionsMap()[m_option_psd_write].as<
bool>();
 
  931   if (m_env.allOptionsMap().count(m_option_psdAtZero_compute)) {
 
  932     m_ov.m_psdAtZeroCompute = m_env.allOptionsMap()[m_option_psdAtZero_compute].as<
bool>();
 
  935   if (m_env.allOptionsMap().count(m_option_psdAtZero_numBlocks)) {
 
  936     m_ov.m_psdAtZeroNumBlocks.clear();
 
  937     std::vector<double> tmpNumBlocks(0,0.);
 
  938     std::string inputString = m_env.allOptionsMap()[m_option_psdAtZero_numBlocks].as<std::string>();
 
  948     if (tmpNumBlocks.size() > 0) {
 
  949       m_ov.m_psdAtZeroNumBlocks.resize(tmpNumBlocks.size(),0);
 
  950       for (
unsigned int i = 0; i < m_ov.m_psdAtZeroNumBlocks.size(); ++i) {
 
  951         m_ov.m_psdAtZeroNumBlocks[i] = (
unsigned int) tmpNumBlocks[i];
 
  956   if (m_env.allOptionsMap().count(m_option_psdAtZero_hopSizeRatio)) {
 
  957     m_ov.m_psdAtZeroHopSizeRatio = m_env.allOptionsMap()[m_option_psdAtZero_hopSizeRatio].as<
double>();
 
  960   if (m_env.allOptionsMap().count(m_option_psdAtZero_display)) {
 
  961     m_ov.m_psdAtZeroDisplay = m_env.allOptionsMap()[m_option_psdAtZero_display].as<
bool>();
 
  964   if (m_env.allOptionsMap().count(m_option_psdAtZero_write)) {
 
  965     m_ov.m_psdAtZeroWrite = m_env.allOptionsMap()[m_option_psdAtZero_write].as<
bool>();
 
  968   if (m_env.allOptionsMap().count(m_option_geweke_compute)) {
 
  969     m_ov.m_gewekeCompute = m_env.allOptionsMap()[m_option_geweke_compute].as<
bool>();
 
  972   if (m_env.allOptionsMap().count(m_option_geweke_naRatio)) {
 
  973     m_ov.m_gewekeNaRatio = m_env.allOptionsMap()[m_option_geweke_naRatio].as<
double>();
 
  976   if (m_env.allOptionsMap().count(m_option_geweke_nbRatio)) {
 
  977     m_ov.m_gewekeNbRatio = m_env.allOptionsMap()[m_option_geweke_nbRatio].as<
double>();
 
  980   if (m_env.allOptionsMap().count(m_option_geweke_display)) {
 
  981     m_ov.m_gewekeDisplay = m_env.allOptionsMap()[m_option_geweke_display].as<
bool>();
 
  984   if (m_env.allOptionsMap().count(m_option_geweke_write)) {
 
  985     m_ov.m_gewekeWrite = m_env.allOptionsMap()[m_option_geweke_write].as<
bool>();
 
  988   if (m_env.allOptionsMap().count(m_option_meanStacc_compute)) {
 
  989     m_ov.m_meanStaccCompute = m_env.allOptionsMap()[m_option_meanStacc_compute].as<
bool>();
 
  992   if (m_env.allOptionsMap().count(m_option_hist_compute)) {
 
  993     m_ov.m_histCompute = m_env.allOptionsMap()[m_option_hist_compute].as<
bool>();
 
  996   if (m_env.allOptionsMap().count(m_option_hist_numInternalBins)) {
 
  997     m_ov.m_histNumInternalBins = m_env.allOptionsMap()[m_option_hist_numInternalBins].as<
unsigned int>();
 
 1000   if (m_env.allOptionsMap().count(m_option_cdfStacc_compute)) {
 
 1001     m_ov.m_cdfStaccCompute = m_env.allOptionsMap()[m_option_cdfStacc_compute].as<
bool>();
 
 1004   if (m_env.allOptionsMap().count(m_option_cdfStacc_numEvalPositions)) {
 
 1005     m_ov.m_cdfStaccNumEvalPositions = m_env.allOptionsMap()[m_option_cdfStacc_numEvalPositions].as<
unsigned int>();
 
 1008   if (m_env.allOptionsMap().count(m_option_autoCorr_computeViaDef)) {
 
 1009     m_ov.m_autoCorrComputeViaDef = m_env.allOptionsMap()[m_option_autoCorr_computeViaDef].as<
bool>();
 
 1012   if (m_env.allOptionsMap().count(m_option_autoCorr_computeViaFft)) {
 
 1013     m_ov.m_autoCorrComputeViaFft = m_env.allOptionsMap()[m_option_autoCorr_computeViaFft].as<
bool>();
 
 1016   if (m_env.allOptionsMap().count(m_option_autoCorr_secondLag)) {
 
 1017     m_ov.m_autoCorrSecondLag = m_env.allOptionsMap()[m_option_autoCorr_secondLag].as<
unsigned int>();
 
 1020   if (m_env.allOptionsMap().count(m_option_autoCorr_lagSpacing)) {
 
 1021     m_ov.m_autoCorrLagSpacing = m_env.allOptionsMap()[m_option_autoCorr_lagSpacing].as<
unsigned int>();
 
 1024   if (m_env.allOptionsMap().count(m_option_autoCorr_numLags)) {
 
 1025     m_ov.m_autoCorrNumLags = m_env.allOptionsMap()[m_option_autoCorr_numLags].as<
unsigned int>();
 
 1028   if (m_env.allOptionsMap().count(m_option_autoCorr_display)) {
 
 1029     m_ov.m_autoCorrDisplay = m_env.allOptionsMap()[m_option_autoCorr_display].as<
bool>();
 
 1032   if (m_env.allOptionsMap().count(m_option_autoCorr_write)) {
 
 1033     m_ov.m_autoCorrWrite = m_env.allOptionsMap()[m_option_autoCorr_write].as<
bool>();
 
 1036   if (m_env.allOptionsMap().count(m_option_kde_compute)) {
 
 1037     m_ov.m_kdeCompute = m_env.allOptionsMap()[m_option_kde_compute].as<
bool>();
 
 1040   if (m_env.allOptionsMap().count(m_option_kde_numEvalPositions)) {
 
 1041     m_ov.m_kdeNumEvalPositions = m_env.allOptionsMap()[m_option_kde_numEvalPositions].as<
unsigned int>();
 
 1044   if (m_env.allOptionsMap().count(m_option_covMatrix_compute)) {
 
 1045     m_ov.m_covMatrixCompute = m_env.allOptionsMap()[m_option_covMatrix_compute].as<
bool>();
 
 1048   if (m_env.allOptionsMap().count(m_option_corrMatrix_compute)) {
 
 1049     m_ov.m_corrMatrixCompute = m_env.allOptionsMap()[m_option_corrMatrix_compute].as<
bool>();
 
 1055 const std::vector<double>&
 
 1056 SequenceStatisticalOptions::initialDiscardedPortions()
 const 
 1060   return m_ov.m_initialDiscardedPortions;
 
 1063 #ifdef QUESO_COMPUTES_EXTRA_POST_PROCESSING_STATISTICS 
 1065 SequenceStatisticalOptions::meanMonitorPeriod()
 const 
 1069   return m_ov.m_meanMonitorPeriod;
 
 1073 SequenceStatisticalOptions::bmmRun()
 const 
 1077   return m_ov.m_bmmRun;
 
 1080 const std::vector<unsigned int>&
 
 1081 SequenceStatisticalOptions::bmmLengths()
 const 
 1085   return m_ov.m_bmmLengths;
 
 1089 SequenceStatisticalOptions::bmmDisplay()
 const 
 1093   return m_ov.m_bmmDisplay;
 
 1097 SequenceStatisticalOptions::bmmWrite()
 const 
 1101   return m_ov.m_bmmWrite;
 
 1105 SequenceStatisticalOptions::fftCompute()
 const 
 1109   return m_ov.m_fftCompute;
 
 1113 SequenceStatisticalOptions::fftParamId()
 const 
 1117   return m_ov.m_fftParamId;
 
 1121 SequenceStatisticalOptions::fftSize()
 const 
 1125   return m_ov.m_fftSize;
 
 1129 SequenceStatisticalOptions::fftTestInversion()
 const 
 1133   return m_ov.m_fftTestInversion;
 
 1137 SequenceStatisticalOptions::fftWrite()
 const 
 1141   return m_ov.m_fftWrite;
 
 1145 SequenceStatisticalOptions::psdCompute()
 const 
 1149   return m_ov.m_psdCompute;
 
 1153 SequenceStatisticalOptions::psdNumBlocks()
 const 
 1157   return m_ov.m_psdNumBlocks;
 
 1161 SequenceStatisticalOptions::psdHopSizeRatio()
 const 
 1165   return m_ov.m_psdHopSizeRatio;
 
 1169 SequenceStatisticalOptions::psdParamId()
 const 
 1173   return m_ov.m_psdParamId;
 
 1177 SequenceStatisticalOptions::psdWrite()
 const 
 1181   return m_ov.m_psdWrite;
 
 1185 SequenceStatisticalOptions::psdAtZeroCompute()
 const 
 1189   return m_ov.m_psdAtZeroCompute;
 
 1192 const std::vector<unsigned int>&
 
 1193 SequenceStatisticalOptions::psdAtZeroNumBlocks()
 const 
 1197   return m_ov.m_psdAtZeroNumBlocks;
 
 1201 SequenceStatisticalOptions::psdAtZeroHopSizeRatio()
 const 
 1205   return m_ov.m_psdAtZeroHopSizeRatio;
 
 1209 SequenceStatisticalOptions::psdAtZeroDisplay()
 const 
 1213   return m_ov.m_psdAtZeroDisplay;
 
 1217 SequenceStatisticalOptions::psdAtZeroWrite()
 const 
 1221   return m_ov.m_psdAtZeroWrite;
 
 1225 SequenceStatisticalOptions::gewekeCompute()
 const 
 1229   return m_ov.m_gewekeCompute;
 
 1233 SequenceStatisticalOptions::gewekeNaRatio()
 const 
 1237   return m_ov.m_gewekeNaRatio;
 
 1241 SequenceStatisticalOptions::gewekeNbRatio()
 const 
 1245   return m_ov.m_gewekeNbRatio;
 
 1249 SequenceStatisticalOptions::gewekeDisplay()
 const 
 1253   return m_ov.m_gewekeDisplay;
 
 1257 SequenceStatisticalOptions::gewekeWrite()
 const 
 1261   return m_ov.m_gewekeWrite;
 
 1265 SequenceStatisticalOptions::meanStaccCompute()
 const 
 1269   return m_ov.m_meanStaccCompute;
 
 1273 SequenceStatisticalOptions::histCompute()
 const 
 1277   return m_ov.m_histCompute;
 
 1281 SequenceStatisticalOptions::histNumInternalBins()
 const 
 1285   return m_ov.m_histNumInternalBins;
 
 1289 SequenceStatisticalOptions::cdfStaccCompute()
 const 
 1293   return m_ov.m_cdfStaccCompute;
 
 1297 SequenceStatisticalOptions::cdfStaccNumEvalPositions()
 const 
 1301   return m_ov.m_cdfStaccNumEvalPositions;
 
 1305 SequenceStatisticalOptions::autoCorrComputeViaDef()
 const 
 1309   return m_ov.m_autoCorrComputeViaDef;
 
 1313 SequenceStatisticalOptions::autoCorrComputeViaFft()
 const 
 1317   return m_ov.m_autoCorrComputeViaFft;
 
 1321 SequenceStatisticalOptions::autoCorrSecondLag()
 const 
 1325   return m_ov.m_autoCorrSecondLag;
 
 1329 SequenceStatisticalOptions::autoCorrLagSpacing()
 const 
 1333   return m_ov.m_autoCorrLagSpacing;
 
 1337 SequenceStatisticalOptions::autoCorrNumLags()
 const 
 1341   return m_ov.m_autoCorrNumLags;
 
 1345 SequenceStatisticalOptions::autoCorrDisplay()
 const 
 1349   return m_ov.m_autoCorrDisplay;
 
 1353 SequenceStatisticalOptions::autoCorrWrite()
 const 
 1357   return m_ov.m_autoCorrWrite;
 
 1361 SequenceStatisticalOptions::kdeCompute()
 const 
 1365   return m_ov.m_kdeCompute;
 
 1369 SequenceStatisticalOptions::kdeNumEvalPositions()
 const 
 1373   return m_ov.m_kdeNumEvalPositions;
 
 1377 SequenceStatisticalOptions::covMatrixCompute()
 const 
 1381   return m_ov.m_covMatrixCompute;
 
 1385 SequenceStatisticalOptions::corrMatrixCompute()
 const 
 1389   return m_ov.m_corrMatrixCompute;
 
 1393 SequenceStatisticalOptions::print(std::ostream& os)
 const 
 1397   os << 
"\n" << m_option_initialDiscardedPortions << 
" = ";
 
 1398   for (
unsigned int i = 0; i < m_ov.m_initialDiscardedPortions.size(); ++i) {
 
 1399     os << m_ov.m_initialDiscardedPortions[i] << 
" ";
 
 1402 #ifdef QUESO_COMPUTES_EXTRA_POST_PROCESSING_STATISTICS 
 1403      << 
"\n" << m_option_mean_monitorPeriod << 
" = " << m_ov.m_meanMonitorPeriod
 
 1404      << 
"\n" << m_option_bmm_run            << 
" = " << m_ov.m_bmmRun
 
 1405      << 
"\n" << m_option_bmm_lengths        << 
" = ";
 
 1406   for (
unsigned int i = 0; i < m_ov.m_bmmLengths.size(); ++i) {
 
 1407     os << m_ov.m_bmmLengths[i] << 
" ";
 
 1409   os << 
"\n" << m_option_fft_compute         << 
" = " << m_ov.m_fftCompute
 
 1410      << 
"\n" << m_option_fft_paramId         << 
" = " << m_ov.m_fftParamId
 
 1411      << 
"\n" << m_option_fft_size            << 
" = " << m_ov.m_fftSize
 
 1412      << 
"\n" << m_option_fft_testInversion   << 
" = " << m_ov.m_fftTestInversion
 
 1413      << 
"\n" << m_option_fft_write           << 
" = " << m_ov.m_fftWrite
 
 1414      << 
"\n" << m_option_psd_compute         << 
" = " << m_ov.m_psdCompute
 
 1415      << 
"\n" << m_option_psd_paramId         << 
" = " << m_ov.m_psdParamId
 
 1416      << 
"\n" << m_option_psd_numBlocks       << 
" = " << m_ov.m_psdNumBlocks
 
 1417      << 
"\n" << m_option_psd_hopSizeRatio    << 
" = " << m_ov.m_psdHopSizeRatio
 
 1418      << 
"\n" << m_option_psd_write           << 
" = " << m_ov.m_psdWrite
 
 1419      << 
"\n" << m_option_psdAtZero_compute   << 
" = " << m_ov.m_psdAtZeroCompute
 
 1420      << 
"\n" << m_option_psdAtZero_numBlocks << 
" = ";
 
 1421   for (
unsigned int i = 0; i < m_ov.m_psdAtZeroNumBlocks.size(); ++i) {
 
 1422     os << m_ov.m_psdAtZeroNumBlocks[i] << 
" ";
 
 1424   os << 
"\n" << m_option_psdAtZero_hopSizeRatio    << 
" = " << m_ov.m_psdAtZeroHopSizeRatio
 
 1425      << 
"\n" << m_option_psdAtZero_display         << 
" = " << m_ov.m_psdAtZeroDisplay
 
 1426      << 
"\n" << m_option_psdAtZero_write           << 
" = " << m_ov.m_psdAtZeroWrite
 
 1427      << 
"\n" << m_option_geweke_compute            << 
" = " << m_ov.m_gewekeCompute
 
 1428      << 
"\n" << m_option_geweke_naRatio            << 
" = " << m_ov.m_gewekeNaRatio
 
 1429      << 
"\n" << m_option_geweke_nbRatio            << 
" = " << m_ov.m_gewekeNbRatio
 
 1430      << 
"\n" << m_option_geweke_display            << 
" = " << m_ov.m_gewekeDisplay
 
 1431      << 
"\n" << m_option_geweke_write              << 
" = " << m_ov.m_gewekeWrite
 
 1432      << 
"\n" << m_option_meanStacc_compute         << 
" = " << m_ov.m_meanStaccCompute
 
 1433      << 
"\n" << m_option_hist_compute              << 
" = " << m_ov.m_histCompute
 
 1434      << 
"\n" << m_option_hist_numInternalBins      << 
" = " << m_ov.m_histNumInternalBins
 
 1435      << 
"\n" << m_option_cdfStacc_compute          << 
" = " << m_ov.m_cdfStaccCompute
 
 1436      << 
"\n" << m_option_cdfStacc_numEvalPositions << 
" = " << m_ov.m_cdfStaccNumEvalPositions
 
 1438      << 
"\n" << m_option_autoCorr_computeViaDef    << 
" = " << m_ov.m_autoCorrComputeViaDef
 
 1439      << 
"\n" << m_option_autoCorr_computeViaFft    << 
" = " << m_ov.m_autoCorrComputeViaFft
 
 1440      << 
"\n" << m_option_autoCorr_secondLag        << 
" = " << m_ov.m_autoCorrSecondLag
 
 1441      << 
"\n" << m_option_autoCorr_lagSpacing       << 
" = " << m_ov.m_autoCorrLagSpacing
 
 1442      << 
"\n" << m_option_autoCorr_numLags          << 
" = " << m_ov.m_autoCorrNumLags
 
 1443      << 
"\n" << m_option_autoCorr_display          << 
" = " << m_ov.m_autoCorrDisplay
 
 1444      << 
"\n" << m_option_autoCorr_write            << 
" = " << m_ov.m_autoCorrWrite
 
 1445      << 
"\n" << m_option_kde_compute               << 
" = " << m_ov.m_kdeCompute
 
 1446      << 
"\n" << m_option_kde_numEvalPositions      << 
" = " << m_ov.m_kdeNumEvalPositions
 
 1447      << 
"\n" << m_option_covMatrix_compute         << 
" = " << m_ov.m_covMatrixCompute
 
 1448      << 
"\n" << m_option_corrMatrix_compute        << 
" = " << m_ov.m_corrMatrixCompute
 
 1455 operator<<(std::ostream& os, 
const SequenceStatisticalOptions& obj)
 
 1466 #endif // ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS 
const BaseEnvironment & m_env
 
void scanInputFileForMyOptions(const boost::program_options::options_description &optionsDesc) const 
This method scans the input file provided by the user to QUESO. 
 
and that you are informed that you can do these things To protect your we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it For if you distribute copies of the whether gratis or for a you must give the recipients all the rights that we gave you You must make sure that receive or can get the source code If you link other code with the you must provide complete object files to the so that they can relink them with the library after making changes to the library and recompiling it And you must show them these terms so they know their rights We protect your rights with a two step which gives you legal permission to copy
 
#define queso_require_not_equal_to_msg(expr1, expr2, msg)
 
#define queso_deprecated()
 
#define queso_require_equal_to_msg(expr1, expr2, msg)
 
std::ostream & operator<<(std::ostream &os, const BaseEnvironment &obj)
 
std::string optionsInputFileName() const 
Access to the attribute m_optionsInputFileName, which stores the name of the input file passed by the...
 
std::ofstream * subDisplayFile() const 
Access function for m_subDisplayFile (displays file on stream). 
 
void MiscReadDoublesFromString(const std::string &inputString, std::vector< double > &outputDoubles)