//   Match 2.0.1  -- aligns data series using dynamic programming
//   Copyright (C) 2001-2003  Lorraine E. Lisiecki and Philip A. Lisiecki 
//
//This program is free software; you can redistribute it and/or
//modify it under the terms of the GNU General Public License
//as published by the Free Software Foundation; version 2
//of the License.
//
//This program is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//GNU General Public License for more details.
//
//You should have received a copy of the GNU General Public License
//along with this program; if not, write to the Free Software
//Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
//02111-1307, USA.
//
//The original authors reserve the right to license this program or
//modified versions of this program under other licenses at our
//discretion.
//
//If you publish results generated by this software please cite
//Lisiecki, L. E. and P. A. Lisiecki, The application of dynamic
//  programming to the correlation of paleoclimate records, 
//  submitted to Paleoceanography, 2001
//
//Any questions regarding this license or the operation of this
//software may be directed to Lorraine Lisiecki
//<zogalum@alum.mit.edu>.

#include <string>
#include <iostream>
#include <vector>
#include "floatnan.hh"

namespace std {}
using namespace std;

class config {
public:
  float nomatch, spch, sppen, tiepen, tiepenT, st1, end1, cnt1;
  float st2, end2, cnt2, gap;
  float gapsize_multiplier;
  vector<floatnan> mean1, mean2, stddev1, stddev2;
  floatnan normst1, normst2, normend1, normend2;
  int (*speeds)[2]; 
  int targetspeed[2]; 
  int nspeeds;
  string tiefile, matchfile, logfile, matrixfile;
  vector<string> series1, series2;
  string s1gapfile, s2gapfile;
  

  config()
    :nomatch(.1),spch(.1),sppen(0),tiepen(20),tiepenT(0),
     st1(0),end1(0),cnt1(-1),
     st2(0),end2(0),cnt2(-1),gap(10),gapsize_multiplier(-1),
     speeds(0),nspeeds(0),
     matchfile("xmatch.new"),logfile("match.log"), matrixfile("") {
    targetspeed[0]=targetspeed[1]=1;
  }
  bool read(string file);
  void write(ostream &os);
};


