source: PSPA/Interface_Web/trunk/pspaWT/sources/controler/src/elementDrift.cc @ 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: 3.5 KB
RevLine 
[42]1
2#include <iostream>
3
[132]4#include "elementDrift.h"
[42]5#include "mathematicalTools.h"
6#include "mixedTools.h"
7
8elementDrift::elementDrift() : abstractElement() 
9{
[271]10  setDefaultValues();
11  setDefaults();
[153]12  elementName_ = nomdElements("drift");
[181]13  nbParam_ = elementName_.getElementNbParameters();
[42]14  parametersString_ = new string[nbParam_+1];
[418]15    // registerAcceptableSoftware(nomDeLogiciel::transport, TBoolOk);
16    // registerAcceptableSoftware(nomDeLogiciel::parmela, TBoolOk);
17    // registerAcceptableSoftware(nomDeLogiciel::test, TBoolOk);
[359]18
[42]19}
20
[271]21  void elementDrift::setDefaultValues()
22  {
[418]23    defaultSpecificName_ = "drift";
[271]24  }
25  void elementDrift::setDefaults()
26  {
[418]27    specificName_ = defaultSpecificName_;
[271]28  }
29
30
[42]31 string* elementDrift::getParametersString() const 
32 {
[225]33   int compteur = -1;
34   parametersString_[++compteur] = mixedTools::intToString(nbParam_);
[418]35  parametersString_[++compteur] = specificName_;
[225]36   parametersString_[++compteur] = mixedTools::doubleToString(lenghtElem_);
37   parametersString_[++compteur] = mixedTools::doubleToString(aperture_);
38   if ( compteur != nbParam_ ) {
39     cerr << " elementDrift::getParametersString() : ERROR nr pf parameters dosnt match " << endl;
40     return NULL;
41   }
[42]42   return parametersString_;
43 }
44
45 void  elementDrift::setParametersString(string* param)
46 {
[106]47   if ( param == NULL )
48     {
49       cerr << "  elementDrift::setParametersString parameters empty parameter set";
50       return;
51     }
[225]52   int compteur = -1;
53   int nbparam = atoi(param[++compteur].c_str());
[106]54   if ( nbparam != nbParam_ ) 
55     {
56       cerr << "  elementDrift::setParametersString parameters do not match for a DRIFT";
57       return;
58     }
[418]59  specificName_ = param[++compteur];
[225]60   lenghtElem_ = atof(param[++compteur].c_str());
61   aperture_  = atof(param[++compteur].c_str());
[42]62 }
63
[418]64// string elementDrift::parmelaOutputFlow() const
65// {
66//   ostringstream sortie;
67//   sortie << "DRIFT /l=" << lenghtElem_ << "  /aper=" << aperture_ << "  /iout=1" << endl;
68//   return sortie.str();
69// }
[50]70
[84]71
[418]72// string elementDrift::transportOutputFlow() const
73//   {
74//     ostringstream sortie;
75//     // longueur en m
76//     sortie << specificName_ << ":" << "  DRIFT, L=" << 0.01*lenghtElem_ << ";" << endl;
77//     return sortie.str();
78//   }
[84]79
80
[50]81string elementDrift::FileOutputFlow() const
[106]82{
83  ostringstream sortie;
[181]84  //  sortie << elementName_.getElementType()  << endl;
[418]85  sortie << elementName_.getGenericLabel() << endl;
86  sortie  << specificName_ << endl;
[106]87  sortie << lenghtElem_ << "  " << aperture_ <<endl;
88  return sortie.str();
89}
[50]90
[418]91vector< pair<string, vector<string> > > elementDrift::parametersToSoftware () const {
92  vector< pair<string, vector<string> > >  sortie;
93  sortie.push_back( pair<string, vector<string> >("labelsGenericSpecific",  vector<string>() ) );
94  sortie.back().second.push_back(elementName_.getGenericLabel());
95  sortie.back().second.push_back(specificName_);
96  sortie.push_back( pair<string, vector<string> >("lenghtAperture",  vector<string>() ) );
97  sortie.back().second.push_back(mixedTools::doubleToString(lenghtElem_));
98  sortie.back().second.push_back(mixedTools::doubleToString(aperture_));
99  return sortie;
100}
101
102
103
[50]104void elementDrift::FileInput(ifstream& ifs)
105{
[418]106  ifs >> specificName_;
[50]107  ifs >> lenghtElem_ >>  aperture_;
108}
[287]109
110
111string elementDrift::print() {
112    string txt = "";
113
[418]114    txt += specificName_;
[287]115    txt += "\nlength (cm) : ";
116    txt += mixedTools::doubleToString(lenghtElem_);
117    txt += "\naperture (cm) : ";
118    txt += mixedTools::doubleToString(aperture_);
119   
120    return txt;
121}
Note: See TracBrowser for help on using the repository browser.