Index: Interface_Web/trunk/pspaWT/sources/controler/src/elementRfgun.cc
===================================================================
--- Interface_Web/trunk/pspaWT/sources/controler/src/elementRfgun.cc	(revision 387)
+++ Interface_Web/trunk/pspaWT/sources/controler/src/elementRfgun.cc	(revision 418)
@@ -15,11 +15,11 @@
     parametersString_ = new string[nbParam_+1];
     //      parmelaOk_ = true;
-    registerAcceptableSoftware(nomDeLogiciel::parmela, TBoolOk);
-    registerAcceptableSoftware(nomDeLogiciel::generator, TBoolOk);
+    // registerAcceptableSoftware(nomDeLogiciel::parmela, TBoolOk);
+    // registerAcceptableSoftware(nomDeLogiciel::generator, TBoolOk);
 }
 
 void elementRfgun::setDefaultValues()
 {
-    defaultLabel_ = "rfgun";
+    defaultSpecificName_ = "rfgun";
     defaultPhaseStep_ = 1.0;
     defaultNmacrop_ = 0;
@@ -36,5 +36,5 @@
   void elementRfgun::setDefaults()
   {
-    label_ = defaultLabel_;
+    specificName_ = defaultSpecificName_;
     phaseStep_ = defaultPhaseStep_;
     nmacrop_ = defaultNmacrop_;
@@ -54,5 +54,5 @@
    int compteur = -1;
     parametersString_[++compteur] = mixedTools::intToString(nbParam_);
-  parametersString_[++compteur] = label_;
+  parametersString_[++compteur] = specificName_;
     parametersString_[++compteur] = mixedTools::intToString(nmacrop_);
     parametersString_[++compteur] = mixedTools::doubleToString(sigma_t_);
@@ -81,5 +81,5 @@
       }
 
-    label_ = param[++compteur];
+    specificName_ = param[++compteur];
     nmacrop_ = atoi(param[++compteur].c_str());
     sigma_t_ = atof(param[++compteur].c_str());
@@ -93,41 +93,41 @@
   }
 
-string elementRfgun::parmelaOutputFlow() const
-  {
-    ostringstream sortie;
-    // on prend les troncatures tmax et rmax Ã  3 sigmas 
-    sortie << "INPUT 10 /np=" << nmacrop_ << "  /sigt=" << sigma_t_ << endl;
-    sortie << "  /tmax=" << 3.3*sigma_t_ << " /sigr=" << sigma_r_ << endl;
-    sortie << " /rmax=" << 3.0*sigma_r_ << " /W0=" << E_cin_ << " /dw0=" << sigma_E_ << endl;
-    sortie << " /dwt=" << phaseStep_ << " /ran=2" << endl;
-
-    // on doit entrer le nb vrai de part. (avec signe moins)
+// string elementRfgun::parmelaOutputFlow() const
+//   {
+//     ostringstream sortie;
+//     // on prend les troncatures tmax et rmax Ã  3 sigmas 
+//     sortie << "INPUT 10 /np=" << nmacrop_ << "  /sigt=" << sigma_t_ << endl;
+//     sortie << "  /tmax=" << 3.3*sigma_t_ << " /sigr=" << sigma_r_ << endl;
+//     sortie << " /rmax=" << 3.0*sigma_r_ << " /W0=" << E_cin_ << " /dw0=" << sigma_E_ << endl;
+//     sortie << " /dwt=" << phaseStep_ << " /ran=2" << endl;
+
+//     // on doit entrer le nb vrai de part. (avec signe moins)
     
 
-    sortie << "SCHEFF /beami=" << -fabs(totalCharge_)/ELECTRONANOCOULOMB << " /nprog=2 /point=-1.7"  << endl;
+//     sortie << "SCHEFF /beami=" << -fabs(totalCharge_)/ELECTRONANOCOULOMB << " /nprog=2 /point=-1.7"  << endl;
  
-    return sortie.str();
-  }
-
-string elementRfgun::generatorOutputFlow() const {
-    ostringstream sortie;
-    sortie << "Ipart=" << nmacrop_ << endl;
-
-    sortie << "Probe=.True." << endl;
-    sortie << "Noise_reduc=.T" << endl;
-    sortie << "Cathode=.T." << endl;
-    sortie << "Q_total=" << totalCharge_ << endl;
-    sortie << "Ref_zpos=0.0" << endl;
-    sortie << "Ref_clock=0.0" << endl;
-    sortie << "Ref_Ekin=" << E_cin_ << endl; // tjs en MeV
-    sortie << "Dist_z='g'" << endl;
-    sortie << "sig_clock=" << 1.0e-3*sigma_t_ << endl; // passage de ps en ns
-    sortie <<  "Dist_pz='g', sig_Ekin=" << 1000.*sigma_E_ << ",  emit_z=0.0 ,    cor_Ekin=0.0 " << endl;  // passage en keV
-    sortie << "Dist_x='gauss',  sig_x=" <<  10.*sigma_r_ << endl;    // passage en mm
-    sortie << "Dist_px='g', Nemit_x=" << emit_x_ << ",   cor_px=0.0" << endl;
-    sortie << "Dist_y='gauss',  sig_y=" <<  10.*sigma_r_ << endl;    // passage en mm
-    sortie << "Dist_py='g', Nemit_y=" << emit_y_ << ",   cor_py=0.0" << endl;
-    return sortie.str();
-}
+//     return sortie.str();
+//   }
+
+// string elementRfgun::generatorOutputFlow() const {
+//     ostringstream sortie;
+//     sortie << "Ipart=" << nmacrop_ << endl;
+
+//     sortie << "Probe=.True." << endl;
+//     sortie << "Noise_reduc=.T" << endl;
+//     sortie << "Cathode=.T." << endl;
+//     sortie << "Q_total=" << totalCharge_ << endl;
+//     sortie << "Ref_zpos=0.0" << endl;
+//     sortie << "Ref_clock=0.0" << endl;
+//     sortie << "Ref_Ekin=" << E_cin_ << endl; // tjs en MeV
+//     sortie << "Dist_z='g'" << endl;
+//     sortie << "sig_clock=" << 1.0e-3*sigma_t_ << endl; // passage de ps en ns
+//     sortie <<  "Dist_pz='g', sig_Ekin=" << 1000.*sigma_E_ << ",  emit_z=0.0 ,    cor_Ekin=0.0 " << endl;  // passage en keV
+//     sortie << "Dist_x='gauss',  sig_x=" <<  10.*sigma_r_ << endl;    // passage en mm
+//     sortie << "Dist_px='g', Nemit_x=" << emit_x_ << ",   cor_px=0.0" << endl;
+//     sortie << "Dist_y='gauss',  sig_y=" <<  10.*sigma_r_ << endl;    // passage en mm
+//     sortie << "Dist_py='g', Nemit_y=" << emit_y_ << ",   cor_py=0.0" << endl;
+//     return sortie.str();
+// }
 
 
@@ -138,6 +138,6 @@
     // on prend les troncatures tmax et rmax Ã  3 sigmas 
     //    sortie << elementName_.getElementType() << endl;
-    sortie << elementName_.getElementLabel() << endl;
-    sortie  << label_ << endl;
+    sortie << elementName_.getGenericLabel() << endl;
+    sortie  << specificName_ << endl;
     sortie <<  nmacrop_ << "  " << sigma_t_ << "  " << sigma_r_ << endl;
     sortie << emit_x_ << "  " << emit_y_ << endl; 
@@ -147,7 +147,30 @@
   }
 
+vector< pair<string, vector<string> > > elementRfgun::parametersToSoftware () const {
+  vector< pair<string, vector<string> > >  sortie;
+  sortie.push_back( pair<string, vector<string> >("labelsGenericSpecific",  vector<string>() ) );
+  sortie.back().second.push_back(elementName_.getGenericLabel());
+  sortie.back().second.push_back(specificName_);
+  sortie.push_back( pair<string, vector<string> >("nbMacroparticles",  vector<string>() ) );
+  sortie.back().second.push_back(mixedTools::intToString(nmacrop_));
+  sortie.push_back( pair<string, vector<string> >("sigmasTR",  vector<string>() ) );
+  sortie.back().second.push_back(mixedTools::doubleToString(sigma_t_));
+  sortie.back().second.push_back(mixedTools::doubleToString(sigma_r_));
+  sortie.push_back( pair<string, vector<string> >("emittancesXY",  vector<string>() ) );
+  sortie.back().second.push_back(mixedTools::doubleToString(emit_x_));
+  sortie.back().second.push_back(mixedTools::doubleToString(emit_y_));
+  sortie.push_back( pair<string, vector<string> >("kineticE",  vector<string>() ) );
+  sortie.back().second.push_back(mixedTools::doubleToString(E_cin_));
+  sortie.back().second.push_back(mixedTools::doubleToString(sigma_E_));
+  sortie.push_back( pair<string, vector<string> >("phaseStep",  vector<string>() ) );
+  sortie.back().second.push_back(mixedTools::doubleToString(phaseStep_));
+  sortie.push_back( pair<string, vector<string> >("totalCharge",  vector<string>() ) );
+  sortie.back().second.push_back(mixedTools::doubleToString(totalCharge_));
+  return sortie;
+}
+
 void elementRfgun::FileInput(ifstream& ifs)
 {
-  ifs >> label_;
+  ifs >> specificName_;
   ifs >> nmacrop_ >> sigma_t_ >> sigma_r_;
   ifs >> emit_x_  >>  emit_y_; 
@@ -160,5 +183,5 @@
     string txt = "";
     
-    txt += label_;
+    txt += specificName_;
     txt += "\ntotal charge : ";
     txt += mixedTools::doubleToString(totalCharge_);
