Changeset 348 in PSPA for Interface_Web/trunk/pspaWT/sources/controler/src/beam2Moments.cc
- Timestamp:
- Feb 27, 2013, 4:05:41 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Interface_Web/trunk/pspaWT/sources/controler/src/beam2Moments.cc
r347 r348 4 4 5 5 beam2Moments::beam2Moments() { 6 initializeMoments();6 initializeMoments(); 7 7 } 8 8 … … 10 10 11 11 beam2Moments::beam2Moments( beam2Moments& tm) { 12 rij_secondOrderMoments_ = tm.rij_secondOrderMoments_;12 rij_secondOrderMoments_ = tm.rij_secondOrderMoments_; 13 13 } 14 14 15 15 beam2Moments::beam2Moments( const beam2Moments& tm) { 16 rij_secondOrderMoments_ = tm.rij_secondOrderMoments_;16 rij_secondOrderMoments_ = tm.rij_secondOrderMoments_; 17 17 } 18 18 19 19 beam2Moments::beam2Moments(double x, double xp, double y, double yp, double dl, double del) { 20 initializeMoments();21 ( rij_secondOrderMoments_.at(0) ).at(0) = x;22 ( rij_secondOrderMoments_.at(1) ).at(1) = xp;23 ( rij_secondOrderMoments_.at(2) ).at(2) = y;24 ( rij_secondOrderMoments_.at(3) ).at(3) = yp;25 ( rij_secondOrderMoments_.at(4) ).at(4) = dl;26 ( rij_secondOrderMoments_.at(5) ).at(5) = del;27 20 initializeMoments(); 21 ( rij_secondOrderMoments_.at(0) ).at(0) = x; 22 ( rij_secondOrderMoments_.at(1) ).at(1) = xp; 23 ( rij_secondOrderMoments_.at(2) ).at(2) = y; 24 ( rij_secondOrderMoments_.at(3) ).at(3) = yp; 25 ( rij_secondOrderMoments_.at(4) ).at(4) = dl; 26 ( rij_secondOrderMoments_.at(5) ).at(5) = del; 27 28 28 } 29 29 30 30 void beam2Moments::initializeMoments() { 31 rij_secondOrderMoments_.clear();32 rij_secondOrderMoments_.resize(6);33 unsigned dim=0;34 unsigned k;35 for ( k=0; k < 6; k++){36 rij_secondOrderMoments_.at(k).resize(++dim, 0.0);37 }31 rij_secondOrderMoments_.clear(); 32 rij_secondOrderMoments_.resize(6); 33 unsigned dim=0; 34 unsigned k; 35 for ( k=0; k < 6; k++){ 36 rij_secondOrderMoments_.at(k).resize(++dim, 0.0); 37 } 38 38 } 39 39 40 40 41 42 43 44 41 // const vector< vector<double> >& transportMoments::getMoments() const 42 // { 43 // return rij_transportMoments_; 44 // } 45 45 46 vector< vector<double> >& beam2Moments::getMatrix() 47 48 return rij_secondOrderMoments_;49 46 vector< vector<double> >& beam2Moments::getMatrix() 47 { 48 return rij_secondOrderMoments_; 49 } 50 50 51 51 52 52 void beam2Moments::impression() const { 53 unsigned j,m;54 cout << " impression des moments " << endl;55 for ( j = 0; j < 6; j++)53 unsigned j,m; 54 cout << " impression des moments " << endl; 55 for ( j = 0; j < 6; j++) 56 56 { 57 for (m=0; m <= j; m++)58 59 60 61 cout << endl;57 for (m=0; m <= j; m++) 58 { 59 cout << ( rij_secondOrderMoments_.at(j) ).at(m) << " "; 60 } 61 cout << endl; 62 62 } 63 63 } 64 64 65 65 void beam2Moments::raz() { 66 // initialisation des moments67 unsigned j,m;68 for ( j = 0; j < rij_secondOrderMoments_.size(); j++)66 // initialisation des moments 67 unsigned j,m; 68 for ( j = 0; j < rij_secondOrderMoments_.size(); j++) 69 69 { 70 for (m=0; m <= j; m++)71 72 73 70 for (m=0; m <= j; m++) 71 { 72 ( rij_secondOrderMoments_.at(j) ).at(m) = 0.0; // element r_jm 73 } 74 74 } 75 75 } … … 79 79 // suppose qu'on est bien positionné dans le stream (a revoir) 80 80 void beam2Moments::readFromTransportOutput(stringstream& inp) { 81 string bidString; 82 double bidon; 83 84 // initialisation des moments 85 raz(); 86 bool test = false; 87 string buf; 88 // sauter les eventuels 'VARY' 89 while ( !test ) { 90 getline(inp, buf); 91 stringstream str(buf); 92 if (!(str >> bidon >> bidString >> bidon >> ( rij_secondOrderMoments_.at(0) ).at(0) >> bidString)) { 93 test = false; 94 } 95 cout << " beam2Moments::readFromTransportOutput TEST= " << test << endl; 96 } 97 // test = inp >> bidon >> bidString >> bidon >> ( rij_secondOrderMoments_.at(0) ).at(0) >> bidString; 81 string bidString; 82 double bidon; 83 84 // initialisation des moments 85 raz(); 86 bool test = false; 87 string buf; 88 // sauter les eventuels 'VARY' 89 while ( !test ) { 90 getline(inp, buf); 91 stringstream str(buf); 92 93 if (!(str >> bidon >> bidString >> bidon >> ( rij_secondOrderMoments_.at(0) ).at(0) >> bidString)) { 94 test = true; 95 } 96 97 cout << " beam2Moments::readFromTransportOutput TEST= " << test << endl; 98 } 99 // test = inp >> bidon >> bidString >> bidon >> ( rij_secondOrderMoments_.at(0) ).at(0) >> bidString; 98 100 // } 99 inp >> bidon >> ( rij_secondOrderMoments_.at(1) ).at(1) >> bidString >> ( rij_secondOrderMoments_.at(1) ).at(0);100 inp >> bidon >> ( rij_secondOrderMoments_.at(2) ).at(2) >> bidString >> ( rij_secondOrderMoments_.at(2) ).at(0) >> ( rij_secondOrderMoments_.at(2) ).at(1);101 inp >> bidon >> ( rij_secondOrderMoments_.at(3) ).at(3) >> bidString >> ( rij_secondOrderMoments_.at(3) ).at(0) >> ( rij_secondOrderMoments_.at(3) ).at(1) >> ( rij_secondOrderMoments_.at(3) ).at(2);102 103 inp >> bidon >> ( rij_secondOrderMoments_.at(4) ).at(4) >> bidString >> ( rij_secondOrderMoments_.at(4) ).at(0) >> ( rij_secondOrderMoments_.at(4) ).at(1) >> ( rij_secondOrderMoments_.at(4) ).at(2) >> ( rij_secondOrderMoments_.at(4) ).at(3);104 105 inp >> bidon >> ( rij_secondOrderMoments_.at(5) ).at(5) >> bidString >> ( rij_secondOrderMoments_.at(5) ).at(0) >> ( rij_secondOrderMoments_.at(5) ).at(1) >> ( rij_secondOrderMoments_.at(5) ).at(2) >> ( rij_secondOrderMoments_.at(5) ).at(3) >> ( rij_secondOrderMoments_.at(5) ).at(4);106 101 inp >> bidon >> ( rij_secondOrderMoments_.at(1) ).at(1) >> bidString >> ( rij_secondOrderMoments_.at(1) ).at(0); 102 inp >> bidon >> ( rij_secondOrderMoments_.at(2) ).at(2) >> bidString >> ( rij_secondOrderMoments_.at(2) ).at(0) >> ( rij_secondOrderMoments_.at(2) ).at(1); 103 inp >> bidon >> ( rij_secondOrderMoments_.at(3) ).at(3) >> bidString >> ( rij_secondOrderMoments_.at(3) ).at(0) >> ( rij_secondOrderMoments_.at(3) ).at(1) >> ( rij_secondOrderMoments_.at(3) ).at(2); 104 105 inp >> bidon >> ( rij_secondOrderMoments_.at(4) ).at(4) >> bidString >> ( rij_secondOrderMoments_.at(4) ).at(0) >> ( rij_secondOrderMoments_.at(4) ).at(1) >> ( rij_secondOrderMoments_.at(4) ).at(2) >> ( rij_secondOrderMoments_.at(4) ).at(3); 106 107 inp >> bidon >> ( rij_secondOrderMoments_.at(5) ).at(5) >> bidString >> ( rij_secondOrderMoments_.at(5) ).at(0) >> ( rij_secondOrderMoments_.at(5) ).at(1) >> ( rij_secondOrderMoments_.at(5) ).at(2) >> ( rij_secondOrderMoments_.at(5) ).at(3) >> ( rij_secondOrderMoments_.at(5) ).at(4); 108 107 109 } 108 110 109 111 110 112 string beam2Moments::writeToTransportInput(double P0) const { 111 ostringstream sortie;112 sortie << " BEAM, X=" << (rij_secondOrderMoments_.at(0)).at(0) << ", XP="<< (rij_secondOrderMoments_.at(1)).at(1) << ", Y=" << (rij_secondOrderMoments_.at(2)).at(2)<< ", YP=" << (rij_secondOrderMoments_.at(3)).at(3) << ", & " << endl;113 114 sortie << " DL=" << (rij_secondOrderMoments_.at(4)).at(4) << ", DEL="<< (rij_secondOrderMoments_.at(5)).at(5) << ", P0=" << P0 << " ; " << endl;115 116 sortie << " CORR, C21=" << (rij_secondOrderMoments_.at(1)).at(0) << ", C31="<< (rij_secondOrderMoments_.at(2)).at(0) << ", C32=" << (rij_secondOrderMoments_.at(2)).at(1) << ", & " << endl;117 118 sortie << " C41=" << (rij_secondOrderMoments_.at(3)).at(0) << ", C42="<< (rij_secondOrderMoments_.at(3)).at(1) << ", C43=" << (rij_secondOrderMoments_.at(3)).at(2) << ", C51=" << (rij_secondOrderMoments_.at(4)).at(0) << ", & " << endl;119 120 sortie << " C52=" << (rij_secondOrderMoments_.at(4)).at(1) << ", C53="<< (rij_secondOrderMoments_.at(4)).at(2) << ", C54=" << (rij_secondOrderMoments_.at(4)).at(3) << ", C61=" << (rij_secondOrderMoments_.at(5)).at(0) << ", & " << endl;121 122 sortie << " C62=" << (rij_secondOrderMoments_.at(5)).at(1) << ", C63="<< (rij_secondOrderMoments_.at(5)).at(2) << ", C64=" << (rij_secondOrderMoments_.at(5)).at(3) << ", C65=" << (rij_secondOrderMoments_.at(5)).at(4) << " ; " << endl;113 ostringstream sortie; 114 sortie << " BEAM, X=" << (rij_secondOrderMoments_.at(0)).at(0) << ", XP="<< (rij_secondOrderMoments_.at(1)).at(1) << ", Y=" << (rij_secondOrderMoments_.at(2)).at(2)<< ", YP=" << (rij_secondOrderMoments_.at(3)).at(3) << ", & " << endl; 115 116 sortie << " DL=" << (rij_secondOrderMoments_.at(4)).at(4) << ", DEL="<< (rij_secondOrderMoments_.at(5)).at(5) << ", P0=" << P0 << " ; " << endl; 117 118 sortie << " CORR, C21=" << (rij_secondOrderMoments_.at(1)).at(0) << ", C31="<< (rij_secondOrderMoments_.at(2)).at(0) << ", C32=" << (rij_secondOrderMoments_.at(2)).at(1) << ", & " << endl; 119 120 sortie << " C41=" << (rij_secondOrderMoments_.at(3)).at(0) << ", C42="<< (rij_secondOrderMoments_.at(3)).at(1) << ", C43=" << (rij_secondOrderMoments_.at(3)).at(2) << ", C51=" << (rij_secondOrderMoments_.at(4)).at(0) << ", & " << endl; 121 122 sortie << " C52=" << (rij_secondOrderMoments_.at(4)).at(1) << ", C53="<< (rij_secondOrderMoments_.at(4)).at(2) << ", C54=" << (rij_secondOrderMoments_.at(4)).at(3) << ", C61=" << (rij_secondOrderMoments_.at(5)).at(0) << ", & " << endl; 123 124 sortie << " C62=" << (rij_secondOrderMoments_.at(5)).at(1) << ", C63="<< (rij_secondOrderMoments_.at(5)).at(2) << ", C64=" << (rij_secondOrderMoments_.at(5)).at(3) << ", C65=" << (rij_secondOrderMoments_.at(5)).at(4) << " ; " << endl; 123 125 return sortie.str(); 124 126 } 125 127 126 128 beam2Moments& beam2Moments::operator= (const beam2Moments& tpm) { 127 rij_secondOrderMoments_ = tpm.rij_secondOrderMoments_;128 return *this;129 rij_secondOrderMoments_ = tpm.rij_secondOrderMoments_; 130 return *this; 129 131 }
Note: See TracChangeset
for help on using the changeset viewer.