Ignore:
Timestamp:
Sep 30, 2013, 5:03:21 PM (11 years ago)
Author:
touze
Message:

sauvgarde de la configuration sur fichier format AML

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Interface_Web/trunk/pspaWT/sources/controler/src/elementSoleno.cc

    r418 r424  
    55elementSoleno::elementSoleno() :  abstractElement()
    66{
    7     cout << " passage constructeur elementSoleno " << endl;
    8     setDefaultValues();
    9     setDefaults();
    10     elementName_ = nomdElements("soleno");
    11     nbParam_ = elementName_.getElementNbParameters();
    12     parametersString_ = new string[nbParam_+1];
    13     // registerAcceptableSoftware(nomDeLogiciel::transport, TBoolOk);
    14     // registerAcceptableSoftware(nomDeLogiciel::parmela, TBoolOk);
     7  cout << " passage constructeur elementSoleno " << endl;
     8  setDefaultValues();
     9  setDefaults();
     10  elementName_ = nomdElements("soleno");
     11  nbParam_ = elementName_.getElementNbParameters();
     12  parametersString_ = new string[nbParam_+1];
     13  // registerAcceptableSoftware(nomDeLogiciel::transport, TBoolOk);
     14  // registerAcceptableSoftware(nomDeLogiciel::parmela, TBoolOk);
    1515}
    1616
     17void elementSoleno::setDefaultValues()
     18{
     19  defaultSpecificName_ = "solnd";
     20  B0Def_ = 0.0;
     21  varyB0Def_ = false;
     22}
    1723
    18   void elementSoleno::setDefaultValues()
    19   {
    20     defaultSpecificName_ = "solnd";
    21     B0Def_ = 0.0;
    22     varyB0Def_ = false;
     24void elementSoleno::setDefaults()
     25{
     26  specificName_ = defaultSpecificName_;
     27  B0_ = B0Def_;
     28  varyB0_ = varyB0Def_;
     29}
     30
     31string* elementSoleno::getParametersString() const
     32{
     33  cout << " passage elementSoleno::getParametersString() B0_= " << B0_ << endl;
     34  int compteur = -1;
     35  parametersString_[++compteur] = mixedTools::intToString(nbParam_);
     36  parametersString_[++compteur] = specificName_;
     37  parametersString_[++compteur] = mixedTools::doubleToString(lenghtElem_);
     38  parametersString_[++compteur] = mixedTools::doubleToString(aperture_);
     39  parametersString_[++compteur] = mixedTools::doubleToString(B0_);
     40  parametersString_[++compteur] = mixedTools::intToString(varyB0_);
     41  if ( compteur != nbParam_ ) {
     42    cerr << " elementSoleno::getParametersString() : ERROR nr pf parameters dosnt match " << endl;
     43    return NULL;
    2344  }
    24 
    25   void elementSoleno::setDefaults()
    26   {
    27     specificName_ = defaultSpecificName_;
    28     B0_ = B0Def_;
    29     varyB0_ = varyB0Def_;
    30   }
    31 
    32 
    33  string* elementSoleno::getParametersString() const
    34  {
    35    cout << " passage elementSoleno::getParametersString() B0_= " << B0_ << endl;
    36    int compteur = -1;
    37    parametersString_[++compteur] = mixedTools::intToString(nbParam_);
    38    parametersString_[++compteur] = specificName_;
    39    parametersString_[++compteur] = mixedTools::doubleToString(lenghtElem_);
    40    parametersString_[++compteur] = mixedTools::doubleToString(aperture_);
    41    parametersString_[++compteur] = mixedTools::doubleToString(B0_);
    42    parametersString_[++compteur] = mixedTools::intToString(varyB0_);
    43    if ( compteur != nbParam_ ) {
    44      cerr << " elementSoleno::getParametersString() : ERROR nr pf parameters dosnt match " << endl;
    45      return NULL;
    46    }
    47    return parametersString_;
    48  }
    49 
     45  return parametersString_;
     46}
    5047
    5148 void  elementSoleno::setParametersString(string* param)
    5249 {
    53         if ( param == NULL )
    54         {
    55           cerr << "  elementSoleno::setParametersString parameters empty parameter set";
    56           return;
    57         }
     50   if ( param == NULL ) {
     51     cerr << "  elementSoleno::setParametersString parameters empty parameter set";
     52     return;
     53   }
    5854   int compteur = -1;
    5955   int nbparam = atoi(param[++compteur].c_str());
    60     if ( nbparam != nbParam_ )
    61         {
    62           cerr << "  elementSoleno::setParametersString parameters do not match for a SOLENOID";
    63           return;
    64         }
    65   specificName_ = param[++compteur];
    66     lenghtElem_ = atof(param[++compteur].c_str());
    67     aperture_  = atof(param[++compteur].c_str());
    68     B0_ = atof(param[++compteur].c_str());
    69     varyB0_ = atoi(param[++compteur].c_str());
     56   if ( nbparam != nbParam_ ) {
     57     cerr << "  elementSoleno::setParametersString parameters do not match for a SOLENOID";
     58     return;
     59   }
     60   specificName_ = param[++compteur];
     61   lenghtElem_ = atof(param[++compteur].c_str());
     62   aperture_  = atof(param[++compteur].c_str());
     63   B0_ = atof(param[++compteur].c_str());
     64   varyB0_ = atoi(param[++compteur].c_str());
    7065 }
    7166
     
    9085
    9186string elementSoleno::FileOutputFlow() const
    92   {
    93     ostringstream sortie;
    94     //    sortie << elementName_.getElementType() << endl;
    95     sortie << elementName_.getGenericLabel() << endl;
    96     sortie  << specificName_ << endl;
    97     sortie << lenghtElem_ << "  " << aperture_<< " "  << B0_ << " " << varyB0_ << endl;
    98     return sortie.str();
    99   }
     87{
     88  ostringstream sortie;
     89  //    sortie << elementName_.getElementType() << endl;
     90  sortie << elementName_.getGenericLabel() << endl;
     91  sortie  << specificName_ << endl;
     92  sortie << lenghtElem_ << "  " << aperture_<< " "  << B0_ << " " << varyB0_ << endl;
     93  return sortie.str();
     94}
    10095
    10196
     
    115110}
    116111
    117 
    118112void elementSoleno::FileInput(ifstream& ifs)
    119113{
     
    122116}
    123117
     118string elementSoleno::print()
     119{
     120  string txt = "";
     121  txt += specificName_;
     122  txt += "\nlength (cm) : ";
     123  txt += mixedTools::doubleToString(lenghtElem_);
     124  txt += "\naperture (cm) : ";
     125  txt += mixedTools::doubleToString(aperture_);
     126  txt += "\nfield (kG) : ";
     127  txt += mixedTools::doubleToString(B0_);
     128  txt += "\n : may vary ? ";
     129  txt += mixedTools::boolToString(varyB0_); 
     130  return txt;
     131}
    124132
    125 string elementSoleno::print() {
    126     string txt = "";
     133void elementSoleno::InputRep(UAPNode* root)
     134{
     135  UAPNode* ele = root->addChild("element");
     136  ele->addAttribute("name",specificName_);
    127137
    128     txt += specificName_;
    129     txt += "\nlength (cm) : ";
    130     txt += mixedTools::doubleToString(lenghtElem_);
    131     txt += "\naperture (cm) : ";
    132     txt += mixedTools::doubleToString(aperture_);
    133     txt += "\nfield (kG) : ";
    134     txt += mixedTools::doubleToString(B0_);
    135     txt += "\n : may vary ? ";
    136     txt += mixedTools::boolToString(varyB0_);
    137    
    138     return txt;
     138  string txt = "";
     139  txt = mixedTools::doubleToString(lenghtElem_);
     140  ele->addChild("length")->addAttribute("design",txt);
     141
     142  // pour Parmela /aper : radius of aperture at exit (gap)
     143  UAPNode* node = ele->addChild("aperture");
     144  node->addAttribute("at","EXIT");
     145  node->addAttribute("shape","CIRCLE");
     146  txt = mixedTools::doubleToString(aperture_);
     147  node->addChild("xy_limit")->addAttribute("design",txt);
     148
     149  node = ele->addChild("solenoid");
     150  txt = mixedTools::doubleToString(B0_);
     151  node->addChild("ksol")->addAttribute("design",txt);
     152
     153  // faire varier ou pas l'induction pour l'ajuster
     154  if ( varyB0_ ) {
     155    node->addChild("vary")->addAttribute("is_on","true");
     156  } else {
     157    node->addChild("vary")->addAttribute("is_on","false");
     158  }
    139159}
Note: See TracChangeset for help on using the changeset viewer.