source: PSPA/Interface_Web/trunk/pspaWT/include/abstractElement.h @ 95

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

suppression de methodes redondantes

File size: 2.1 KB
Line 
1#ifndef ABSTRACTELEMENTDEFINITION_SEEN
2#define ABSTRACTELEMENTDEFINITION_SEEN
3
4#include <iostream>
5#include <sstream>
6#include <string>
7
8#include "mathematicalTools.h"
9#include "nomdElements.h"
10
11using namespace std;
12
13
14class abstractElement
15{
16
17 protected:
18
19  int nbParam_;
20  string* parametersString_;
21
22
23
24  //  double phaseStep_; // a recuperer dans les parametres globaux (methode setPhaseStep)
25  double phaseStepMax_;
26
27  double defaultLength_;
28  double defaultAperture_;
29
30
31
32  string label_;
33  nomdElement elementName_;
34  double lenghtElem_; // cm
35  double aperture_; // cm
36
37  double stepmaxcm_;
38  //  bool curvedTrajectory_;
39
40  void setDefaultValues() 
41  {
42    label_ = "";
43    nbParam_ = 2;
44      defaultLength_ = 0.0;
45      defaultAperture_ = 1.e+6;
46    phaseStepMax_ = 10.;
47  }
48
49
50  void setDefaults() 
51  {
52    lenghtElem_ = defaultLength_;
53    aperture_ = defaultAperture_;
54  }
55
56 public :
57
58
59 abstractElement() 
60    {
61      label_ = string("");
62      setDefaultValues();
63      setDefaults();
64      stepmaxcm_ = 1000000;
65      //      curvedTrajectory_ = false;
66    }
67
68
69  abstractElement(string lab)
70    {
71      label_ = lab;
72      setDefaultValues();
73      setDefaults();
74      stepmaxcm_ = 1000000;
75      //      curvedTrajectory_ = false;
76    }
77
78virtual  ~abstractElement() {if (parametersString_ != NULL) delete [] parametersString_ ;}
79
80 virtual void setPhaseStep(double ) { cout << " setPhaseStep : ce n'est pas celui la qu'il faut ! " ; return;}
81
82
83 void setParameters(double ll, double aper) 
84  {
85    lenghtElem_ = ll;
86    aperture_ = aper;
87  }
88
89 virtual void setParametersString(string* param)  = 0;
90
91string getLabel() const
92{
93  return label_;
94}
95
96
97  nomdElement getName() const 
98  {
99    return  elementName_;
100  }
101
102
103 double getLenghtOfElement() const { return lenghtElem_;}
104
105 int getNbParams() const {return nbParam_;};
106
107 virtual string* getParametersString() const = 0;
108
109
110 virtual string parmelaOutputFlow() const =0;
111 virtual string transportOutputFlow() const =0;
112
113
114 virtual double getInitialKineticEnergy() const {return 0.0;}
115
116
117 virtual string FileOutputFlow() const=0;
118 virtual void FileInput(ifstream& ifs) = 0;
119
120};
121
122
123
124#endif
Note: See TracBrowser for help on using the repository browser.