// file: $isip/class/pr/VerifyHMM/vhmm_00.cc
// version: $Id: vhmm_00.cc
//

// isip include files
//
#include "VerifyHMM.h"

//------------------------------------------------------------------------
//
// required public methods
//
//-----------------------------------------------------------------------

// method: destructor
//
// arguments: none
//
// return: none
//
// this is the default destructor
//
VerifyHMM::~VerifyHMM() {}

// method: default constructor
//
// arguments: none
//
// return: none
//
// this is the default constructor
//
VerifyHMM::VerifyHMM() {

  // initialize protected data
  //
  algorithm_d = DEF_ALGORITHM;
  implementation_d = DEF_IMPLEMENTATION;

  decision_thresholds_d.assign(DEF_DECISION_THRESHOLDS);
}

// method: copy constructor
//
// arguments: none
//
// return: none
//
// this is the copy constructor
//
VerifyHMM::VerifyHMM(const VerifyHMM& arg) {
  assign(arg);
}

//-----------------------------------------------------------------------------
//
// we define non-integral constants in the default constructor
//      
//-----------------------------------------------------------------------------

// constants: required constants such as class name
//
const String VerifyHMM::CLASS_NAME(L"VerifyHMM");

// constants: NameMap(s) for the enumerated values
//
const NameMap VerifyHMM::ALGO_MAP(L"VERIFY, TRAIN, MODEL_CREATION, INITIALIZE, MIXTURE_SPLITTING");
const NameMap VerifyHMM::IMPL_MAP(L"LIKELIHOOD_RATIO, BAUM_WELCH, GLOBAL, VARIANCE_SPLITTING, LIKELIHOOD");

// constants: i/o related constants
//
const String VerifyHMM::PARAM_IMPOSTER_LANGUAGE_MODEL(L"imposter_language_model");
const String VerifyHMM::PARAM_IMPOSTER_STATISTICAL_MODEL_POOL(L"imposter_statistical_model_pool");
const String VerifyHMM::PARAM_DECISION_THRESHOLDS(L"decision_thresholds");

// constants: default values
//
const String VerifyHMM::DEF_DECISION_THRESHOLDS(L"-100.0,0.0");

// static instantiations: memory manager
//
MemoryManager VerifyHMM::mgr_d(sizeof(VerifyHMM), VerifyHMM::CLASS_NAME);

