#include #include #include "nomdElements.h" typedElement nomdElements::fromImage(std::string s) { if( strstr(s.c_str(),"beam") ) return beam; else if( strstr(s.c_str(),"rfgun") ) return RFgun; else if( strstr(s.c_str(),"drift") ) return drift; else if( strstr(s.c_str(),"cell") ) return cell; else if( strstr(s.c_str(),"bend") ) return bend; else if( strstr(s.c_str(),"lens") ) return soleno; return inconnu; } typedElement nomdElements::fromLabel(std::string s) { if( s == "beam" ) return beam; else if( s == "rfgun" ) return RFgun; else if( s == "drift" ) return drift; else if( s == "cell" ) return cell; else if( s == "bend" ) return bend; else if( s == "solnd" ) return soleno; return inconnu; } std::string nomdElements::toName(typedElement eType) { switch(eType) { case beam : return "BEAM"; break; case RFgun : return "RF GUN"; break; case drift : return "DRIFT"; break; case cell : return "CELL"; break; case bend : return "BENDING MAGNET"; break; case soleno : return "SOLENOID"; break; default : return "UNKNOWN"; } } std::string nomdElements::toImage(typedElement eType) { switch(eType) { case beam : return string("icons/beam.jpg"); break; case RFgun : return string("icons/rfgun.jpg"); break; case drift : return string("icons/drift.jpg"); break; case cell : return string("icons/cell.jpg"); break; case bend : return string("icons/bend.jpg"); break; case soleno : return string("icons/lens.jpg"); break; default : return string(""); } } std::string nomdElements::toLabel(typedElement eType) { switch(eType) { case beam : return "beam"; case RFgun : return "rfgun"; case drift : return "drift"; case cell : return "cell"; case bend : return "bend"; case soleno : return "solnd"; default : return string(""); } } unsigned nomdElements::toNbParam(typedElement eType) { switch(eType) { case beam : return 7; case RFgun : return 6; case drift : return 2; case cell : return 9; case bend : return 5; case soleno : return 3; default : return 0; } } nomdElements::nomdElements() { e_= fromImage(""); eName_ = toName(e_); eImg_ = toImage(e_); eLabel_ = toLabel(e_); nbParam_ = toNbParam(e_); } nomdElements::nomdElements(nomdElements& ne) { e_= ne.e_; eName_ = ne.eName_; eImg_ = ne.eImg_; eLabel_ = ne.eLabel_; nbParam_ = ne.nbParam_; } nomdElements::nomdElements(const nomdElements& ne) { e_= ne.e_; eName_ = ne.eName_; eImg_ = ne.eImg_; eLabel_ = ne.eLabel_; nbParam_ = ne.nbParam_; } nomdElements::nomdElements(const std::string& s) { e_= fromImage(s); eName_ = toName(e_); eImg_ = toImage(e_); eLabel_ = toLabel(e_); nbParam_ = toNbParam(e_); } nomdElements::nomdElements(typedElement& eType) { e_= eType; eName_ = toName(e_); eImg_ = toImage(e_); eLabel_ = toLabel(e_); nbParam_ = toNbParam(e_); } int nomdElements::getNumberOfElements() { return inconnu; } std::string nomdElements::getImageFromType( typedElement tp) { return toImage(tp); } std::string nomdElements::getLabelFromType(typedElement tp) { return toLabel(tp); } typedElement nomdElements::getTypeFromLabel(std::string lb) { return fromLabel(lb); } typedElement nomdElements::getElementType() const { return e_; } std::string nomdElements::getElementName() const { return eName_; } std::string nomdElements::getElementImage() const { return eImg_; } std::string nomdElements::getElementLabel() const { return eLabel_; } unsigned nomdElements::getElementNbParameters() const { return nbParam_; } // operators nomdElements& nomdElements::operator= (const nomdElements& ne) { e_= ne.e_; eName_ = ne.eName_; eImg_ = ne.eImg_; eLabel_ = ne.eLabel_; nbParam_ = ne.nbParam_; }