source: PSPA/Interface_Web/trunk/pspaWT/sources/controler/include/softwareParmela.h @ 418

Last change on this file since 418 was 418, checked in by lemeur, 11 years ago

definition des compatibilites des elements dans les software

File size: 1.7 KB
Line 
1#ifndef SOFTWAREPARMELA_SEEN
2#define SOFTWAREPARMELA_SEEN
3
4#include "abstractSoftware.h"
5
6class softwareParmela : public abstractSoftware
7{
8
9 protected : 
10
11
12 
13  //    les elements de parmela sont indexes à partir du premier, il faut
14  // donc prevoir un offset pour le raccord a pspa
15  //  unsigned offsetNumElem_;
16
17    vector<int> relativeParmelaElementIndices_;
18
19
20  bool beamFromParmela(string workingDir,unsigned numeroElement, double referencefrequency, vector<double>& centroid, bareParticle& refPart,vector<bareParticle>& particles );
21
22  bool beamToParmela(string workingDir, particleBeam* partic );
23  void setRelativeParmelaElementIndices();
24
25
26  string elementsData(const vector< pair<string, vector<string> > >& donnees) const ;
27
28  string rfgunData(const vector< pair<string, vector<string> > >& donnees) const;
29  string cellData(const vector< pair<string, vector<string> > >& donnees) const;
30  string driftData(const vector< pair<string, vector<string> > >& donnees) const;
31  string solenoData(const vector< pair<string, vector<string> > >& donnees) const;
32  string bendData(const vector< pair<string, vector<string> > >& donnees) const;
33
34
35 public : 
36    softwareParmela();
37   
38    softwareParmela(string inputFileName, globalParameters* globals, dataManager* beamLine);
39
40  virtual ~softwareParmela() {;}
41
42
43  virtual bool createInputFile(particleBeam* beamBefore, unsigned int numeroDeb, unsigned int numeroFin, string workingDir);
44
45  virtual bool  execute(string workingDir);
46
47
48virtual bool buildBeamAfterElements(string workingDir);
49
50    inline string getColor() {
51        return "#e09bdf";
52    }
53
54    /* inline string getName() const { */
55    /*     return "parmela"; */
56    /* } */
57
58};
59#endif
Note: See TracBrowser for help on using the repository browser.