[132] | 1 | |
---|
| 2 | #include <cstdlib> |
---|
| 3 | |
---|
[42] | 4 | #include "globalParameters.h" |
---|
| 5 | #include "mixedTools.h" |
---|
[488] | 6 | #include "AMLtools.h" |
---|
[42] | 7 | |
---|
| 8 | globalParameters::globalParameters() : parametersString_(NULL) |
---|
[132] | 9 | { |
---|
| 10 | setDefaultValues(); |
---|
| 11 | setDefaults(); |
---|
| 12 | nbParam_ = 4; |
---|
| 13 | parametersString_ = new string[nbParam_+1]; |
---|
| 14 | } |
---|
[42] | 15 | |
---|
[132] | 16 | string* globalParameters::getParametersString() const |
---|
| 17 | { |
---|
| 18 | parametersString_[0] = mixedTools::intToString(nbParam_); |
---|
| 19 | parametersString_[1] = mixedTools::doubleToString(frequency_); |
---|
| 20 | parametersString_[2] = mixedTools::doubleToString(integrationStep_); |
---|
| 21 | parametersString_[3] = mixedTools::intToString( nstepsMax_); |
---|
| 22 | parametersString_[4] = mixedTools::intToString( nsc_); |
---|
| 23 | return parametersString_; |
---|
| 24 | } |
---|
[42] | 25 | |
---|
[132] | 26 | void globalParameters::setParametersString(string* param) |
---|
| 27 | { |
---|
| 28 | if ( param == NULL ) |
---|
| 29 | { |
---|
| 30 | cerr << " globalParameters::setParametersString parameters empty parameter set"; |
---|
| 31 | return; |
---|
| 32 | } |
---|
| 33 | int nbparam = atoi(param[0].c_str()); |
---|
| 34 | if ( nbparam != 4 ) |
---|
| 35 | { |
---|
| 36 | cerr << " globalParameters::setParametersString parameters do not match for globalParameters"; |
---|
| 37 | return; |
---|
| 38 | } |
---|
| 39 | frequency_ = atof(param[1].c_str()); |
---|
| 40 | integrationStep_ = atof(param[2].c_str()); |
---|
| 41 | nstepsMax_ = atoi(param[3].c_str()); |
---|
| 42 | nsc_ = atoi(param[4].c_str()); |
---|
| 43 | } |
---|
[42] | 44 | |
---|
[488] | 45 | // string globalParameters::FileOutputFlow() const |
---|
| 46 | // { |
---|
| 47 | // ostringstream sortie; |
---|
| 48 | // sortie << " globals " << endl; |
---|
| 49 | // sortie << frequency_ << " " << integrationStep_ << " " << nstepsMax_ << " " << nsc_ << endl; |
---|
| 50 | // return sortie.str(); |
---|
| 51 | // } |
---|
[50] | 52 | |
---|
[488] | 53 | // void globalParameters::FileInput(ifstream& ifs) |
---|
| 54 | // { |
---|
| 55 | // ifs >> frequency_ >> integrationStep_ >> nstepsMax_ >> nsc_; |
---|
| 56 | // } |
---|
| 57 | |
---|
| 58 | |
---|
| 59 | |
---|
| 60 | void globalParameters::FileAMLInput(UAPNode* entree) |
---|
[50] | 61 | { |
---|
[488] | 62 | AMLtools::readAMLParameterAttribut(entree, "ref_freq", "design", frequency_); |
---|
| 63 | AMLtools::readAMLParameterAttribut(entree, "integrationStep", "value", integrationStep_); |
---|
| 64 | AMLtools::readAMLParameterAttribut(entree, "nSteps", "value", nstepsMax_); |
---|
| 65 | AMLtools::readAMLParameterAttribut(entree, "nsc", "value", nsc_); |
---|
| 66 | // cout << " PARAMETRES GLOBAUX : " << FileOutputFlow() << endl; |
---|
[50] | 67 | } |
---|
[424] | 68 | |
---|
[488] | 69 | |
---|
| 70 | |
---|
| 71 | |
---|
[424] | 72 | void globalParameters::InputRep(UAPNode* root) |
---|
| 73 | { |
---|
| 74 | UAPNode* node = root->addChild("global"); |
---|
| 75 | string txt = ""; |
---|
| 76 | txt = mixedTools::doubleToString(frequency_); |
---|
| 77 | node->addChild("ref_freq")->addAttribute("design",txt); |
---|
| 78 | |
---|
| 79 | node->addChild("comment")->addAttribute("text","data specific to Parmela"); |
---|
| 80 | txt = mixedTools::doubleToString(integrationStep_); |
---|
| 81 | node->addChild("integrationStep")->addAttribute("value",txt); |
---|
| 82 | txt = mixedTools::intToString(nstepsMax_); |
---|
| 83 | node->addChild("nSteps")->addAttribute("value",txt); |
---|
| 84 | txt = mixedTools::intToString(nsc_); |
---|
| 85 | node->addChild("nsc")->addAttribute("value",txt); |
---|
| 86 | } |
---|