////////////////////////////////////////////////////////////////////////
//
// $Id: StdOpts.h,v 1.4 2001/11/17 23:20:19 bviren Exp $
//
// StdOpts
//
// Package: elbo
//
// Parse a standard set of options used in various modules
//
// Contact: bv@bnl.gov
//
// Created on: Wed Nov 14 16:41:14 2001
//
////////////////////////////////////////////////////////////////////////

#ifndef STDOPTS_H
#define STDOPTS_H

#include "options.h"
#include "NuoscParam.h"

class StdOpts
{

public:

    NuoscParam nuosc_params;


    StdOpts(const char* user_msg = 0);
    StdOpts(int& argc, const char**& argv, const char* user_msg = 0);
    ~StdOpts();

    void parse_args(int& argc, const char**& argv);

    void Dump();

    Options* GetOptions() { return options; }

    bool use_log_energy;
    double min_energy;
    double max_energy;
    double energy_step;
    const char* input_filename;
    const char* output_filename;
    bool antineutrino;
    int verbose;
    
private:

    int usage(const char* msg);
    void zero();
    const char* user_msg;
    Options* options;

};                              // end of class StdOpts

#endif  // STDOPTS_H
