Changeset 357 for applications/pmsm/pmsm_estim.cpp
- Timestamp:
- 06/08/09 02:15:30 (15 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
applications/pmsm/pmsm_estim.cpp
r342 r357 7 7 */ 8 8 9 #include "pmsm_ui.h" 10 #include "stat/loggers_ui.h" 11 #include "estim/KF_ui.h" 12 #include "stat/libDS_ui.h" 9 #include "user_info.h" 10 #include "stat/loggers.h" 13 11 14 12 using namespace bdm; … … 17 15 if ( argc>1 ) {fname = argv[1]; } 18 16 else { cout << "Missing configuration file.\n Usage: \n $> estimator config_file.cfg"<<endl; abort(); } 19 UI File F ( fname );17 UI_File F ( fname ); 20 18 21 logger* L ;22 DS * DS;19 logger* L = UI::build <logger>( F, "logger" ); 20 DS * pDS = UI::build<DS> ( F, "system" ); 23 21 Array<BM*> Es; // array of estimators 22 UI::get( Es, F, "estimator" ); 23 int nE = Es.length(); //number of estimators 24 24 int Ndat; //number of data records 25 int nE; //number of estimators 26 27 try { 28 UIbuild ( F.lookup ( "logger" ),L ); 29 UIbuild ( F.lookup ( "system" ),DS ); 30 F.lookupValue ( "experiment.ndat",Ndat ); 31 Setting& S=F.lookup ( "estimator" ); 32 nE = S.getLength(); 33 Es.set_size(nE); 34 for(int i=0;i<nE;i++){ 35 UIbuild (S[i] ,Es(i) ); 36 } 37 } 38 catch UICATCH; 39 40 DS->log_add ( *L ); 25 F.lookupValue ( "experiment.ndat",Ndat ); 26 27 pDS->log_add ( *L ); 41 28 string nic=""; 42 29 for (int i=0; i<nE; i++){ … … 45 32 L->init(); 46 33 47 vec dt=zeros ( DS->_drv()._dsize() ); //data variable34 vec dt=zeros ( pDS->_drv()._dsize() ); //data variable 48 35 Array<datalink*> Dls(nE); 49 36 for (int i=0; i<nE; i++){ 50 Dls(i)=new datalink( Es(i)->_drv(), DS->_drv() ); //datalink between a datasource and estimator37 Dls(i)=new datalink( Es(i)->_drv(),pDS->_drv() ); //datalink between a datasource and estimator 51 38 } 52 39 … … 54 41 for ( int tK=1;tK<Ndat;tK++ ) { 55 42 // Data Source 56 DS->step(); // simulator step57 DS->getdata ( dt ); // read data58 DS->logit ( *L );43 pDS->step(); // simulator step 44 pDS->getdata ( dt ); // read data 45 pDS->logit ( *L ); 59 46 60 47 // Estimators … … 71 58 72 59 delete L; 73 delete DS;60 delete pDS; 74 61 for (int i=0; i<nE; i++){ 75 62 delete Dls(i);