#include "elementSoleno.h" #include "mixedTools.h" elementSoleno::elementSoleno() : abstractElement() { cout << " passage constructeur elementSoleno " << endl; setDefaultValues(); setDefaults(); elementName_ = nomdElements("lens"); nbParam_ = elementName_.getElementNbParameters(); parametersString_ = new string[nbParam_+1]; transportOk_ = true; // transportElementName_ = "*SOLE*"; } void elementSoleno::setDefaultValues() { B0Def_ = 0.0; } void elementSoleno::setDefaults() { B0_ = B0Def_; } string* elementSoleno::getParametersString() const { cout << " passage elementSoleno::getParametersString() B0_= " << B0_ << endl; parametersString_[0] = mixedTools::intToString(nbParam_); parametersString_[1] = mixedTools::doubleToString(lenghtElem_); parametersString_[2] = mixedTools::doubleToString(aperture_); parametersString_[3] = mixedTools::doubleToString(B0_); return parametersString_; } void elementSoleno::setParametersString(string* param) { if ( param == NULL ) { cerr << " elementSoleno::setParametersString parameters empty parameter set"; return; } int nbparam = atoi(param[0].c_str()); if ( nbparam != nbParam_ ) { cerr << " elementSoleno::setParametersString parameters do not match for a SOLENOID"; return; } lenghtElem_ = atof(param[1].c_str()); aperture_ = atof(param[2].c_str()); B0_ = atof(param[3].c_str()); } string elementSoleno::parmelaOutputFlow() const { ostringstream sortie; cout << " SOLENO sortie parmela non programmee " << endl; return sortie.str(); } string elementSoleno::transportOutputFlow() const { ostringstream sortie; // on passe la longueur en metres sortie << label_ << ":" << " SOLENOID, L=" << 0.01*lenghtElem_ << ", B=" << B0_ << ";"; return sortie.str(); } string elementSoleno::FileOutputFlow() const { ostringstream sortie; // sortie << elementName_.getElementType() << endl; sortie << elementName_.getElementLabel() << endl; sortie << label_ << endl; sortie << lenghtElem_ << " " << aperture_<< " " << B0_ << endl; return sortie.str(); } void elementSoleno::FileInput(ifstream& ifs) { ifs >> label_; ifs >> lenghtElem_ >> aperture_ >> B0_; }