#include "transportMoments.h" #include transportMoments::transportMoments() { initializeMoments(); } transportMoments::~transportMoments() {;} transportMoments::transportMoments( transportMoments& tm) { rij_transportMoments_ = tm.rij_transportMoments_; } transportMoments::transportMoments( const transportMoments& tm) { rij_transportMoments_ = tm.rij_transportMoments_; } transportMoments::transportMoments(double x, double xp, double y, double yp, double dl, double del) { initializeMoments(); ( rij_transportMoments_.at(0) ).at(0) = x; ( rij_transportMoments_.at(1) ).at(1) = xp; ( rij_transportMoments_.at(2) ).at(2) = y; ( rij_transportMoments_.at(3) ).at(3) = yp; ( rij_transportMoments_.at(4) ).at(4) = dl; ( rij_transportMoments_.at(5) ).at(5) = del; } void transportMoments::initializeMoments() { rij_transportMoments_.clear(); rij_transportMoments_.resize(6); unsigned dim=0; unsigned k; for ( k=0; k < 6; k++){ rij_transportMoments_.at(k).resize(++dim, 0.0); } } // const vector< vector >& transportMoments::getMoments() const // { // return rij_transportMoments_; // } vector< vector >& transportMoments::getMatrix() { return rij_transportMoments_; } void transportMoments::impression() const { unsigned j,m; cout << " impression des moments " << endl; for ( j = 0; j < 6; j++) { for (m=0; m <= j; m++) { cout << ( rij_transportMoments_.at(j) ).at(m) << " "; } cout << endl; } } void transportMoments::raz() { // initialisation des moments unsigned j,m; for ( j = 0; j < rij_transportMoments_.size(); j++) { for (m=0; m <= j; m++) { ( rij_transportMoments_.at(j) ).at(m) = 0.0; // element r_jm } } } // suppose qu'on est bien positionné dans le stream (a revoir) void transportMoments::readFromTransportOutput(ifstream& inp) { string bidString; double bidon; // initialisation des moments raz(); inp >> bidon >> bidString >> bidon >> ( rij_transportMoments_.at(0) ).at(0) >> bidString; inp >> bidon >> ( rij_transportMoments_.at(1) ).at(1) >> bidString >> ( rij_transportMoments_.at(1) ).at(0); inp >> bidon >> ( rij_transportMoments_.at(2) ).at(2) >> bidString >> ( rij_transportMoments_.at(2) ).at(0) >> ( rij_transportMoments_.at(2) ).at(1); inp >> bidon >> ( rij_transportMoments_.at(3) ).at(3) >> bidString >> ( rij_transportMoments_.at(3) ).at(0) >> ( rij_transportMoments_.at(3) ).at(1) >> ( rij_transportMoments_.at(3) ).at(2); inp >> bidon >> ( rij_transportMoments_.at(4) ).at(4) >> bidString >> ( rij_transportMoments_.at(4) ).at(0) >> ( rij_transportMoments_.at(4) ).at(1) >> ( rij_transportMoments_.at(4) ).at(2) >> ( rij_transportMoments_.at(4) ).at(3); inp >> bidon >> ( rij_transportMoments_.at(5) ).at(5) >> bidString >> ( rij_transportMoments_.at(5) ).at(0) >> ( rij_transportMoments_.at(5) ).at(1) >> ( rij_transportMoments_.at(5) ).at(2) >> ( rij_transportMoments_.at(5) ).at(3) >> ( rij_transportMoments_.at(5) ).at(4); } string transportMoments::writeToTransportInput(double P0) const { ostringstream sortie; sortie << " BEAM, X=" << (rij_transportMoments_.at(0)).at(0) << ", XP="<< (rij_transportMoments_.at(1)).at(1) << ", Y=" << (rij_transportMoments_.at(2)).at(2)<< ", YP=" << (rij_transportMoments_.at(3)).at(3) << ", & " << endl; sortie << " DL=" << (rij_transportMoments_.at(4)).at(4) << ", DEL="<< (rij_transportMoments_.at(5)).at(5) << ", P0=" << P0 << " ; " << endl; sortie << " CORR, C21=" << (rij_transportMoments_.at(1)).at(0) << ", C31="<< (rij_transportMoments_.at(2)).at(0) << ", C32=" << (rij_transportMoments_.at(2)).at(1) << ", & " << endl; sortie << " C41=" << (rij_transportMoments_.at(3)).at(0) << ", C42="<< (rij_transportMoments_.at(3)).at(1) << ", C43=" << (rij_transportMoments_.at(3)).at(2) << ", C51=" << (rij_transportMoments_.at(4)).at(0) << ", & " << endl; sortie << " C52=" << (rij_transportMoments_.at(4)).at(1) << ", C53="<< (rij_transportMoments_.at(4)).at(2) << ", C54=" << (rij_transportMoments_.at(4)).at(3) << ", C61=" << (rij_transportMoments_.at(5)).at(0) << ", & " << endl; sortie << " C62=" << (rij_transportMoments_.at(5)).at(1) << ", C63="<< (rij_transportMoments_.at(5)).at(2) << ", C64=" << (rij_transportMoments_.at(5)).at(3) << ", C65=" << (rij_transportMoments_.at(5)).at(4) << " ; " << endl; return sortie.str(); } transportMoments& transportMoments::operator= (const transportMoments& tpm) { rij_transportMoments_ = tpm.rij_transportMoments_; }