#pragma once // Params.h: interface for the CParams class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_PARAMS_H__40D9A921_F329_11D5_B92E_0040F674BE6A__INCLUDED_) #define AFX_PARAMS_H__40D9A921_F329_11D5_B92E_0040F674BE6A__INCLUDED_ #ifdef _WIN32 #include "windows.h" #endif #include #include #include "InputParam.h" #define P(d) tmsg_info(" - %d -\n", d) template class CParams { public: std::vector m_params; double m_scale; CParams() : m_params(0), m_scale(1.0){}; CParams(const CParams &cp) : m_params(cp.m_params), m_scale(cp.m_scale){}; virtual ~CParams(){}; CParams(const CInputParam &ip) : m_scale(ip.m_scale) { if (ip.m_isEconf) { // read(ip.m_econfFN); } else { m_params.resize(1); m_params[0].read(ip); } } /* void print() { char s[1024]; int i; OutputDebugString("===== PARAMS =====\n"); sprintf(s,"Scale=%f\n",m_scale); OutputDebugString(s); i=0; for( vector::iterator p=m_params.begin(); p!=m_params.end(); ++p,++i ){ sprintf(s,"--- %d. Param ---\n",i); OutputDebugString(s); p->print(); } OutputDebugString("==================\n"); } */ /* void read(const basic_string& name) { basic_ifstream in(name.c_str()); for( bool isOK=true; isOK; ) { m_params.resize(m_params.size()+1); vector::iterator p=m_params.end(); p--; isOK=p->read(in); if ( !isOK ) m_params.resize(m_params.size()-1); } in.close(); } */ void scale(const double sc) { for (int i = 0; i < m_params.size(); ++i) m_params[i]->scale(sc); } void scale() { for (int i = 0; i < m_params.size(); ++i) m_params[i]->scale(m_scale); } }; #endif // !defined(AFX_PARAMS_H__40D9A921_F329_11D5_B92E_0040F674BE6A__INCLUDED_)