diff --git a/src/frida2.cpp b/src/frida2.cpp index 8147d6d8d53a7210229b95fd7e5ea953c5634273..ea6ad8161def0985c42a850c021dfb023c6c6c19 100644 --- a/src/frida2.cpp +++ b/src/frida2.cpp @@ -46,411 +46,412 @@ int main() while(1) { - prompt = (FSel.n() ? FSel.str() : "?") + " > "; - cmd = wask(prompt.c_str()); - // cout << ".. understood [" << cmd << "]\n"; - - if (cmd[0]=='=') { - overwrite = 1; - cmd.erase(0,1); - if( cmd=="" ) continue; - } + try{ + prompt = (FSel.n() ? FSel.str() : "?") + " > "; + cmd = wask(prompt.c_str()); + // cout << ".. understood [" << cmd << "]\n"; + + if (cmd[0]=='=') { + overwrite = 1; + cmd.erase(0,1); + if( cmd=="" ) continue; + } - if (cmd=="-") { - SelPop(); - continue; - } - if (cmd.find_first_of("*0123456789")==0) { - FSelIn = CList(cmd, 0, MOM.size()-1); - if (!FSelIn.semvalid()) { - NRead::clear(); - } else { - SelNew(); - FSel = FSelIn; + if (cmd=="-") { + SelPop(); + continue; + } + if (cmd.find_first_of("*0123456789")==0) { + FSelIn = CList(cmd, 0, MOM.size()-1); + if (!FSelIn.semvalid()) { + NRead::clear(); + } else { + SelNew(); + FSel = FSelIn; + } + continue; } - continue; - } - if (cmd == "h" || cmd == "?") { - cout << "Commands by initial letter:\n" - " a add to plot\n" - " c curves and fits\n" - " d directory of online files\n" - " e edit coordinate names and more\n" - " g graphics setup\n" - " f file operations\n" - " m manipulations (reorganisation of data)\n" - " o operations (arithmetic operations on data)\n" - " p plot\n" - " r RSSM\n" - " t timing\n" - " x execute shell command\n" - " . evaluate expression(s)\n" - " _ special / temporary commands\n" - ; - - } else if (cmd == "c") { - cout << "Curves:\n" - " cc create\n" - " cf fit\n" - " ci extract parameter\n" - " cp print parameters\n" - " cx toggle fixed (also: cx+ cx-)\n" - " cyli weight y lin\n" - " cylg weight y log\n" - "Control fitting machinery:\n" - " csf set gradient step factor\n" - " cse set sqrt of differentiation step\n" - " csc set number of calls\n" - " csp set print frequency\n" - " csm set fit metric\n"; - } else if (cmd == "cc") { - Fitting.Create(); - } else if (cmd == "cf") { - Fitting.Fit(); - } else if (cmd == "ci") { - Fitting.GetPar(); - } else if (cmd == "cp") { - Fitting.ShowPar(); - } else if (cmd.substr(0,2) == "cx") { - Fitting.SetFixed(cmd.substr(2)); - } else if (cmd == "cyli") { - Fitting.SetProperties("yli"); - } else if (cmd == "cylg") { - Fitting.SetProperties("ylg"); - } else if (cmd.substr(0,2) == "cs") { - Fitting.SetSetup(cmd.substr(2)); - - - } else if ( cmd == "d" ) { - cout << "Show directory:\n" - " df on-line files\n" - " dz z-values\n" - " dp x|y-values\n" - " dy y-values\n" - " dn numeric parameters\n" - " dc coordinate names and units\n"; - } else if (cmd == "df") { - NEdif::Dir(); - } else if (cmd == "dz") { - NEdif::DirZ(); - } else if (cmd == "dp" ) { - NOperate::Show( "xy" ); - } else if (cmd == "dy" ) { - NOperate::Show( "y" ); - } else if (cmd == "dn" ) { - NEdif::DirNumpar(); - } else if (cmd == "dc") { - NEdif::DirCoord(); - - } else if ( cmd == "e" ) { - cout << "Edit text parameters:\n" - " en numeric parameters\n" - " ecx x coordinate name and unit (similarly ecy, ecz0, ..)\n" - " ed documentation lines\n"; - } else if (cmd == "en") { - NEdif::EditNumpar(); - } else if (cmd.substr(0,2) == "ec") { - NEdif::EditCoord( cmd.substr(2) ); - } else if (cmd == "ed") { - NEdif::EditDoc(); - - - } else if (cmd == "f") { - cout << "File operations:\n" - " fl load from disk\n" - " fs save to disk\n" - " fsa save to disk (old a01 format)\n" - " fe1 export (scan -> tab-separated line)\n" - " fe2 export (as tab)\n" - " fc copy\n" - " fdel delete\n" - " fm make\n" - " fr read in\n" - " ft read tab\n" - " ftt read multi block tab (blocks begin with z line, end with empty line)\n" - " fts read tab from script\n" - " ftts read multi block tab from script\n"; - } else if (cmd == "fl") { - NFile::Load(); - } else if (cmd == "fs") { - NEdif::Save( "y08" ); - } else if (cmd == "fsa") { - NEdif::Save( "a01" ); - } else if (cmd == "fe1") { - NEdif::Save( "csv" ); - } else if (cmd == "fe2") { - NEdif::Save( "tab" ); - } else if (cmd == "fc") { - OlfCopy(); - } else if (cmd == "fdel") { - OlfDel(); - } else if (cmd == "fm") { - NEdif::MakeGrid(); - } else if (cmd == "fr") { - NEdif::ReadIn(); - } else if (cmd == "ft") { - NEdif::ReadTab( false, false ); - } else if (cmd == "ftt") { - NEdif::ReadTab( true, false ); - } else if (cmd == "fts") { - NEdif::ReadTab( false, true ); - } else if (cmd == "ftts") { - NEdif::ReadTab( true, true ); - - - } else if (cmd == "g") { - cout << "Graphic commands:\n" - " gx set x range\n" - " gy set x range\n" - " ga, gxa, gya auto-ranges\n" - " gs set auxiliary parameters\n" - " gp plot to complete .ps file\n" - " gf plot to short .psX file\n" - " gd dialog (within gnuplot)\n" - " p plot\n" - " pp plot with new autoranges\n" - " a add to plot\n"; - } else if (cmd == "gx") { - NPlot::X.Ask("Set x range"); - } else if (cmd == "gy") { - NPlot::Y.Ask("Set y range"); - } else if (cmd == "ga") { - NPlot::X.R = CRange(1); - NPlot::Y.R = CRange(1); - } else if (cmd == "gxa") { - NPlot::X.R = CRange(1); - } else if (cmd == "gya") { - NPlot::Y.R = CRange(1); - } else if (cmd == "gs") { - NPlot::Multiask(); - } else if (cmd == "gp") { - NPlot::Save( true ); - } else if (cmd == "gf") { - NPlot::Save( false ); - } else if (cmd == "gd") { // graph dialog - NPlot::Dialog(); - } else if (cmd == "p") { - NEdif::Plot(0); - } else if (cmd == "pp") { - NPlot::X.R = CRange(1); - NPlot::Y.R = CRange(1); - NEdif::Plot(0); - } else if (cmd == "a") { - NEdif::Plot(1); - - - } else if (cmd == "m") { - cout << "Manipulations on the data structure:\n" - " md generic delete\n" - " mr generic retain\n" - " mpd points: delete\n" - " mpdb delete unless in block\n" - " mpa average\n" - " mpb break into scans\n" - " mpo sort\n" - " mpq average when x equal\n" - " mpgw group y2 according to y0, weighted with y1\n" - " msd scans: delete\n" - " msa average (msz preferred)\n" - " msg simplify -> grid\n" - " msb break into files\n" - " ms* spawn scans\n" - " msx z_max <-> x\n" - " msz z manipulation\n" - " mso sort\n" - " msoz sort by z-values\n" - " mzx exchange / rotate z coordinates\n" - " mz- delete z coordinate\n" - " mfj files: merge (\"join\")\n" - " mfjp files: merge pointwise\n" - " mhm histogram make\n"; - } else if (cmd == "md") { - NOperate::Select(1); - } else if (cmd == "mr") { - NOperate::Select(0); - } else if (cmd == "mpd") { - NManip::PtsDelete(); - } else if (cmd == "mpdb") { - NManip::PtsRetainEqui(); - } else if (cmd == "mpa") { - NManip::PtsAvge(); - } else if (cmd == "mpb") { - NManip::PtsBreak(); - } else if (cmd == "mpgw") { - NManip::PtsGroupWeighted(); - } else if (cmd == "mpo") { - NManip::PtsSort(); - } else if (cmd == "mpq") { - NManip::PtsAvgeEq(); - } else if (cmd == "msd") { - NManip::ScaDelete(); - } else if (cmd == "msa") { - NManip::ScaAvge(); - } else if (cmd == "msg") { - NManip::ScaGridSimplify(); - } else if (cmd == "msb") { - NManip::ScaBreak(); - } else if (cmd == "ms*") { - NManip::ScaSpawn(); - } else if (cmd == "msx") { - NManip::ScaExch(); - } else if (cmd == "mzx") { - NManip::ZExchange(); - } else if (cmd == "mz-") { - NManip::ZDelete(); - } else if (cmd == "msz") { - NManip::ScaZ(); - } else if (cmd == "mso") { - NManip::ScaSortByExpr(); - } else if (cmd == "msoz") { - NManip::ScaSortByZ(); - } else if (cmd == "mfj") { - NManip::FilMerge(); - } else if (cmd == "mfjp") { - NManip::FilMergePointwise(); - } else if (cmd == "mhm") { - NManip::HistoMake(); - - - } else if (cmd == "o") { - cout << "Operate:\n" - " ox on x\n" - " oy on y\n" - " oz0,... on z0,...\n" - " oz+,... add new z value\n" - " op0,... on p0,... (fit parameters)\n" - " of functional operation\n" - " oi integral operation through expression\n" - " oixy choose two columns, save them as x and y\n" - " oio integral operation through menu\n" - " oevv calculate eigenvalues and eigenvectors\n" - " occ calculate correlations (y vs y')\n" - " ocd differentiate correlations\n" - " oad average differences excluding values <0\n"; - } else if (cmd == "oz+") { - NOperate::NewZ(); - } else if (cmd[0]=='o' && strchr("xyz", cmd[1])) { - NOperate::Pointwise(cmd.substr(1)); - } else if (cmd.substr(0,2) == "op") { - Fitting.OprPar(cmd.substr(1)); - - } else if (cmd.substr(0,2) == "of") { - NFunctional::Opr(cmd.substr(1)); - } else if (cmd == "oi") { - NOperate::Integral(); - } else if (cmd == "oixy") { - NOperate::IntXY(); - } else if (cmd == "oio") { - NIntOld::Opr(); - } else if (cmd == "oevv") { - NOperate::Eigen(); - } else if (cmd == "occ") { - NOperate::CalcCorrel(); - } else if (cmd == "ocd") { - NOperate::CalcCorrelDiff(); - } else if (cmd == "oad") { - NOperate::CalcAvgeDiff(); - - - } else if (cmd == "t") { - double time_total = - ((double) (clock() - clock_start)) / CLOCKS_PER_SEC; - printf( "total time now %g\n", time_total ); - - } else if (cmd == "r") { - cout << "read RSSM data:\n" - " ry load energy spectra\n" - " ry2 load also spectra for open state\n" - " ry4 load also chopper histograms\n" - " ry8 load spectra for two directions separately\n" - " ryd load only spectra for two directions\n" - " rs load series of energy spectra\n" - " rs2 load also spectra for open state\n" - " rold list old-format commands\n"; - - } else if (cmd == "rold") { - cout << "read old/internal RSSM data files:\n" - " rx load energy spectra\n" - " rx2 load also spectra for open state\n" - " rx4 load also chopper histograms\n" - " rx8 load spectra for two directions separately\n" - " rxd load only spectra for two directions\n" - " rxs load series of energy spectra\n" - " rxs2 load also spectra for open state\n" - " rdc load dopp, chop from stream\n" - " rda analyse dopp\n" - " rca analyse chop\n" - " rstr load from stream\n" - " ra0 load from acquire v0\n" - " ra0t load from acquire v0, two directions separately\n" - " ra0d load from acquire v0, difference between two files\n" - " rc0 load chopper histogram from acquire v0\n" - " rc0d load chopper histogram difference\n" - " rx! old load from xml v0\n" - " rx!t old load from xml v0, two directions separately\n" - " rx0 load from xml v0\n" - " rx0t load from xml v0, two directions separately\n" - " rh load from Drochner histogram\n"; - - } else if (cmd == "ry") { - NRSSM::ReadScan( 5, 0 ); - } else if (cmd == "ry2") { - NRSSM::ReadScan( 5, 1 ); - } else if (cmd == "ry4") { - NRSSM::ReadScan( 5, 3 ); - } else if (cmd == "ry8") { - NRSSM::ReadScan( 5, 7 ); - } else if (cmd == "ryd") { - NRSSM::ReadScan( 5, 12 ); - } else if (cmd == "rs") { - NRSSM::ReadSeries( 5, 0 ); - } else if (cmd == "rs2") { - NRSSM::ReadSeries( 5, 1 ); - - } else if (cmd == "rx") { - NRSSM::ReadScan( 2, 0 ); - } else if (cmd == "rx2") { - NRSSM::ReadScan( 2, 1 ); - } else if (cmd == "rx4") { - NRSSM::ReadScan( 2, 3 ); - } else if (cmd == "rx8") { - NRSSM::ReadScan( 2, 7 ); - } else if (cmd == "rxd") { - NRSSM::ReadScan( 2, 12 ); - } else if (cmd == "rxx") { - NRSSM::ReadSeries( 2, 0 ); - } else if (cmd == "rxs2") { - NRSSM::ReadSeries( 2, 1 ); - - } else if (cmd == "rdc") { - NR_Stream::Stream2DoppChop(); - } else if (cmd == "rstr") { - NR_Stream::ReadStream(); - } else if (cmd == "ra0") { - NR_Temp::ReadAcq0( false, false ); - } else if (cmd == "ra0t") { - NR_Temp::ReadAcq0( false, true ); - } else if (cmd == "ra0d") { - NR_Temp::ReadAcq0( true, false ); - } else if (cmd == "rc0") { - NR_Temp::ReadCho0( false ); - } else if (cmd == "rc0d") { - NR_Temp::ReadCho0( true ); - } else if (cmd == "rx!") { - NR_Temp::ReadPreX0( false, false ); - } else if (cmd == "rx!t") { - NR_Temp::ReadPreX0( false, true ); - } else if (cmd == "rx0") { - NR_Temp::ReadPreX01( false ); - } else if (cmd == "rx0t") { - NR_Temp::ReadPreX01( true ); - } else if (cmd == "rda") { - NR_Temp::AnalyseDopp(); - } else if (cmd == "rca") { - NR_Temp::AnalyseChop(); - } else if (cmd == "rh") { - NR_Temp::ReadHisto(); + if (cmd == "h" || cmd == "?") { + cout << "Commands by initial letter:\n" + " a add to plot\n" + " c curves and fits\n" + " d directory of online files\n" + " e edit coordinate names and more\n" + " g graphics setup\n" + " f file operations\n" + " m manipulations (reorganisation of data)\n" + " o operations (arithmetic operations on data)\n" + " p plot\n" + " r RSSM\n" + " t timing\n" + " x execute shell command\n" + " . evaluate expression(s)\n" + " _ special / temporary commands\n" + ; + + } else if (cmd == "c") { + cout << "Curves:\n" + " cc create\n" + " cf fit\n" + " ci extract parameter\n" + " cp print parameters\n" + " cx toggle fixed (also: cx+ cx-)\n" + " cyli weight y lin\n" + " cylg weight y log\n" + "Control fitting machinery:\n" + " csf set gradient step factor\n" + " cse set sqrt of differentiation step\n" + " csc set number of calls\n" + " csp set print frequency\n" + " csm set fit metric\n"; + } else if (cmd == "cc") { + Fitting.Create(); + } else if (cmd == "cf") { + Fitting.Fit(); + } else if (cmd == "ci") { + Fitting.GetPar(); + } else if (cmd == "cp") { + Fitting.ShowPar(); + } else if (cmd.substr(0,2) == "cx") { + Fitting.SetFixed(cmd.substr(2)); + } else if (cmd == "cyli") { + Fitting.SetProperties("yli"); + } else if (cmd == "cylg") { + Fitting.SetProperties("ylg"); + } else if (cmd.substr(0,2) == "cs") { + Fitting.SetSetup(cmd.substr(2)); + + + } else if ( cmd == "d" ) { + cout << "Show directory:\n" + " df on-line files\n" + " dz z-values\n" + " dp x|y-values\n" + " dy y-values\n" + " dn numeric parameters\n" + " dc coordinate names and units\n"; + } else if (cmd == "df") { + NEdif::Dir(); + } else if (cmd == "dz") { + NEdif::DirZ(); + } else if (cmd == "dp" ) { + NOperate::Show( "xy" ); + } else if (cmd == "dy" ) { + NOperate::Show( "y" ); + } else if (cmd == "dn" ) { + NEdif::DirNumpar(); + } else if (cmd == "dc") { + NEdif::DirCoord(); + + } else if ( cmd == "e" ) { + cout << "Edit text parameters:\n" + " en numeric parameters\n" + " ecx x coordinate name and unit (similarly ecy, ecz0, ..)\n" + " ed documentation lines\n"; + } else if (cmd == "en") { + NEdif::EditNumpar(); + } else if (cmd.substr(0,2) == "ec") { + NEdif::EditCoord( cmd.substr(2) ); + } else if (cmd == "ed") { + NEdif::EditDoc(); + + + } else if (cmd == "f") { + cout << "File operations:\n" + " fl load from disk\n" + " fs save to disk\n" + " fsa save to disk (old a01 format)\n" + " fe1 export (scan -> tab-separated line)\n" + " fe2 export (as tab)\n" + " fc copy\n" + " fdel delete\n" + " fm make\n" + " fr read in\n" + " ft read tab\n" + " ftt read multi block tab (blocks begin with z line, end with empty line)\n" + " fts read tab from script\n" + " ftts read multi block tab from script\n"; + } else if (cmd == "fl") { + NFile::Load(); + } else if (cmd == "fs") { + NEdif::Save( "y08" ); + } else if (cmd == "fsa") { + NEdif::Save( "a01" ); + } else if (cmd == "fe1") { + NEdif::Save( "csv" ); + } else if (cmd == "fe2") { + NEdif::Save( "tab" ); + } else if (cmd == "fc") { + OlfCopy(); + } else if (cmd == "fdel") { + OlfDel(); + } else if (cmd == "fm") { + NEdif::MakeGrid(); + } else if (cmd == "fr") { + NEdif::ReadIn(); + } else if (cmd == "ft") { + NEdif::ReadTab( false, false ); + } else if (cmd == "ftt") { + NEdif::ReadTab( true, false ); + } else if (cmd == "fts") { + NEdif::ReadTab( false, true ); + } else if (cmd == "ftts") { + NEdif::ReadTab( true, true ); + + + } else if (cmd == "g") { + cout << "Graphic commands:\n" + " gx set x range\n" + " gy set x range\n" + " ga, gxa, gya auto-ranges\n" + " gs set auxiliary parameters\n" + " gp plot to complete .ps file\n" + " gf plot to short .psX file\n" + " gd dialog (within gnuplot)\n" + " p plot\n" + " pp plot with new autoranges\n" + " a add to plot\n"; + } else if (cmd == "gx") { + NPlot::X.Ask("Set x range"); + } else if (cmd == "gy") { + NPlot::Y.Ask("Set y range"); + } else if (cmd == "ga") { + NPlot::X.R = CRange(1); + NPlot::Y.R = CRange(1); + } else if (cmd == "gxa") { + NPlot::X.R = CRange(1); + } else if (cmd == "gya") { + NPlot::Y.R = CRange(1); + } else if (cmd == "gs") { + NPlot::Multiask(); + } else if (cmd == "gp") { + NPlot::Save( true ); + } else if (cmd == "gf") { + NPlot::Save( false ); + } else if (cmd == "gd") { // graph dialog + NPlot::Dialog(); + } else if (cmd == "p") { + NEdif::Plot(0); + } else if (cmd == "pp") { + NPlot::X.R = CRange(1); + NPlot::Y.R = CRange(1); + NEdif::Plot(0); + } else if (cmd == "a") { + NEdif::Plot(1); + + + } else if (cmd == "m") { + cout << "Manipulations on the data structure:\n" + " md generic delete\n" + " mr generic retain\n" + " mpd points: delete\n" + " mpdb delete unless in block\n" + " mpa average\n" + " mpb break into scans\n" + " mpo sort\n" + " mpq average when x equal\n" + " mpgw group y2 according to y0, weighted with y1\n" + " msd scans: delete\n" + " msa average (msz preferred)\n" + " msg simplify -> grid\n" + " msb break into files\n" + " ms* spawn scans\n" + " msx z_max <-> x\n" + " msz z manipulation\n" + " mso sort\n" + " msoz sort by z-values\n" + " mzx exchange / rotate z coordinates\n" + " mz- delete z coordinate\n" + " mfj files: merge (\"join\")\n" + " mfjp files: merge pointwise\n" + " mhm histogram make\n"; + } else if (cmd == "md") { + NOperate::Select(1); + } else if (cmd == "mr") { + NOperate::Select(0); + } else if (cmd == "mpd") { + NManip::PtsDelete(); + } else if (cmd == "mpdb") { + NManip::PtsRetainEqui(); + } else if (cmd == "mpa") { + NManip::PtsAvge(); + } else if (cmd == "mpb") { + NManip::PtsBreak(); + } else if (cmd == "mpgw") { + NManip::PtsGroupWeighted(); + } else if (cmd == "mpo") { + NManip::PtsSort(); + } else if (cmd == "mpq") { + NManip::PtsAvgeEq(); + } else if (cmd == "msd") { + NManip::ScaDelete(); + } else if (cmd == "msa") { + NManip::ScaAvge(); + } else if (cmd == "msg") { + NManip::ScaGridSimplify(); + } else if (cmd == "msb") { + NManip::ScaBreak(); + } else if (cmd == "ms*") { + NManip::ScaSpawn(); + } else if (cmd == "msx") { + NManip::ScaExch(); + } else if (cmd == "mzx") { + NManip::ZExchange(); + } else if (cmd == "mz-") { + NManip::ZDelete(); + } else if (cmd == "msz") { + NManip::ScaZ(); + } else if (cmd == "mso") { + NManip::ScaSortByExpr(); + } else if (cmd == "msoz") { + NManip::ScaSortByZ(); + } else if (cmd == "mfj") { + NManip::FilMerge(); + } else if (cmd == "mfjp") { + NManip::FilMergePointwise(); + } else if (cmd == "mhm") { + NManip::HistoMake(); + + + } else if (cmd == "o") { + cout << "Operate:\n" + " ox on x\n" + " oy on y\n" + " oz0,... on z0,...\n" + " oz+,... add new z value\n" + " op0,... on p0,... (fit parameters)\n" + " of functional operation\n" + " oi integral operation through expression\n" + " oixy choose two columns, save them as x and y\n" + " oio integral operation through menu\n" + " oevv calculate eigenvalues and eigenvectors\n" + " occ calculate correlations (y vs y')\n" + " ocd differentiate correlations\n" + " oad average differences excluding values <0\n"; + } else if (cmd == "oz+") { + NOperate::NewZ(); + } else if (cmd[0]=='o' && strchr("xyz", cmd[1])) { + NOperate::Pointwise(cmd.substr(1)); + } else if (cmd.substr(0,2) == "op") { + Fitting.OprPar(cmd.substr(1)); + + } else if (cmd.substr(0,2) == "of") { + NFunctional::Opr(cmd.substr(1)); + } else if (cmd == "oi") { + NOperate::Integral(); + } else if (cmd == "oixy") { + NOperate::IntXY(); + } else if (cmd == "oio") { + NIntOld::Opr(); + } else if (cmd == "oevv") { + NOperate::Eigen(); + } else if (cmd == "occ") { + NOperate::CalcCorrel(); + } else if (cmd == "ocd") { + NOperate::CalcCorrelDiff(); + } else if (cmd == "oad") { + NOperate::CalcAvgeDiff(); + + + } else if (cmd == "t") { + double time_total = + ((double) (clock() - clock_start)) / CLOCKS_PER_SEC; + printf( "total time now %g\n", time_total ); + + } else if (cmd == "r") { + cout << "read RSSM data:\n" + " ry load energy spectra\n" + " ry2 load also spectra for open state\n" + " ry4 load also chopper histograms\n" + " ry8 load spectra for two directions separately\n" + " ryd load only spectra for two directions\n" + " rs load series of energy spectra\n" + " rs2 load also spectra for open state\n" + " rold list old-format commands\n"; + + } else if (cmd == "rold") { + cout << "read old/internal RSSM data files:\n" + " rx load energy spectra\n" + " rx2 load also spectra for open state\n" + " rx4 load also chopper histograms\n" + " rx8 load spectra for two directions separately\n" + " rxd load only spectra for two directions\n" + " rxs load series of energy spectra\n" + " rxs2 load also spectra for open state\n" + " rdc load dopp, chop from stream\n" + " rda analyse dopp\n" + " rca analyse chop\n" + " rstr load from stream\n" + " ra0 load from acquire v0\n" + " ra0t load from acquire v0, two directions separately\n" + " ra0d load from acquire v0, difference between two files\n" + " rc0 load chopper histogram from acquire v0\n" + " rc0d load chopper histogram difference\n" + " rx! old load from xml v0\n" + " rx!t old load from xml v0, two directions separately\n" + " rx0 load from xml v0\n" + " rx0t load from xml v0, two directions separately\n" + " rh load from Drochner histogram\n"; + + } else if (cmd == "ry") { + NRSSM::ReadScan( 5, 0 ); + } else if (cmd == "ry2") { + NRSSM::ReadScan( 5, 1 ); + } else if (cmd == "ry4") { + NRSSM::ReadScan( 5, 3 ); + } else if (cmd == "ry8") { + NRSSM::ReadScan( 5, 7 ); + } else if (cmd == "ryd") { + NRSSM::ReadScan( 5, 12 ); + } else if (cmd == "rs") { + NRSSM::ReadSeries( 5, 0 ); + } else if (cmd == "rs2") { + NRSSM::ReadSeries( 5, 1 ); + + } else if (cmd == "rx") { + NRSSM::ReadScan( 2, 0 ); + } else if (cmd == "rx2") { + NRSSM::ReadScan( 2, 1 ); + } else if (cmd == "rx4") { + NRSSM::ReadScan( 2, 3 ); + } else if (cmd == "rx8") { + NRSSM::ReadScan( 2, 7 ); + } else if (cmd == "rxd") { + NRSSM::ReadScan( 2, 12 ); + } else if (cmd == "rxx") { + NRSSM::ReadSeries( 2, 0 ); + } else if (cmd == "rxs2") { + NRSSM::ReadSeries( 2, 1 ); + + } else if (cmd == "rdc") { + NR_Stream::Stream2DoppChop(); + } else if (cmd == "rstr") { + NR_Stream::ReadStream(); + } else if (cmd == "ra0") { + NR_Temp::ReadAcq0( false, false ); + } else if (cmd == "ra0t") { + NR_Temp::ReadAcq0( false, true ); + } else if (cmd == "ra0d") { + NR_Temp::ReadAcq0( true, false ); + } else if (cmd == "rc0") { + NR_Temp::ReadCho0( false ); + } else if (cmd == "rc0d") { + NR_Temp::ReadCho0( true ); + } else if (cmd == "rx!") { + NR_Temp::ReadPreX0( false, false ); + } else if (cmd == "rx!t") { + NR_Temp::ReadPreX0( false, true ); + } else if (cmd == "rx0") { + NR_Temp::ReadPreX01( false ); + } else if (cmd == "rx0t") { + NR_Temp::ReadPreX01( true ); + } else if (cmd == "rda") { + NR_Temp::AnalyseDopp(); + } else if (cmd == "rca") { + NR_Temp::AnalyseChop(); + } else if (cmd == "rh") { + NR_Temp::ReadHisto(); // } else if (cmd == "t") { @@ -482,41 +483,44 @@ int main() // OloAdd(&olf); - } else if (cmd == "x") { - string sh_cmd; - sh_cmd = sask("shell command"); - system( sh_cmd.c_str() ); + } else if (cmd == "x") { + string sh_cmd; + sh_cmd = sask("shell command"); + system( sh_cmd.c_str() ); - } else if (cmd == ".") { - NCalc::Calculator(); + } else if (cmd == ".") { + NCalc::Calculator(); - } else if (cmd == "_") { - cout << "Special programs\n" - "_fc cosine Fourier transform\n" - "_ps power spectrum\n" - "_as alefeld-schelten\n"; + } else if (cmd == "_") { + cout << "Special programs\n" + "_fc cosine Fourier transform\n" + "_ps power spectrum\n" + "_as alefeld-schelten\n"; -// } else if (cmd == "_ps") { -// NFFT::PowerSpectrum(); +// } else if (cmd == "_ps") { +// NFFT::PowerSpectrum(); - } else if (cmd == "_fc") { - NSpecial::FourierCosine(); + } else if (cmd == "_fc") { + NSpecial::FourierCosine(); - } else if (cmd == "_as") { - NSpecial::SimulateRssm(); + } else if (cmd == "_as") { + NSpecial::SimulateRssm(); - } else if ( cmd == "qui" || cmd=="quit" ) { - NPlot::Close(); - exit(0); + } else if ( cmd == "qui" || cmd=="quit" ) { + NPlot::Close(); + exit(0); - } else { - printf("! invalid command [%s]\n", cmd.c_str()); - mystd::bell(); - } + } else { + printf("! invalid command [%s]\n", cmd.c_str()); + mystd::bell(); + } - overwrite = 0; - } + overwrite = 0; + } catch( string& s ) { + cerr << s << endl; + } + } // endless loop }