#include #include "abstractElement.h" abstractElement::abstractElement() { label_ = string(""); setDefaultValues(); setDefaults(); stepmaxcm_ = 1000000; } abstractElement::abstractElement(string lab) { label_ = lab; setDefaultValues(); setDefaults(); stepmaxcm_ = 1000000; } abstractElement::~abstractElement() { if (parametersString_ != NULL) delete [] parametersString_ ; } void abstractElement::setDefaultValues() { defaultLength_ = 0.0; defaultAperture_ = 1.e+6; phaseStepMax_ = 10.; } void abstractElement::setDefaults() { label_ = ""; nbParam_ = 2; lenghtElem_ = defaultLength_; aperture_ = defaultAperture_; parmelaOk_ = false; transportOk_ = false; } void abstractElement::setPhaseStep(double) { cout << " setPhaseStep : ce n'est pas celui la qu'il faut ! " ; return; } void abstractElement::setParameters(double ll, double aper) { lenghtElem_ = ll; aperture_ = aper; } void abstractElement::setLabel(string lab) { label_= lab; } string abstractElement::getLabel() const { return label_; } // typedElement abstractElement::getName() const // { // return elementName_; // } nomdElements abstractElement::getName() const { return elementName_; } // string abstractElement::getNameOfElement() // { // switch(elementName_) { // case 0 : return "beam"; break; // case 1 : return "drift"; break; // case 2 : return "cell"; break; // case 3 : return "bend"; break; // case 4 : return "solnd"; break; // default : return ""; // } // } // // provisoire, pour suppleer une future classe nomdElement // // analogue a nomDeLogiciel // string abstractElement::getNameString() const // { // switch ( elementName_ ) // { // case RFgun : // { // return string("RF GUN"); // } // case drift : // { // return string("DRIFT"); // } // case cell : // { // return string("CELL"); // } // case soleno : // { // return string("SOLENO"); // } // case bend : // { // return string("BEND"); // } // default : // { // return string("UNKNOWN"); // } // } // } double abstractElement::getLenghtOfElement() const { return lenghtElem_; } int abstractElement::getNbParams() const { return nbParam_; } bool abstractElement::is_parmela_element() const { return parmelaOk_; } bool abstractElement::is_transport_element() const { return transportOk_; } double abstractElement::getInitialKineticEnergy() const { return 0.0; }