#ifndef RFGUNDEFINITION_SEEN #define RFGUNDEFINITION_SEEN #include #include #include #include "abstractElement.h" using namespace std; class elementRfgun : public abstractElement { // int nbParam_; // string* parametersString_; double defaultPhaseStep_; int defaultNmacrop_; double defaultSigma_t_; double defaultSigma_r_; double defaultEmit_x_; double defaultEmit_y_; double defaultE_cin_; double defaultSigma_E_; double defaultTotalCharge_; double phaseStep_; // a recuperer dans les parametres globaux (methode setPhaseStep) int nmacrop_; double sigma_t_; // picoseconds double sigma_r_; // cm double emit_x_; // pi.mm.mrad double emit_y_; // pi.mm.mrad double E_cin_; // MeV double sigma_E_; // MeV double totalCharge_; // nC void setDefaultValues(); void setDefaults(); public: elementRfgun(); ~elementRfgun() {;} virtual void setPhaseStep(double ph) { phaseStep_ = ph;} virtual string* getParametersString() const; virtual void setParametersString(string* param); virtual inline double getInitialKineticEnergy() const {return E_cin_;} virtual vector< pair > > parametersToSoftware () const; // virtual string parmelaOutputFlow() const; // virtual string transportOutputFlow() const // virtual string generatorOutputFlow() const; // virtual string FileOutputFlow() const; // virtual void FileInput(ifstream& ifs); virtual void InputRep(UAPNode* root); virtual void FileAMLInput(UAPNode* entree); /** return a string with all parameters and value */ string print(); }; #endif