\section{Atom  Class Reference}
\label{class_Atom}\index{Atom@{Atom}}
{\tt \#include $<$atom.h$>$}

Collaboration diagram for Atom:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=104pt]{class_Atom_coll_graph}
\end{center}
\end{figure}
\subsection*{Public Methods}
\begin{CompactItemize}
\item 
void {\bf Add\-Bond} (int other\_\-id)
\item 
bool {\bf Bonded} (int other\_\-id) const
\item 
const int\& {\bf ID} () const
\item 
int\& {\bf ID} ()
\item 
const {\bf Dyn\-String}\& {\bf Type} () const
\item 
{\bf Dyn\-String}\& {\bf Type} ()
\item 
const {\bf Dyn\-String}\& {\bf Label} () const
\item 
{\bf Dyn\-String}\& {\bf Label} ()
\item 
const double\& {\bf VDW} () const
\item 
double\& {\bf VDW} ()
\item 
const int\& {\bf Res\-Num} () const
\item 
int\& {\bf Res\-Num} ()
\item 
const double\& {\bf cov\_\-dist} () const
\item 
double\& {\bf cov\_\-dist} ()
\item 
const bool\& {\bf Moved} () const
\item 
bool\& {\bf Moved} ()
\item 
const {\bf j\-Vector}\& {\bf operator $\ast$} () const
\item 
{\bf j\-Vector}\& {\bf operator $\ast$} ()
\item 
int {\bf Compare} (const Atom \&a) const
\item 
const Atom\& {\bf operator=} (const Atom \&a)
\item 
int {\bf Output} (ostream \&os) const
\item 
int {\bf Input} (istream \&is)
\item 
int {\bf Output\-Binary} (ostream \&os) const
\item 
int {\bf Input\-Binary} (istream \&is)
\item 
{\bf MAKECOMPARISONS\_\-WITH\_\-COMPARE} (Atom)
\item 
{\bf MAKE\_\-IO\_\-STREAM\_\-OPERATORS} (Atom)
\item 
{\bf MAKE\_\-BIN\_\-STREAM\_\-OPERATORS} (Atom)
\end{CompactItemize}
\subsection*{Private Methods}
\begin{CompactItemize}
\item 
{\bf Atom} (int identifier=UNINITIALIZED\_\-ATOM\_\-ID)
\item 
{\bf Atom} (const Atom \&a)
\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item 
{\bf Dyn\-String} {\bf label}
\item 
{\bf Dyn\-String} {\bf type}
\item 
int {\bf id}
\item 
double {\bf VDW\_\-Radius}
\item 
double {\bf cov\_\-dist\_\-Radius}
\item 
bool {\bf moved}
\item 
int {\bf residue\_\-number}
\item 
{\bf Int\-Vec} {\bf Bonds}
\end{CompactItemize}
\subsection*{Friends}
\begin{CompactItemize}
\item 
class {\bf Molecule}
\item 
class {\bf Residue}
\end{CompactItemize}


\subsection{Constructor \& Destructor Documentation}
\index{Atom@{Atom}!Atom@{Atom}}
\index{Atom@{Atom}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Atom::Atom (int {\em identifier} = UNINITIALIZED\_\-ATOM\_\-ID)\hspace{0.3cm}{\tt  [inline, private]}}\label{class_Atom_c0}




Definition at line 100 of file atom.h.\footnotesize\begin{verbatim}00101 {
00102   id = identifier;
00103   type = "";
00104   label = "uninitialized atom";
00105   moved =  false;
00106   VDW_Radius = 0;
00107   cov_dist_Radius = 0;
00108   residue_number = -1;
00109   Bonds.Resize(0);
00110 
00111 \end{verbatim}\normalsize 
\index{Atom@{Atom}!Atom@{Atom}}
\index{Atom@{Atom}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Atom::Atom (const Atom \& {\em a})\hspace{0.3cm}{\tt  [inline, private]}}\label{class_Atom_c1}




Definition at line 114 of file atom.h.\footnotesize\begin{verbatim}00115 {
00116   id = a.id;
00117   type = a.type;
00118   label = a.label;
00119   VDW_Radius = a.VDW_Radius;
00120   cov_dist_Radius = a.cov_dist_Radius;
00121   moved = a.moved;
00122   residue_number = a.residue_number;
00123   Bonds = a.Bonds;
00124 
00125 \end{verbatim}\normalsize 


\subsection{Member Function Documentation}
\index{Atom@{Atom}!AddBond@{AddBond}}
\index{AddBond@{AddBond}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Atom::Add\-Bond (int {\em other\_\-id})\hspace{0.3cm}{\tt  [inline]}}\label{class_Atom_a0}




Definition at line 141 of file atom.h.\footnotesize\begin{verbatim}00141                                       {
00142   Bonds.AppendUnique(other_id);
00143 \end{verbatim}\normalsize 
\index{Atom@{Atom}!Bonded@{Bonded}}
\index{Bonded@{Bonded}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool Atom::Bonded (int {\em other\_\-id}) const\hspace{0.3cm}{\tt  [inline]}}\label{class_Atom_a1}




Definition at line 145 of file atom.h.\footnotesize\begin{verbatim}00145                                             {
00146   return Bonds.Contains(other_id);
00147 \end{verbatim}\normalsize 
\index{Atom@{Atom}!Compare@{Compare}}
\index{Compare@{Compare}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Atom::Compare (const Atom \& {\em a}) const\hspace{0.3cm}{\tt  [inline]}}\label{class_Atom_a18}




Definition at line 194 of file atom.h.\footnotesize\begin{verbatim}00195 { return (id-a.id); }
00196 \end{verbatim}\normalsize 
\index{Atom@{Atom}!ID@{ID}}
\index{ID@{ID}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int \& Atom::ID ()\hspace{0.3cm}{\tt  [inline]}}\label{class_Atom_a3}




Definition at line 151 of file atom.h.\footnotesize\begin{verbatim}00152 { return id; }
00153 \end{verbatim}\normalsize 
\index{Atom@{Atom}!ID@{ID}}
\index{ID@{ID}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const int \& Atom::ID () const\hspace{0.3cm}{\tt  [inline]}}\label{class_Atom_a2}




Definition at line 149 of file atom.h.

Referenced by Molecule::Allocate(), Molecule::Molecule(), and Atom\-Registry::Set\-Type().\footnotesize\begin{verbatim}00150 { return id; }
00151 \end{verbatim}\normalsize 
\index{Atom@{Atom}!Input@{Input}}
\index{Input@{Input}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Atom::Input (istream \& {\em is})\hspace{0.3cm}{\tt  [inline]}}\label{class_Atom_a21}




Definition at line 201 of file atom.h.\footnotesize\begin{verbatim}00202 { is >> id >> VDW_Radius >> cov_dist_Radius  >> moved ; return id; }
00203 \end{verbatim}\normalsize 
\index{Atom@{Atom}!InputBinary@{InputBinary}}
\index{InputBinary@{InputBinary}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Atom::Input\-Binary (istream \& {\em is})\hspace{0.3cm}{\tt  [inline]}}\label{class_Atom_a23}




Definition at line 208 of file atom.h.\footnotesize\begin{verbatim}00209     { is >= id; is >= pos; return id; }
00210 \end{verbatim}\normalsize 
\index{Atom@{Atom}!Label@{Label}}
\index{Label@{Label}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Dyn\-String} \& Atom::Label ()\hspace{0.3cm}{\tt  [inline]}}\label{class_Atom_a7}




Definition at line 156 of file atom.h.\footnotesize\begin{verbatim}00157 { return label; }
00158 \end{verbatim}\normalsize 
\index{Atom@{Atom}!Label@{Label}}
\index{Label@{Label}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Dyn\-String} \& Atom::Label () const\hspace{0.3cm}{\tt  [inline]}}\label{class_Atom_a6}




Definition at line 154 of file atom.h.

Referenced by Atom\-Registry::Set\-Type().\footnotesize\begin{verbatim}00155 { return label; }
00156 \end{verbatim}\normalsize 
\index{Atom@{Atom}!MAKECOMPARISONS_WITH_COMPARE@{MAKECOMPARISONS\_\-WITH\_\-COMPARE}}
\index{MAKECOMPARISONS_WITH_COMPARE@{MAKECOMPARISONS\_\-WITH\_\-COMPARE}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Atom::MAKECOMPARISONS\_\-WITH\_\-COMPARE (Atom)}\label{class_Atom_a24}


\index{Atom@{Atom}!MAKE_BIN_STREAM_OPERATORS@{MAKE\_\-BIN\_\-STREAM\_\-OPERATORS}}
\index{MAKE_BIN_STREAM_OPERATORS@{MAKE\_\-BIN\_\-STREAM\_\-OPERATORS}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Atom::MAKE\_\-BIN\_\-STREAM\_\-OPERATORS (Atom)}\label{class_Atom_a26}


\index{Atom@{Atom}!MAKE_IO_STREAM_OPERATORS@{MAKE\_\-IO\_\-STREAM\_\-OPERATORS}}
\index{MAKE_IO_STREAM_OPERATORS@{MAKE\_\-IO\_\-STREAM\_\-OPERATORS}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Atom::MAKE\_\-IO\_\-STREAM\_\-OPERATORS (Atom)}\label{class_Atom_a25}


\index{Atom@{Atom}!Moved@{Moved}}
\index{Moved@{Moved}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool \& Atom::Moved ()\hspace{0.3cm}{\tt  [inline]}}\label{class_Atom_a15}




Definition at line 181 of file atom.h.\footnotesize\begin{verbatim}00182 { return moved; }
00183 \end{verbatim}\normalsize 
\index{Atom@{Atom}!Moved@{Moved}}
\index{Moved@{Moved}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const bool \& Atom::Moved () const\hspace{0.3cm}{\tt  [inline]}}\label{class_Atom_a14}




Definition at line 179 of file atom.h.\footnotesize\begin{verbatim}00180 { return moved; }
00181 \end{verbatim}\normalsize 
\index{Atom@{Atom}!Output@{Output}}
\index{Output@{Output}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Atom::Output (ostream \& {\em os}) const\hspace{0.3cm}{\tt  [inline]}}\label{class_Atom_a20}




Definition at line 197 of file atom.h.\footnotesize\begin{verbatim}00198     { os << id << ' ' << pos; return id; }
00199 \end{verbatim}\normalsize 
\index{Atom@{Atom}!OutputBinary@{OutputBinary}}
\index{OutputBinary@{OutputBinary}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Atom::Output\-Binary (ostream \& {\em os}) const\hspace{0.3cm}{\tt  [inline]}}\label{class_Atom_a22}




Definition at line 204 of file atom.h.\footnotesize\begin{verbatim}00205     { os <= id; os <= pos; return id; }
00206 \end{verbatim}\normalsize 
\index{Atom@{Atom}!ResNum@{ResNum}}
\index{ResNum@{ResNum}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int \& Atom::Res\-Num ()\hspace{0.3cm}{\tt  [inline]}}\label{class_Atom_a11}




Definition at line 171 of file atom.h.\footnotesize\begin{verbatim}00172 {  return residue_number; }
00173 \end{verbatim}\normalsize 
\index{Atom@{Atom}!ResNum@{ResNum}}
\index{ResNum@{ResNum}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const int \& Atom::Res\-Num () const\hspace{0.3cm}{\tt  [inline]}}\label{class_Atom_a10}




Definition at line 169 of file atom.h.

Referenced by Atom\-Registry::Set\-Type().\footnotesize\begin{verbatim}00170 {  return residue_number; }
00171 \end{verbatim}\normalsize 
\index{Atom@{Atom}!Type@{Type}}
\index{Type@{Type}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Dyn\-String} \& Atom::Type ()\hspace{0.3cm}{\tt  [inline]}}\label{class_Atom_a5}




Definition at line 161 of file atom.h.\footnotesize\begin{verbatim}00162 { return type; }
00163 \end{verbatim}\normalsize 
\index{Atom@{Atom}!Type@{Type}}
\index{Type@{Type}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Dyn\-String} \& Atom::Type () const\hspace{0.3cm}{\tt  [inline]}}\label{class_Atom_a4}




Definition at line 159 of file atom.h.

Referenced by Atom\-Registry::Set\-Type().\footnotesize\begin{verbatim}00160 { return type; }
00161 \end{verbatim}\normalsize 
\index{Atom@{Atom}!VDW@{VDW}}
\index{VDW@{VDW}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}double \& Atom::VDW ()\hspace{0.3cm}{\tt  [inline]}}\label{class_Atom_a9}




Definition at line 166 of file atom.h.\footnotesize\begin{verbatim}00167 {  return VDW_Radius; }
00168 \end{verbatim}\normalsize 
\index{Atom@{Atom}!VDW@{VDW}}
\index{VDW@{VDW}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const double \& Atom::VDW () const\hspace{0.3cm}{\tt  [inline]}}\label{class_Atom_a8}




Definition at line 164 of file atom.h.

Referenced by Envelope::Build(), Atom\-Registry::Set\-Type(), and Molecule::VDW().\footnotesize\begin{verbatim}00165 {  return VDW_Radius; }
00166 \end{verbatim}\normalsize 
\index{Atom@{Atom}!cov_dist@{cov\_\-dist}}
\index{cov_dist@{cov\_\-dist}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}double \& Atom::cov\_\-dist ()\hspace{0.3cm}{\tt  [inline]}}\label{class_Atom_a13}




Definition at line 176 of file atom.h.\footnotesize\begin{verbatim}00177 { return cov_dist_Radius; }
00178 \end{verbatim}\normalsize 
\index{Atom@{Atom}!cov_dist@{cov\_\-dist}}
\index{cov_dist@{cov\_\-dist}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const double \& Atom::cov\_\-dist () const\hspace{0.3cm}{\tt  [inline]}}\label{class_Atom_a12}




Definition at line 174 of file atom.h.

Referenced by Atom\-Registry::Set\-Type().\footnotesize\begin{verbatim}00175 { return cov_dist_Radius; }
00176 \end{verbatim}\normalsize 
\index{Atom@{Atom}!operator *@{operator $\ast$}}
\index{operator *@{operator $\ast$}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf j\-Vector}\& Atom::operator $\ast$ ()}\label{class_Atom_a17}


\index{Atom@{Atom}!operator *@{operator $\ast$}}
\index{operator *@{operator $\ast$}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf j\-Vector}\& Atom::operator $\ast$ () const}\label{class_Atom_a16}


\index{Atom@{Atom}!operator=@{operator=}}
\index{operator=@{operator=}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const Atom \& Atom::operator= (const Atom \& {\em a})\hspace{0.3cm}{\tt  [inline]}}\label{class_Atom_a19}




Definition at line 127 of file atom.h.\footnotesize\begin{verbatim}00127                                                   {
00128 
00129   id = a.id;
00130   type = a.type;
00131   label = a.label;
00132   VDW_Radius = a.VDW_Radius;
00133   cov_dist_Radius = a.cov_dist_Radius;
00134   moved = a.moved;
00135   residue_number = a.residue_number;
00136   Bonds = a.Bonds;
00137   
00138   return *this;
00139 \end{verbatim}\normalsize 


\subsection{Friends And Related Function Documentation}
\index{Atom@{Atom}!Molecule@{Molecule}}
\index{Molecule@{Molecule}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}class Molecule\hspace{0.3cm}{\tt  [friend]}}\label{class_Atom_l0}




Definition at line 35 of file atom.h.\index{Atom@{Atom}!Residue@{Residue}}
\index{Residue@{Residue}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}class Residue\hspace{0.3cm}{\tt  [friend]}}\label{class_Atom_l1}




Definition at line 36 of file atom.h.

\subsection{Member Data Documentation}
\index{Atom@{Atom}!Bonds@{Bonds}}
\index{Bonds@{Bonds}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Int\-Vec} Atom::Bonds\hspace{0.3cm}{\tt  [private]}}\label{class_Atom_o7}




Definition at line 96 of file atom.h.\index{Atom@{Atom}!VDW_Radius@{VDW\_\-Radius}}
\index{VDW_Radius@{VDW\_\-Radius}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}double Atom::VDW\_\-Radius\hspace{0.3cm}{\tt  [private]}}\label{class_Atom_o3}




Definition at line 92 of file atom.h.\index{Atom@{Atom}!cov_dist_Radius@{cov\_\-dist\_\-Radius}}
\index{cov_dist_Radius@{cov\_\-dist\_\-Radius}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}double Atom::cov\_\-dist\_\-Radius\hspace{0.3cm}{\tt  [private]}}\label{class_Atom_o4}




Definition at line 93 of file atom.h.\index{Atom@{Atom}!id@{id}}
\index{id@{id}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Atom::id\hspace{0.3cm}{\tt  [private]}}\label{class_Atom_o2}




Definition at line 91 of file atom.h.\index{Atom@{Atom}!label@{label}}
\index{label@{label}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Dyn\-String} Atom::label\hspace{0.3cm}{\tt  [private]}}\label{class_Atom_o0}




Definition at line 89 of file atom.h.\index{Atom@{Atom}!moved@{moved}}
\index{moved@{moved}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool Atom::moved\hspace{0.3cm}{\tt  [private]}}\label{class_Atom_o5}




Definition at line 94 of file atom.h.\index{Atom@{Atom}!residue_number@{residue\_\-number}}
\index{residue_number@{residue\_\-number}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Atom::residue\_\-number\hspace{0.3cm}{\tt  [private]}}\label{class_Atom_o6}




Definition at line 95 of file atom.h.\index{Atom@{Atom}!type@{type}}
\index{type@{type}!Atom@{Atom}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Dyn\-String} Atom::type\hspace{0.3cm}{\tt  [private]}}\label{class_Atom_o1}




Definition at line 90 of file atom.h.

The documentation for this class was generated from the following file:\begin{CompactItemize}
\item 
{\bf atom.h}\end{CompactItemize}
