\HeaderA{"fixvars-methods"}{Checks and fixes the ranges, dimensions, and names of the
metadata based on the current data of an FCS R-object.}{"fixvars.Rdash.methods"}
\aliasA{fixvars}{"fixvars-methods"}{fixvars}
\aliasA{fixvars-methods}{"fixvars-methods"}{fixvars.Rdash.methods}
\keyword{methods}{"fixvars-methods"}
\keyword{data}{"fixvars-methods"}
\begin{Description}\relax
Any discrepancy between the metadata
and the data of the FCS object is considered as a failure to pass the
check and will be updated with the descriptives from the data.
The following is a description of the checks and fixes:

\item[1. Dimension check and fix] We always check the dimensions (ie,
if the data dimensions match with size (\$TOT) and nparam (\$PAR)
that are specified in the metadata.  If they are not in check, then
the metadata parameters are changed to reflect the values of the
data dimensions.    

\item[2. Parameter Name check and fix] We check the names of the metadata with the
names of the data column parameters.  Either only the longnames (\$PnS)
or the shortnames (\$PnN) of the metadata are checked against the
names of the data.  Please take note that
both (\$PnS) and (\$PnN) ARE NOT BOTH checked.  Depending on the number
of discrepancies (ie, the one with
the least number of discrepanices; by default the longnames if there
is a tie), either the longnames or the shortnames  of the
metadata are replaced with the column names of the data. 

\item[3. Column Variable Range Check] We check the paramranges
(\$PnR) specified in the metadata with the column parameter ranges of the
data; if there are any discrepancies, then the paramranges are
replaced with the maximum values of the data columns.


Please note that if the metadata@original is FALSE, then the metadata
slotNames have a 
"RFACSadd$>>$" suffix and are located
in metadata@fcsinfo in order to store the current data descriptives.
The original data descriptives can be retrieved/checked
when metadata@original is set to TRUE; otherwise the current metadata
information about the data is retrieved/checked even when the "RFACSadd$>>$"
suffix is not noted in the character index.

(ie) If metadata@original
is FALSE, then metadata[["size"]] will return
metadata[["RFACSadd$>>$\$TOT"]], the current row length of the data,
while metadata@size will return the number of rows for the original
data.

Note that metadata@original is changed only when a parameter column is
added to the data using \code{\LinkA{addParameter-methods}{addParameter.Rdash.methods}}, when rows of the data are
extracted using \code{\LinkA{extractGatedData}{extractGatedData}} or if the user decides to
change the value metadata@original.  Using \code{\LinkA{"["-methods}{"[".Rdash.methods}}
and \code{\LinkA{"[<-"-methods}{"[<.Rdash.".Rdash.methods}} on a \code{\LinkA{FCS}{FCS}} object
will not change the value of metadata@original.
\end{Description}
\begin{Section}{Methods}
\describe{

\item[x = "FCS"] A \code{FCS}object will be returned with any fixes to the
metadata.
\item[x = "FCS", x.name="", MY.DEBUG=TRUE, range.max=NULL] Other options in the signature include:

(1) x.name : character string of the true object name; default is ""
(ie, the objectname in the metadata will be regarded as the true
object name )

(2) MY.DEBUG : boolean value; if TRUE, then the output statements
are printed, otherwise if FALSE, then the statements are surpressed;
default is TRUE.

(3) range.max : numeric value describing the true maximum of the
data that the checks on the ranges will be compared; default is NULL
(ie, the maximum of each column variable in
the data is the truth)


}
\end{Section}

