#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 relativeParmelaElementIndices_; bool beamFromParmela(string workingDir,unsigned numeroElement, double referencefrequency, vector& centroid, bareParticle& refPart,vector& particles ); bool beamToParmela(string workingDir, particleBeam* partic ); void setRelativeParmelaElementIndices(); 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(string workingDir); virtual bool buildBeamAfterElements(string workingDir); inline string getColor() { return "#e09bdf"; } /* inline string getName() const { */ /* return "parmela"; */ /* } */ }; #endif