#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 string parmelaOutputFlow() const; virtual string transportOutputFlow() const { ostringstream sortie; cout << " CELL sortie transport non programmee " << endl; return sortie.str(); } virtual string generatorOutputFlow() const; virtual string FileOutputFlow() const; virtual void FileInput(ifstream& ifs); /** return a string with all parameters and value */ string print(); }; #endif