\section{Particle representation}
\label{sect:amplitudes}
\index{amplitude}
\index{spin}
\index{representation}
\index{scalar particle}
\index{vector particle}
\index{tensor particle}
\index{spin 1/2 particle}
\index{photon}
\index{neutrino}

Particles with spin up to spin 2, with the exception of spin 3/2,
are handled by classes within the framework of EvtGen.\footnote{
Other particles will be added as need arises.
}
This
section will describe how spin degrees of freedom are
represented, and will introduce the classes that represent
particles in EvtGen.  Table~\ref{tab:reps} summarizes the different
types of particles currently implemented.

\begin{table}[htbp]
\begin{center}
\begin{tabular}{ccccl} \hline
Class name     &  Rep. &  J   &  States   & Example \\ \hline
EvtScalarParticle   &  1    &   0  &    1      &  $\pi$, $B^0$ \\
EvtDiracParticle    & $u_{\alpha}$& 1/2 & 2       &  $e$, $\tau$ \\
EvtNeutrinoParticle & $u_{\alpha}$& 1/2 & 1       &  $\nu_e$ \\
EvtVectorParticle   & $\epsilon^{\mu}$ & 1 & 3&  $\rho$, $J/\Psi$ \\
EvtPhotonParticle   & $\epsilon^{\mu}$ & 1 & 2&  $\gamma$ \\
EvtTensorParticle   & $T^{\mu\nu}$ & 2 & 5 &   $D^*_2$, $f_2$ \\ \hline
\end{tabular}
\caption{The different types of particles that supported by EvtGen.
The spin 3/2, Rarita-Schwinger, representation has not yet been
implemented.
\label{tab:reps}}
\end{center}
\end{table}

In Table~\ref{tab:reps}, $u_{\alpha}$ 
represents a four component Dirac spinor,
defined in the Pauli-Dirac convention for the
gamma matrices, as discussed in Section~\ref{sect:diracspinor}.
The {\tt EvtDiracParticle} class represents
massive spin 1/2 particles that have
two spin degrees of freedom. Neutrinos are also represented
with a 4-component Dirac spinor by the {\tt EvtNeutrinoParticle}
class.  Neutrinos are assumed to
be massless and only left handed neutrinos and 
right handed anti-neutrinos
are considered. 

The complex 4-vector
$\epsilon^{\mu}$ is used to represent 
the spin degrees of freedom for
spin 1 particles.  Massive spin 1 particles, represented
by the {\tt EvtVectorParticle} class,
have three degrees of freedom.  The
{\tt EvtPhotonParticle} class represents massless
spin 1 particles, which have only two (longitudinal) 
degrees of freedom.

Massive spin 2 particles are represented 
with a complex symmetric rank 2 tensor and are
implemented in the {\tt EvtTensorParticle}
class. 

For each particle initialized in EvtGen, a set of
basis states is created, where the number of basis states is
the same as the number of spin degrees of freedom.
These basis states can be accessed 
through the {\tt EvtParticle} class 
in either the particle's rest frame or in
the parent's rest frame. For massless particles, only states
in the parent's rest frame are available.
As an example, consider the basis
for a massive spin 1 particle in it's own rest frame
\begin{eqnarray}
\epsilon^{\mu}_1&=&(0,1,0,0),\\
\epsilon^{\mu}_2&=&(0,0,1,0),\\
\epsilon^{\mu}_3&=&(0,0,0,1).
\end{eqnarray}
Note that these basis vectors are mutually orthogonal, and
normalized. That is,
\begin{equation}
g_{\mu\nu}\epsilon^{*\mu}_i\epsilon^{\nu}_j=\delta_{ij}.
\end{equation}
Further, they form a complete set 
\begin{equation}
\sum_i\epsilon^{*\mu}_i\epsilon^{\nu}_i=g^{\mu\nu}-p^{\mu}p^{\nu}/m^2,
\end{equation}
where $g^{\mu\nu}-p^{\mu}p^{\nu}/m^2$
is the propagator for an on-shell spin 1 particle.

In order to write a new decay model, there
is no reason to need to know the exact choice of
these basis states.  The code needed to describe the amplitude
for a decay process is independent of these states, as
long as they are complete, orthogonal and normalized.



