#ifndef SOFTWAREPARMELA_SEEN #define SOFTWAREPARMELA_SEEN #include "abstractSoftware.h" class softwareParmela : public abstractSoftware { protected : // les elements de parmela sont indexes à partir du premier, il faut // donc prevoir un offset pour le raccord a pspa unsigned offsetNumElem_; // vector relativeParmelaElementNumbers_; bool beamFromParmela(string workingDir,unsigned numeroElement, double referencefrequency, vector& centroid, bareParticle& refPart,vector& particles ); bool beamToParmela(string workingDir, particleBeam* partic ); public : softwareParmela(); softwareParmela(string inputFileName, globalParameters* globals, dataManager* beamLine); virtual ~softwareParmela() {;} virtual bool createInputFile(particleBeam* beamBefore, unsigned int numeroDeb, unsigned int numeroFin, string workingDir); virtual bool execute(unsigned int numeroDeb,unsigned int numeroFin,string workingDir); virtual bool buildBeamAfterElements(unsigned int numeroDeb,unsigned int numeroFin, vector& beams, string workingDir); inline string getColor() { return "#e09bdf"; } inline string getName() { return "parmela"; } }; #endif