Changeset 38 in PSPA for Interface_Web/trunk/pspaWT/include


Ignore:
Timestamp:
Oct 26, 2012, 5:58:24 PM (12 years ago)
Author:
lemeur
Message:

premiere version pour la creation d'un input parmela

Location:
Interface_Web/trunk/pspaWT/include
Files:
8 added
11 edited

Legend:

Unmodified
Added
Removed
  • Interface_Web/trunk/pspaWT/include/LigneFaisceau.h

    r33 r38  
    2323
    2424  WHBoxLayout* beamLayout_;
    25   dataManager* dtmanage_;
     25  //  dataManager* dtmanage_;
     26  PspaApplication* pspa_;
    2627
    2728public:
     
    3031private:
    3132  void dropEvent(WDropEvent evt);
    32   void lancerCalcul();
    33   void openDriftParametersForm();
    34   PspaApplication* pspa_;
     33  //  void lancerCalcul();
     34  //  void openDriftParametersForm(int etiquette);
     35
     36
    3537};
    3638
  • Interface_Web/trunk/pspaWT/include/abstractElementDefinition.h

    r29 r38  
    55#include <sstream>
    66#include <string>
     7
    78
    89#include "mathematicalTools.h"
     
    1718 protected:
    1819
     20  double phaseStep_; // a recuperer dans les parametres globaux (methode setPhaseStep)
     21  double phaseStepMax_;
     22
     23  double defaultLength_;
     24  double defaultAperture_;
     25
     26
     27
    1928  string label_;
    2029  nomdElement elementName_;
     
    2231  double aperture_; // cm
    2332
    24   double stepmaxcm_;//  (cm)
     33  double stepmaxcm_;
     34  //  bool curvedTrajectory_;
    2535
    26   bool curvedTrajectory_;
     36  void setDefaultValues()
     37  {
     38      defaultLength_ = 0.0;
     39      defaultAperture_ = 1.e+6;
     40    phaseStep_ = 0.0;
     41    phaseStepMax_ = 10.;
     42  }
     43
     44
     45  void setDefaults()
     46  {
     47    lenghtElem_ = defaultLength_;
     48    aperture_ = defaultAperture_;
     49  }
     50
    2751 public :
    2852
    2953
    30  AbstractElementDefinition() : label_(string("")), lenghtElem_(0.0), aperture_(0.0), stepmaxcm_(1000000.), curvedTrajectory_(false) {;}
     54 AbstractElementDefinition()
     55    {
     56      label_ = string("");
     57      setDefaultValues();
     58      setDefaults();
     59      stepmaxcm_ = 1000000;
     60      //      curvedTrajectory_ = false;
     61    }
    3162
    3263
    33 AbstractElementDefinition(string lab, double ll, double ap)
     64  AbstractElementDefinition(string lab)
    3465    {
    3566      label_ = lab;
    36       lenghtElem_ = ll;
    37       aperture_ = ap;
    38       stepmaxcm_ = 1000000. ;
    39       curvedTrajectory_ = false;
     67      setDefaultValues();
     68      setDefaults();
     69      stepmaxcm_ = 1000000;
     70      //      curvedTrajectory_ = false;
    4071    }
    4172
    4273virtual  ~AbstractElementDefinition() {;}
     74
     75  void setPhaseStep(double ph) { phaseStep_ = ph;}
     76
     77
     78 void setParameters(double ll, double aper)
     79  {
     80    lenghtElem_ = ll;
     81    aperture_ = aper;
     82  }
     83
     84 virtual void setParametersString(string* param)  = 0;
    4385
    4486string getLabel() const
     
    5395  }
    5496
    55   double getStepMaxcm() const
    56   {
    57     return stepmaxcm_;
    58   }
    5997
    6098 double getLenghtOfElement() const { return lenghtElem_;}
    6199
    62  //  double setLenght(double xl) { lenghtElem_ = xl;}
     100 virtual string* getParametersString() const = 0;
    63101
    64102
    65103 virtual string parmelaOutputFlow() const =0;
    66104
     105 virtual double getInitialKineticEnergy() const {return 0.0;}
    67106
    68107};
  • Interface_Web/trunk/pspaWT/include/bendDefinition.h

    r29 r38  
    2424 BendDefinition()  : AbstractElementDefinition() {elementName_ = bend;}
    2525
    26  BendDefinition(string lab, double ll, double ap, double WrMeV, double alphaRad) ;
     26 BendDefinition(string lab) ;
    2727
    2828
  • Interface_Web/trunk/pspaWT/include/cellDefinition.h

    r31 r38  
    7474}
    7575
    76   CellDefinition(string lab, double ll, double ap, double freq, double E0, int nc, double stepmax_cm, int symIndex, double sinphi, double cosphi, double Baxial, carteChamp* carte );
     76  CellDefinition(string lab);
    7777
    7878
  • Interface_Web/trunk/pspaWT/include/dataManager.h

    r29 r38  
    44#include "abstractElementDefinition.h"
    55#include "elementsCollection.h"
    6 
    7 
    8 using namespace std;
     6#include "globalParameters.h"
     7//#include "driftDefinition.h"
     8//using namespace std;
    99
    1010class dataManager
     
    1212
    1313  elementsCollection elementsGallery_;
     14  globalParameters globParam_;
     15
     16
    1417  void createInputFileParmela( int indexDeb, int indexFin);
    1518  void executeParmela( int indexDeb, int indexFin);
     
    1821
    1922 
    20   dataManager();
    21   ~dataManager();
     23  dataManager() {;}
     24  ~dataManager() {;}
    2225
    2326  inline int beamLineSize() {return elementsGallery_.size();}
    24 
    25   void addDrift();
     27  inline globalParameters* getGlobalParameters()  {return &globParam_;}
     28  AbstractElementDefinition* addCell();
     29  AbstractElementDefinition* addDrift();
     30  AbstractElementDefinition* addInitialBeam();
    2631  void executeAll();
    2732};
  • Interface_Web/trunk/pspaWT/include/driftDefinition.h

    r29 r38  
    22#define DRIFTDEFINITION_SEEN
    33
     4#include <iostream>
    45#include <string>
    56#include "abstractElementDefinition.h"
    67#include "mathematicalTools.h"
    7 
     8#include "mixedTools.h"
    89
    910using namespace std;
     
    1314{
    1415
    15 
     16  int nbParam_;
     17  string* parametersString_;
    1618
    1719 public:
    1820
    19  DriftDefinition() : AbstractElementDefinition() {elementName_ = drift;}
     21 DriftDefinition() : AbstractElementDefinition()
     22{
     23  elementName_ = drift;
     24  nbParam_ = 2;
     25  parametersString_ = new string[nbParam_+1];
     26}
    2027
    21  DriftDefinition(string lab, double ll, double ap) : AbstractElementDefinition(lab, ll, ap)
     28 DriftDefinition(string lab) : AbstractElementDefinition(lab)
    2229 {
    2330   elementName_ = drift;
     31  nbParam_ = 2;
     32  parametersString_ = new string[nbParam_+1];
    2433}
    2534
    2635  ~DriftDefinition() {;}
    2736
     37 virtual string* getParametersString() const
     38 {
     39   std::cout << " getParametersString long= " << lenghtElem_ << " ouv= " << aperture_ << std::endl;
     40   parametersString_[0] = mixedTools::intToString(nbParam_);
     41   parametersString_[1] = mixedTools::doubleToString(lenghtElem_);
     42   parametersString_[2] = mixedTools::doubleToString(aperture_);
     43   return parametersString_;
     44 }
     45
     46 virtual void setParametersString(string* param)
     47 {
     48        if ( param == NULL )
     49        {
     50          cerr << "  DriftDefinition::setParametersString parameters empty parameter set";
     51          return;
     52        }
     53        int nbparam = atoi(param[0].c_str());
     54    if ( nbparam != nbParam_ )
     55        {
     56          cerr << "  DriftDefinition::setParametersString parameters do not match for a DRIFT";
     57          return;
     58        }
     59    lenghtElem_ = atof(param[1].c_str());
     60    aperture_  = atof(param[2].c_str());
     61 }
    2862
    2963virtual  string parmelaOutputFlow() const
  • Interface_Web/trunk/pspaWT/include/driftForm.h

    r33 r38  
    1212#include <Wt/WText>
    1313#include <Wt/WLabel>
     14#include <Wt/WBreak>
    1415
    1516using namespace Wt;
    1617
    17 class driftForm : public WTable
     18class driftForm
    1819{
    1920 public:
    2021
    21   driftForm(PspaApplication* ps, WContainerWidget *parent = 0);
     22  driftForm(PspaApplication* ps);
    2223
    2324 private:
    2425
    2526  void submit();
     27  void driftDialogDone();
    2628
    2729
    2830  PspaApplication* pspa_;
    29   WLineEdit* xlengthEdit_;
    30   WLineEdit* apertureEdit_;
     31    WLineEdit* xlengthEdit_;
     32  //  WLineEdit* apertureEdit_;
    3133};
    3234#endif
  • Interface_Web/trunk/pspaWT/include/elementsCollection.h

    r29 r38  
    77#include "abstractElementDefinition.h"
    88#include "driftDefinition.h"
    9 #include "cellDefinition.h"
    10 #include "bendDefinition.h"
    11 #include "soleDefinition.h"
     9#include "initialBeamDefinition.h"
     10#include "elementCell.h"
     11//#include "cellDefinition.h"
     12//#include "bendDefinition.h"
     13//#include "soleDefinition.h"
    1214
    1315
    14 using namespace std;
     16//using namespace std;
    1517
    1618
     
    1921
    2022
    21   vector < pair<AbstractElementDefinition*, double > > elements_;
    22   double zdebCurrent_;
     23  vector < AbstractElementDefinition*> elements_;
     24
    2325
    2426 public:
    2527
    2628
    27   elementsCollection() {zdebCurrent_ = 0.0;}
     29  elementsCollection() {;}
    2830
    2931~elementsCollection()
     
    3234    for (k=0; k < elements_.size(); k++)
    3335      {
    34         if ( elements_[k].first != NULL ) delete elements_[k].first;
     36        if ( elements_[k] != NULL ) delete elements_[k];
    3537      }
    3638  }
     
    3840 inline int size() { return elements_.size(); }
    3941
    40 inline void createDrift(string label, double lenght, double aperture)
     42inline AbstractElementDefinition* createNewDrift()
    4143 {
    42    elements_.push_back( make_pair(new DriftDefinition(label,lenght, aperture), zdebCurrent_ ));
    43    zdebCurrent_ += lenght;
     44   elements_.push_back(new DriftDefinition());
     45   return elements_.back();
    4446 }
    4547
    46 inline void createBend(string label, double lenght, double aperture, double WrMeV, double alphaDeg)
     48inline AbstractElementDefinition* createNewInitialBeam()
    4749 {
    48    elements_.push_back( make_pair (new BendDefinition(label, lenght, aperture,  WrMeV,  alphaDeg), zdebCurrent_) );
    49    zdebCurrent_ += lenght;
     50   elements_.push_back(new initialBeamDefinition());
     51   return elements_.back();
    5052 }
    5153
    52 inline void createCell(string lab, double lenght, double ap, double freq, double E0, int nc, double dwtmax, int symIndex, double sinphi, double cosphi, double Baxial, carteChamp* carte)
     54inline AbstractElementDefinition* createNewCell()
    5355 {
    54    elements_.push_back( make_pair( new CellDefinition(lab, lenght, ap, freq, E0, nc, dwtmax, symIndex, sinphi, cosphi, Baxial, carte), zdebCurrent_) );
    55    zdebCurrent_ += lenght;
     56   elements_.push_back(new elementCell());
     57   return elements_.back();
    5658 }
    57 
    58 inline  void createSolenoid(string label,double lenght,double aperture,double BGauss)
    59   {
    60     elements_.push_back( make_pair( new SolenoidDefinition(label,lenght,aperture,BGauss), zdebCurrent_) );
    61    zdebCurrent_ += lenght;
    62   }
    6359
    6460
     
    7066   for ( k=0; k < elements_.size() ; k++)
    7167     {
    72        if ( elements_[k].first->getLabel() == label ) return elements_[k].first;         
     68       if ( elements_[k]->getLabel() == label ) return elements_[k];     
    7369     }
    74    cerr << " elementsCollection::getElementPointer() : unknown element label: " << label << endl;
     70   std::cerr << " elementsCollection::getElementPointer() : unknown element label: " << label << std::endl;
    7571   return NULL;
    7672 }
     
    8076 {
    8177   if ( index >= elements_.size() ) return NULL;
    82    else  return elements_[index].first;         
     78   else  return elements_[index];       
    8379 }
    8480
  • Interface_Web/trunk/pspaWT/include/nomdElements.h

    r29 r38  
    55typedef enum
    66  {
    7     drift, cell, bend, sole, solenoidalBmap
     7    initialBeam, drift, cell, bend, sole, solenoidalBmap
    88  }    nomdElement;
    99
  • Interface_Web/trunk/pspaWT/include/pspa.h

    r29 r38  
    1111#include <Wt/WImage>
    1212#include <Wt/WTextArea>
     13
     14#include "dataManager.h"
    1315
    1416// c++0x only, for std::bind
     
    2628  WWidget* createPalette();
    2729  WWidget* createBeamLine();
     30  WWidget* createGlobalParamWidget();
    2831  void createDragImage(const char *url, const char *smallurl,
    2932                  const char *mimeType,
     
    3336  }
    3437
     38  inline dataManager* getDataManager() const
     39  {
     40    return dtmanage_;
     41  }
     42
    3543 private :
    3644  WTextArea* console_;
     45  dataManager* dtmanage_;
    3746};
    3847
  • Interface_Web/trunk/pspaWT/include/soleDefinition.h

    r29 r38  
    1919 SolenoidDefinition() :  AbstractElementDefinition() {elementName_ = sole;}
    2020
    21  SolenoidDefinition(string lab,double ll,double ap,double BGauss) : AbstractElementDefinition(lab,ll,ap)
     21 SolenoidDefinition(string lab) : AbstractElementDefinition(lab)
    2222    {
    2323      elementName_ = sole;
Note: See TracChangeset for help on using the changeset viewer.