00001 //# Filename: SpatialVector.hxx 00002 //# 00003 //# Standard 3-d vector class: .h implementations 00004 //# 00005 //# Author: Peter Z. Kunszt 00006 //# 00007 //# Date: October 15, 1998 00008 //# 00009 //# Copyright (C) 2000 Peter Z. Kunszt, Alex S. Szalay, Aniruddha R. Thakar 00010 //# The Johns Hopkins University 00011 //# 00012 00013 // Friend operators 00014 SpatialVector operator *(float64, const SpatialVector&); 00015 SpatialVector operator *(int, const SpatialVector&); 00016 SpatialVector operator *(const SpatialVector&, float64); 00017 SpatialVector operator *(const SpatialVector&, int); 00018 00019 // inline functions 00020 00021 inline 00022 float64 SpatialVector::x() const { 00023 return x_; 00024 } 00025 00026 inline 00027 float64 SpatialVector::y() const { 00028 return y_; 00029 } 00030 00031 inline 00032 float64 SpatialVector::z() const { 00033 return z_; 00034 } 00035 00037 // read from istream 00038 // 00039 inline 00040 istream& operator >>( istream& in, SpatialVector & v) { 00041 v.read(in); 00042 return(in); 00043 } 00044 00046 // write to ostream 00047 // 00048 inline 00049 ostream& operator <<( ostream& out, const SpatialVector & v) { 00050 v.write(out); 00051 return(out); 00052 }