Atom.C 1.23 KB
Newer Older
Francois Gygi committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
////////////////////////////////////////////////////////////////////////////////
//
// Atom.C:
//
////////////////////////////////////////////////////////////////////////////////
// $Id: Atom.C,v 1.3 2003-05-16 16:14:00 fgygi Exp $

#include "Atom.h"
#include <iomanip>
using namespace std;

Atom::Atom (string newname, string newspecies, D3vector pos, D3vector vel)
{
  name_ = newname;
  species_ = newspecies;
  position_ = pos;
  velocity_ = vel;
}

ostream& operator << ( ostream &os, Atom &a )
{
  os.setf(ios::left,ios::adjustfield);
  os << "  <atom name=\"" << a.name() << "\""
     << " species=\"" << a.species() << "\">\n"
     << "    <position> ";
  os.setf(ios::fixed,ios::floatfield);
  os.setf(ios::right,ios::adjustfield);
  os << setw(12) << setprecision(8) << a.position().x << " "
     << setw(12) << setprecision(8) << a.position().y << " "
     << setw(12) << setprecision(8) << a.position().z << "  "
     << " </position>\n"
     << "    <velocity> ";
  os.setf(ios::scientific,ios::floatfield);
  os << setw(13) << setprecision(6) << a.velocity().x << " "
     << setw(13) << setprecision(6) << a.velocity().y << " "
     << setw(13) << setprecision(6) << a.velocity().z
     << " </velocity>\n  </atom>" << endl;
  return os;
}