diff options
| author | astrojhgu <astrojhgu@ed2142bd-67ad-457f-ba7c-d818d4011675> | 2011-01-20 17:32:15 +0000 | 
|---|---|---|
| committer | astrojhgu <astrojhgu@ed2142bd-67ad-457f-ba7c-d818d4011675> | 2011-01-20 17:32:15 +0000 | 
| commit | 50e769e8f1a5234c3ca3969088e407d3212e6ce3 (patch) | |
| tree | 9ed3e60b3b54bf03c5d8abc1d70a202a1c546db8 /models | |
| parent | 753815615b9a0f39cc19961c5388902ee3a63654 (diff) | |
| download | opt-utilities-50e769e8f1a5234c3ca3969088e407d3212e6ce3.tar.bz2 | |
git-svn-id: file:///home/svn/opt_utilities@165 ed2142bd-67ad-457f-ba7c-d818d4011675
Diffstat (limited to 'models')
| -rw-r--r-- | models/models.cc | 78 | ||||
| -rw-r--r-- | models/models.hpp | 12 | 
2 files changed, 10 insertions, 80 deletions
| diff --git a/models/models.cc b/models/models.cc index 6cb6536..551c33c 100644 --- a/models/models.cc +++ b/models/models.cc @@ -11,20 +11,14 @@  #include "pl1d.hpp"  #include "poly1d.hpp"  #include "bremss.hpp" -#include "beta2d2.hpp" -#include "beta2d.hpp" -#include "dbeta2d2.hpp" -#include "dbeta2d3.hpp" -#include "dbeta2d.hpp"  #include <iostream>  using namespace std;  namespace opt_utilities  { -  strmodel1d strm1d;    std::map<std::string,model<double,double,std::vector<double>,std::string>* > model_map; -  std::map<std::string,model<double,vecn<double,2>,std::vector<double>,std::string>* > model2d_map; +    std::list<std::string> get_model_name_list()    {      std::list<std::string> result; @@ -36,15 +30,17 @@ namespace opt_utilities  	return result;    } -  std::list<std::string> get_model2d_name_list() +  const char* get_model_name(int n)    { -    std::list<std::string> result; -    for(map<std::string,model<double,vecn<double,2>,std::vector<double>,std::string>* > ::iterator i=model2d_map.begin(); -	i!=model2d_map.end();++i) +    int cnt=0; +    for(std::map<std::string,model<double,double,std::vector<double>,std::string>* >::iterator i=model_map.begin(); +	i!=model_map.end();++i)        { -	result.push_back(i->first); +	if(cnt++==n) +	  { +	    return i->first.c_str(); +	  }        } -    return result;    }  model<double,double,std::vector<double>,std::string>& get_1dmodel_by_name(const char* name) @@ -58,32 +54,12 @@ model<double,double,std::vector<double>,std::string>& get_1dmodel_by_name(const      return *(iter->second);    } -  strmodel1d& get_strm1d() -  { -    return strm1d; -  } - -model<double,vecn<double,2>,std::vector<double>,std::string>& get_2dmodel_by_name(const char* name) -  { -    std::map<std::string,model<double,vecn<double,2>,std::vector<double>,std::string>* >::iterator iter; -    iter=model2d_map.find(name); -    if(iter==model2d_map.end()||iter->second==0) -      { -	throw opt_exception("model does not exist"); -      } -    return *(iter->second); -  }    int get_n_1dmodels()    {      return model_map.size();    } -  int get_n_2dmodels() -  { -    return model2d_map.size(); -  } -    class model_map_keeper_class    {    private: @@ -133,41 +109,5 @@ model<double,vecn<double,2>,std::vector<double>,std::string>& get_2dmodel_by_nam    }model_map_keeper; -  class model2d_map_keeper_class -  { -  private: -    void init_model_map() -    { -      model2d_map["beta2d"]=new beta2d<double>; -      model2d_map["beta2d2"]=new beta2d2<double>; -      model2d_map["dbeta2d"]=new dbeta2d<double>; -      model2d_map["dbeta2d2"]=new dbeta2d2<double>; -      model2d_map["dbeta2d3"]=new dbeta2d3<double>;   -    } -     -    void release_model_map() -    { -      for(std::map<std::string,model<double,vecn<double,2>,std::vector<double>,std::string>* >::iterator i=model2d_map.begin(); -	  i!=model2d_map.end();++i) -	{ -	  delete i->second; -	} -    } -  public: -    model2d_map_keeper_class() -    { -      init_model_map(); -      std::cerr<<"2d models Initialized"<<std::endl; -    } -     -    ~model2d_map_keeper_class() -    { -      release_model_map(); -      std::cerr<<"2d models Released"<<std::endl; -    } - -  }model2d_map_keeper; - -  } diff --git a/models/models.hpp b/models/models.hpp index b3bf762..76a8ecf 100644 --- a/models/models.hpp +++ b/models/models.hpp @@ -13,30 +13,20 @@  #include <string>  #include <list>  #include "vecn.hpp" -#include "strmodel1d.hpp"  namespace opt_utilities  {    extern std::map<std::string,model<double,double,std::vector<double>,std::string>* > model_map; -  extern std::map<std::string,model<double,vecn<double,2>,std::vector<double>,std::string >* > model2d_map; -  extern strmodel1d strm1d;    extern std::list<std::string> get_model_name_list();    extern int get_n_1dmodels();    //  extern void init_model_map();    //  extern void release_model_map(); -  extern std::list<std::string> get_model2d_name_list(); -  //  extern void init_model2d_map(); -  //  extern void release_model2d_map(); -  extern int get_n_2dmodels(); -      extern model<double,double,std::vector<double>,std::string >& get_1dmodel_by_name(const char*); -  extern  model<double,vecn<double,2>,std::vector<double>,std::string >& get_2dmodel_by_name(const char*); - -  extern strmodel1d& get_strm1d(); +  extern const char* get_model_name(int n);  } | 
