source: PSPA/Interface_Web/trunk/pspaWT/src/elementDrift.cc @ 200

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

lecture ecriture des elements par labels

File size: 1.9 KB
Line 
1
2#include <iostream>
3
4#include "elementDrift.h"
5#include "mathematicalTools.h"
6#include "mixedTools.h"
7
8elementDrift::elementDrift() : abstractElement() 
9{
10  elementName_ = nomdElements("drift");
11  nbParam_ = elementName_.getElementNbParameters();
12  parametersString_ = new string[nbParam_+1];
13  parmelaOk_ = true;
14  transportOk_ = true;
15  //  transportElementName_ = "*DRIFT*";
16}
17
18 string* elementDrift::getParametersString() const 
19 {
20   parametersString_[0] = mixedTools::intToString(nbParam_);
21   parametersString_[1] = mixedTools::doubleToString(lenghtElem_);
22   parametersString_[2] = mixedTools::doubleToString(aperture_);
23   return parametersString_;
24 }
25
26 void  elementDrift::setParametersString(string* param)
27 {
28   if ( param == NULL )
29     {
30       cerr << "  elementDrift::setParametersString parameters empty parameter set";
31       return;
32     }
33   int nbparam = atoi(param[0].c_str());
34   if ( nbparam != nbParam_ ) 
35     {
36       cerr << "  elementDrift::setParametersString parameters do not match for a DRIFT";
37       return;
38     }
39   lenghtElem_ = atof(param[1].c_str());
40   aperture_  = atof(param[2].c_str());
41 }
42
43string elementDrift::parmelaOutputFlow() const
44{
45  ostringstream sortie;
46  sortie << "DRIFT /l=" << lenghtElem_ << "  /aper=" << aperture_ << "  /iout=1";
47  return sortie.str();
48}
49
50
51string elementDrift::transportOutputFlow() const
52  {
53    ostringstream sortie;
54    // longueur en m
55    sortie << label_ << ":" << "  DRIFT, L=" << 0.01*lenghtElem_ << ";";
56    return sortie.str();
57  }
58
59
60string elementDrift::FileOutputFlow() const
61{
62  ostringstream sortie;
63  //  sortie << elementName_.getElementType()  << endl;
64  sortie << elementName_.getElementLabel() << endl;
65  sortie  << label_ << endl;
66  sortie << lenghtElem_ << "  " << aperture_ <<endl;
67  return sortie.str();
68}
69
70void elementDrift::FileInput(ifstream& ifs)
71{
72  ifs >> label_;
73  ifs >> lenghtElem_ >>  aperture_;
74}
Note: See TracBrowser for help on using the repository browser.