Changeset 424 in PSPA for Interface_Web/trunk/pspaWT/sources/controler/src/elementSoleno.cc
- Timestamp:
- Sep 30, 2013, 5:03:21 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Interface_Web/trunk/pspaWT/sources/controler/src/elementSoleno.cc
r418 r424 5 5 elementSoleno::elementSoleno() : abstractElement() 6 6 { 7 8 9 10 11 12 13 14 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); 15 15 } 16 16 17 void elementSoleno::setDefaultValues() 18 { 19 defaultSpecificName_ = "solnd"; 20 B0Def_ = 0.0; 21 varyB0Def_ = false; 22 } 17 23 18 void elementSoleno::setDefaultValues() 19 { 20 defaultSpecificName_ = "solnd"; 21 B0Def_ = 0.0; 22 varyB0Def_ = false; 24 void elementSoleno::setDefaults() 25 { 26 specificName_ = defaultSpecificName_; 27 B0_ = B0Def_; 28 varyB0_ = varyB0Def_; 29 } 30 31 string* 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; 23 44 } 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 } 50 47 51 48 void elementSoleno::setParametersString(string* param) 52 49 { 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 } 58 54 int compteur = -1; 59 55 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()); 70 65 } 71 66 … … 90 85 91 86 string elementSoleno::FileOutputFlow() const 92 93 94 95 96 97 98 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 } 100 95 101 96 … … 115 110 } 116 111 117 118 112 void elementSoleno::FileInput(ifstream& ifs) 119 113 { … … 122 116 } 123 117 118 string 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 } 124 132 125 string elementSoleno::print() { 126 string txt = ""; 133 void elementSoleno::InputRep(UAPNode* root) 134 { 135 UAPNode* ele = root->addChild("element"); 136 ele->addAttribute("name",specificName_); 127 137 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 } 139 159 }
Note: See TracChangeset
for help on using the changeset viewer.