Ignore:
Timestamp:
Jun 21, 2013, 10:16:56 AM (11 years ago)
Author:
lemeur
Message:

definition des compatibilites des elements dans les software

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Interface_Web/trunk/pspaWT/sources/controler/src/elementBend.cc

    r387 r418  
    1111  nbParam_ = elementName_.getElementNbParameters();
    1212  parametersString_ = new string[nbParam_+1];
    13   // transportOk_ = true;
    14   // parmelaOk_ = true;
    15     registerAcceptableSoftware(nomDeLogiciel::transport, TBoolOk);
    16     registerAcceptableSoftware(nomDeLogiciel::parmela, TBoolOk);
     13    // registerAcceptableSoftware(nomDeLogiciel::transport, TBoolOk);
     14    // registerAcceptableSoftware(nomDeLogiciel::parmela, TBoolOk);
    1715}
    1816
    1917  void elementBend::setDefaultValues()
    2018  {
    21     defaultLabel_ = "bend";
     19    defaultSpecificName_ = "bend";
    2220    angleDegDef_ = 0.0;
    2321    radiusDef_ = 1.0;
     
    2927  void elementBend::setDefaults()
    3028  {
    31     label_ = defaultLabel_;
     29    specificName_ = defaultSpecificName_;
    3230    angleDeg_ = angleDegDef_;
    3331    radius_ = radiusDef_;
     
    4139   int compteur = -1;
    4240   parametersString_[++compteur] = mixedTools::intToString(nbParam_);
    43    parametersString_[++compteur] = label_;
     41   parametersString_[++compteur] = specificName_;
    4442   parametersString_[++compteur] = mixedTools::doubleToString( angleDeg_);
    4543   parametersString_[++compteur] = mixedTools::doubleToString(radius_);
     
    7674          return;
    7775        }
    78     label_ = param[++compteur];
     76    specificName_ = param[++compteur];
    7977    angleDeg_ =  atof(param[++compteur].c_str());
    8078    radius_ = atof(param[++compteur].c_str());
     
    8886 }
    8987
    90 string elementBend::parmelaOutputFlow() const
    91   {
    92     ostringstream sortie;
    93     // il faut entrer l'energie cinetique
    94     double ecin = momentum_/EREST_MeV;
    95     ecin = ecin*ecin + 1.;
    96     ecin = EREST_MeV*(sqrt(ecin) - 1.0);
    97     sortie << "BEND /l=" << lenghtElem_ << "  / aper=" << aperture_ << "  / iout=1 / wr=" << ecin << " /alpha=" << angleDeg_ << " / beta1=" << beta1_;
    98     sortie << " / beta2=" << beta1_  << endl;
     88// string elementBend::parmelaOutputFlow() const
     89//   {
     90//     ostringstream sortie;
     91//     // il faut entrer l'energie cinetique
     92//     double ecin = momentum_/EREST_MeV;
     93//     ecin = ecin*ecin + 1.;
     94//     ecin = EREST_MeV*(sqrt(ecin) - 1.0);
     95//     sortie << "BEND /l=" << lenghtElem_ << "  / aper=" << aperture_ << "  / iout=1 / wr=" << ecin << " /alpha=" << angleDeg_ << " / beta1=" << beta1_;
     96//     sortie << " / beta2=" << beta2_  << endl;
    9997
    100     return sortie.str();
    101   }
     98//     return sortie.str();
     99//   }
    102100
    103101
    104 string elementBend::transportOutputFlow() const
    105   {
    106     ostringstream sortie;
    107     sortie << label_ << ":" << "  SBEND, RADIUS=" << radius_ << ", ANGLE=" << angleDeg_ << ", E1=" << beta1_ << ", E2=" << beta2_ << ";" << endl;
    108     return sortie.str();
    109   }
     102// string elementBend::transportOutputFlow() const
     103//   {
     104//     ostringstream sortie;
     105//     sortie << specificName_ << ":" << "  SBEND, RADIUS=" << radius_ << ", ANGLE=" << angleDeg_ << ", E1=" << beta1_ << ", E2=" << beta2_ << ";" << endl;
     106//     return sortie.str();
     107//   }
    110108
    111109
     
    114112    ostringstream sortie;
    115113    //    sortie << elementName_.getElementType() << endl;
    116     sortie << elementName_.getElementLabel() << endl;
    117     sortie  << label_ << endl;
     114    sortie << elementName_.getGenericLabel() << endl;
     115    sortie  << specificName_ << endl;
    118116    sortie << angleDeg_ << "  " << radius_ << " " <<  aperture_  << endl;
    119117    sortie << beta1_ << "  " << beta2_ << " " << momentum_ << endl;
     
    121119  }
    122120
     121vector< pair<string, vector<string> > > elementBend::parametersToSoftware () const{
     122  vector< pair<string, vector<string> > >  sortie;
     123  sortie.push_back( pair<string, vector<string> >("labelsGenericSpecific",  vector<string>() ) );
     124  sortie.back().second.push_back(elementName_.getGenericLabel());
     125  sortie.back().second.push_back(specificName_);
     126  sortie.push_back( pair<string, vector<string> >("lenghtAperture",  vector<string>() ) );
     127  sortie.back().second.push_back(mixedTools::doubleToString( lenghtElem_));
     128  sortie.back().second.push_back(mixedTools::doubleToString( aperture_));
     129  sortie.push_back( pair<string, vector<string> >("angleDegre",  vector<string>() ) );
     130  sortie.back().second.push_back(mixedTools::doubleToString( angleDeg_));
     131  sortie.push_back( pair<string, vector<string> >("radius",  vector<string>() ) );
     132  sortie.back().second.push_back(mixedTools::doubleToString( radius_));
     133  sortie.push_back( pair<string, vector<string> >("rotatedFaces",  vector<string>() ) );
     134  sortie.back().second.push_back(mixedTools::doubleToString( beta1_));
     135  sortie.back().second.push_back(mixedTools::doubleToString( beta2_));
     136  sortie.push_back( pair<string, vector<string> >("momentum",  vector<string>() ) );
     137  sortie.back().second.push_back(mixedTools::doubleToString( momentum_));
     138  return sortie;
     139}
     140
    123141void elementBend::FileInput(ifstream& ifs)
    124142{
    125   ifs >> label_;
     143  ifs >> specificName_;
    126144  ifs >> angleDeg_ >> radius_ >>  aperture_;
    127145  ifs >> beta1_ >> beta2_ >> momentum_;
     
    134152    string txt = "";
    135153
    136     txt += label_;
     154    txt += specificName_;
    137155    txt += "\nangle (deg.) : ";
    138156    txt += mixedTools::doubleToString(angleDeg_);
Note: See TracChangeset for help on using the changeset viewer.