#include #include "elementDrift.h" #include "mathematicalTools.h" #include "mixedTools.h" elementDrift::elementDrift() : abstractElement() { elementName_ = nomdElements("drift"); nbParam_ = elementName_.getElementNbParameters(); parametersString_ = new string[nbParam_+1]; parmelaOk_ = true; transportOk_ = true; // transportElementName_ = "*DRIFT*"; } string* elementDrift::getParametersString() const { parametersString_[0] = mixedTools::intToString(nbParam_); parametersString_[1] = mixedTools::doubleToString(lenghtElem_); parametersString_[2] = mixedTools::doubleToString(aperture_); return parametersString_; } void elementDrift::setParametersString(string* param) { if ( param == NULL ) { cerr << " elementDrift::setParametersString parameters empty parameter set"; return; } int nbparam = atoi(param[0].c_str()); if ( nbparam != nbParam_ ) { cerr << " elementDrift::setParametersString parameters do not match for a DRIFT"; return; } lenghtElem_ = atof(param[1].c_str()); aperture_ = atof(param[2].c_str()); } string elementDrift::parmelaOutputFlow() const { ostringstream sortie; sortie << "DRIFT /l=" << lenghtElem_ << " /aper=" << aperture_ << " /iout=1"; return sortie.str(); } string elementDrift::transportOutputFlow() const { ostringstream sortie; // longueur en m sortie << label_ << ":" << " DRIFT, L=" << 0.01*lenghtElem_ << ";"; return sortie.str(); } string elementDrift::FileOutputFlow() const { ostringstream sortie; // sortie << elementName_.getElementType() << endl; sortie << elementName_.getElementLabel() << endl; sortie << label_ << endl; sortie << lenghtElem_ << " " << aperture_ <> label_; ifs >> lenghtElem_ >> aperture_; }