source: PSPA/Interface_Web/trunk/pspaWT/src/elementFit.cc @ 230

Last change on this file since 230 was 230, checked in by lemeur, 12 years ago

fin implementation fit

File size: 2.7 KB
Line 
1#include "elementFit.h"
2#include "mixedTools.h"
3
4elementFit::elementFit() : abstractElement()
5{
6  setDefaultValues();
7  setDefaults();
8  elementName_ = nomdElements("fit");
9  nbParam_ = elementName_.getElementNbParameters();
10  parametersString_ = new string[nbParam_+1];
11  transportOk_ = true;
12  parmelaIgnored_ = true;
13}
14
15void elementFit::setDefaultValues()
16  {
17    variableNameDef_ = "";
18    variableValueDef_ = 0.0;
19    toleranceDef_ = 0.0;
20  }
21
22void elementFit::setDefaults()
23  {
24    variableName_ = variableNameDef_;
25    variableValue_ = variableValueDef_;
26    tolerance_ = toleranceDef_;
27  }
28
29 string* elementFit::getParametersString() const 
30 {
31   int compteur = -1;
32   parametersString_[++compteur] = mixedTools::intToString(nbParam_);
33   parametersString_[++compteur] = label_;
34   parametersString_[++compteur] = variableName_;
35   parametersString_[++compteur] = mixedTools::doubleToString(variableValue_ );
36   parametersString_[++compteur] = mixedTools::doubleToString(tolerance_);
37   if ( compteur != nbParam_ ) {
38     cerr << " elementFit::getParametersString() : ERROR nr pf parameters dosnt match " << endl;
39     return NULL;
40   }
41   return parametersString_;   
42 }
43
44void elementFit::setParametersString(string* param)
45{
46  if ( param == NULL )
47    {
48      cerr << "  elementFit::setParametersString parameters empty parameter set";
49      return;
50    }
51  int compteur = -1;
52  int nbparam = atoi(param[++compteur].c_str());
53  if ( nbparam != nbParam_ ) 
54    {
55      cerr << "  elementFit::setParametersString parameters do not match for a BEND" << endl;
56      return;
57    }
58
59  label_ = param[++compteur];
60  variableName_ = param[++compteur];
61  variableValue_ = atof(param[++compteur].c_str());
62  tolerance_ = atof(param[++compteur].c_str());
63}
64
65
66string elementFit::parmelaOutputFlow() const
67  {
68    ostringstream sortie;
69    return sortie.str();
70  }
71
72string elementFit::transportOutputFlow() const
73  {
74    ostringstream sortie;
75    sortie << label_ << ":" << "  FIT," << variableName_ << " = " << variableValue_ << ", TOLER = " << tolerance_ << " ;" << endl;
76    if ( variableName_ == "R11" || variableName_ == "R22" || variableName_ == "R12" || variableName_ == "R21" ) {
77      sortie << " PRINT, TRANS;" << endl;
78    }
79    return sortie.str();
80  }
81
82string elementFit::FileOutputFlow() const
83  {
84    ostringstream sortie;
85    //    sortie << elementName_.getElementType() << endl;
86    sortie << elementName_.getElementLabel() << endl;
87    sortie  << label_ << endl;
88    sortie  <<    variableName_ << " " << variableValue_ << " " << tolerance_ << endl;
89    return sortie.str();
90  }
91
92void elementFit::FileInput(ifstream& ifs)
93{
94  ifs >> label_;
95  ifs  >>  variableName_ >>  variableValue_   >> tolerance_;
96}
Note: See TracBrowser for help on using the repository browser.