\doxysection{PInstrument\+Def\+XMLParser Class Reference}
\hypertarget{classPInstrumentDefXMLParser}{}\label{classPInstrumentDefXMLParser}\index{PInstrumentDefXMLParser@{PInstrumentDefXMLParser}}


The \doxylink{classPInstrumentDefXMLParser}{PInstrument\+Def\+XMLParser} class parses instrument definition XML files.  




{\ttfamily \#include $<$PAdmin.\+h$>$}

\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classPInstrumentDefXMLParser_a5e64dacf61984091bc94afc70de6bccf}{PInstrument\+Def\+XMLParser}} (const QString \&fln, \mbox{\hyperlink{classPAdmin}{PAdmin}} \texorpdfstring{$\ast$}{*})
\begin{DoxyCompactList}\small\item\em Constructor. Parses the given instrument definition XML file. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{classPInstrumentDefXMLParser_a36fc04ea75013cb42401dde431055653}{\texorpdfstring{$\sim$}{\string~}\+PInstrument\+Def\+XMLParser}} ()
\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
virtual bool \mbox{\hyperlink{classPInstrumentDefXMLParser_ac8564be3ad529fbdd21bcff482dae5b0}{is\+Valid}} ()
\begin{DoxyCompactList}\small\item\em Checks if the XML parsing was successful. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Private Types}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4}{EKey\+Words}} \{ \newline
\mbox{\hyperlink{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4a98cbd83946839d542c473d338d9db569}{e\+Empty}}
, \mbox{\hyperlink{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4ace03ba4a178fd53890599a95ff7bc4cf}{e\+Institute}}
, \mbox{\hyperlink{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4a86c7d24c55d5ace7baff370c29903a09}{e\+Instrument}}
, \mbox{\hyperlink{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4ad5fc91d1362603207e9e2bbe11aa14b0}{e\+Run\+Name\+Template}}
, \newline
\mbox{\hyperlink{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4a8f3bdf0aba6fb5c44514e7cfb092504b}{e\+Beamline}}
, \mbox{\hyperlink{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4a60d9a3d95d42de70dc5e1cd0358e3597}{e\+Data\+File\+Format}}
, \mbox{\hyperlink{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4a17fb595f312e75f049f8fb528e22ba6e}{e\+Tf}}
, \mbox{\hyperlink{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4a104affa31f575035e7ac8140bafdf775}{e\+Zf}}
, \newline
\mbox{\hyperlink{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4a23809a776ac950a0fd897a44140abf45}{e\+Lf}}
, \mbox{\hyperlink{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4a8506629de48e8f31b69cc41f37f0abe4}{e\+No\+Of\+Detectors}}
, \mbox{\hyperlink{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4a9ffca70b9c33285de95c39b57ddf6551}{e\+Fgb\+Offset}}
, \mbox{\hyperlink{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4ae3541e99d8178b95fbf7c4d857203db4}{e\+Lgb}}
, \newline
\mbox{\hyperlink{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4a9c05a9f22019d7bd8d5a3049de16ba99}{e\+Bkg\+Range}}
, \mbox{\hyperlink{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4af9370d20c5e064d532e304b99e9072af}{e\+Logic\+Detector}}
 \}
\begin{DoxyCompactList}\small\item\em Enumeration of XML tag keywords for parsing state machine. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
bool \mbox{\hyperlink{classPInstrumentDefXMLParser_ab5788242d6ee5198d53d7402898bb725}{parse}} (QIODevice \texorpdfstring{$\ast$}{*}device)
\item 
bool \mbox{\hyperlink{classPInstrumentDefXMLParser_adbce877b4ed488b89a31e5d8937e3de7}{start\+Document}} ()
\item 
bool \mbox{\hyperlink{classPInstrumentDefXMLParser_aa983d67550adb83f3d6f9ecfe2d16f46}{start\+Element}} ()
\item 
bool \mbox{\hyperlink{classPInstrumentDefXMLParser_ad95c9f0187c620990e24d77ad616bd3c}{end\+Element}} ()
\item 
bool \mbox{\hyperlink{classPInstrumentDefXMLParser_a4fbbe3242832c7535133cbb603e7e5f5}{characters}} ()
\item 
bool \mbox{\hyperlink{classPInstrumentDefXMLParser_a7b2c84d5903a9fb6159e23c923af426e}{end\+Document}} ()
\end{DoxyCompactItemize}
\doxysubsubsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
QXml\+Stream\+Reader \mbox{\hyperlink{classPInstrumentDefXMLParser_a20527c4f832959b964507a0a9152a205}{f\+Xml}}
\begin{DoxyCompactList}\small\item\em xml stream reader object \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{classPInstrumentDefXMLParser_a09675ebb7921a325a4e791f9c2535e6a}{f\+Valid}}
\begin{DoxyCompactList}\small\item\em flag showing if XML read has been successful \end{DoxyCompactList}\item 
\mbox{\hyperlink{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4}{EKey\+Words}} \mbox{\hyperlink{classPInstrumentDefXMLParser_a145db42c521758f6c12f245a8d246fc7}{f\+Key\+Word}}
\begin{DoxyCompactList}\small\item\em key word tag to know how to handle the content \end{DoxyCompactList}\item 
\mbox{\hyperlink{classPAdmin}{PAdmin}} \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{classPInstrumentDefXMLParser_adaa7ec0170620fc974c516e42ff77046}{f\+Admin}}
\begin{DoxyCompactList}\small\item\em a pointer to the main administration class object \end{DoxyCompactList}\item 
QString \mbox{\hyperlink{classPInstrumentDefXMLParser_a6408aeb14860ac7aecc684a163bb32d3}{f\+Institute\+Name}}
\begin{DoxyCompactList}\small\item\em current institute name being parsed \end{DoxyCompactList}\item 
\mbox{\hyperlink{classPInstrument}{PInstrument}} \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{classPInstrumentDefXMLParser_a2aab3322ca26978a7126e0cb6a2aa991}{f\+Instrument}}
\begin{DoxyCompactList}\small\item\em current instrument object being built \end{DoxyCompactList}\item 
\mbox{\hyperlink{classPSetup}{PSetup}} \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{classPInstrumentDefXMLParser_aa57e962d54cb682d944a235dac01b73d}{f\+Setup}}
\begin{DoxyCompactList}\small\item\em current setup object being built \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
The \doxylink{classPInstrumentDefXMLParser}{PInstrument\+Def\+XMLParser} class parses instrument definition XML files. 

This class reads and parses XML files containing instrument definitions for various muon facilities (PSI, TRIUMF, ISIS, J-\/\+PARC). Each instrument includes setup configurations for different measurement types (ZF, TF, LF). 

\doxysubsection{Member Enumeration Documentation}
\Hypertarget{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4}\index{PInstrumentDefXMLParser@{PInstrumentDefXMLParser}!EKeyWords@{EKeyWords}}
\index{EKeyWords@{EKeyWords}!PInstrumentDefXMLParser@{PInstrumentDefXMLParser}}
\doxysubsubsection{\texorpdfstring{EKeyWords}{EKeyWords}}
{\footnotesize\ttfamily \label{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4} 
enum \mbox{\hyperlink{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4}{PInstrument\+Def\+XMLParser\+::\+EKey\+Words}}\hspace{0.3cm}{\ttfamily [private]}}



Enumeration of XML tag keywords for parsing state machine. 

\begin{DoxyEnumFields}[2]{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{eEmpty@{eEmpty}!PInstrumentDefXMLParser@{PInstrumentDefXMLParser}}\index{PInstrumentDefXMLParser@{PInstrumentDefXMLParser}!eEmpty@{eEmpty}}}\Hypertarget{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4a98cbd83946839d542c473d338d9db569}\label{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4a98cbd83946839d542c473d338d9db569} 
e\+Empty&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{eInstitute@{eInstitute}!PInstrumentDefXMLParser@{PInstrumentDefXMLParser}}\index{PInstrumentDefXMLParser@{PInstrumentDefXMLParser}!eInstitute@{eInstitute}}}\Hypertarget{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4ace03ba4a178fd53890599a95ff7bc4cf}\label{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4ace03ba4a178fd53890599a95ff7bc4cf} 
e\+Institute&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{eInstrument@{eInstrument}!PInstrumentDefXMLParser@{PInstrumentDefXMLParser}}\index{PInstrumentDefXMLParser@{PInstrumentDefXMLParser}!eInstrument@{eInstrument}}}\Hypertarget{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4a86c7d24c55d5ace7baff370c29903a09}\label{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4a86c7d24c55d5ace7baff370c29903a09} 
e\+Instrument&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{eRunNameTemplate@{eRunNameTemplate}!PInstrumentDefXMLParser@{PInstrumentDefXMLParser}}\index{PInstrumentDefXMLParser@{PInstrumentDefXMLParser}!eRunNameTemplate@{eRunNameTemplate}}}\Hypertarget{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4ad5fc91d1362603207e9e2bbe11aa14b0}\label{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4ad5fc91d1362603207e9e2bbe11aa14b0} 
e\+Run\+Name\+Template&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{eBeamline@{eBeamline}!PInstrumentDefXMLParser@{PInstrumentDefXMLParser}}\index{PInstrumentDefXMLParser@{PInstrumentDefXMLParser}!eBeamline@{eBeamline}}}\Hypertarget{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4a8f3bdf0aba6fb5c44514e7cfb092504b}\label{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4a8f3bdf0aba6fb5c44514e7cfb092504b} 
e\+Beamline&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{eDataFileFormat@{eDataFileFormat}!PInstrumentDefXMLParser@{PInstrumentDefXMLParser}}\index{PInstrumentDefXMLParser@{PInstrumentDefXMLParser}!eDataFileFormat@{eDataFileFormat}}}\Hypertarget{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4a60d9a3d95d42de70dc5e1cd0358e3597}\label{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4a60d9a3d95d42de70dc5e1cd0358e3597} 
e\+Data\+File\+Format&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{eTf@{eTf}!PInstrumentDefXMLParser@{PInstrumentDefXMLParser}}\index{PInstrumentDefXMLParser@{PInstrumentDefXMLParser}!eTf@{eTf}}}\Hypertarget{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4a17fb595f312e75f049f8fb528e22ba6e}\label{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4a17fb595f312e75f049f8fb528e22ba6e} 
e\+Tf&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{eZf@{eZf}!PInstrumentDefXMLParser@{PInstrumentDefXMLParser}}\index{PInstrumentDefXMLParser@{PInstrumentDefXMLParser}!eZf@{eZf}}}\Hypertarget{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4a104affa31f575035e7ac8140bafdf775}\label{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4a104affa31f575035e7ac8140bafdf775} 
e\+Zf&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{eLf@{eLf}!PInstrumentDefXMLParser@{PInstrumentDefXMLParser}}\index{PInstrumentDefXMLParser@{PInstrumentDefXMLParser}!eLf@{eLf}}}\Hypertarget{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4a23809a776ac950a0fd897a44140abf45}\label{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4a23809a776ac950a0fd897a44140abf45} 
e\+Lf&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{eNoOfDetectors@{eNoOfDetectors}!PInstrumentDefXMLParser@{PInstrumentDefXMLParser}}\index{PInstrumentDefXMLParser@{PInstrumentDefXMLParser}!eNoOfDetectors@{eNoOfDetectors}}}\Hypertarget{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4a8506629de48e8f31b69cc41f37f0abe4}\label{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4a8506629de48e8f31b69cc41f37f0abe4} 
e\+No\+Of\+Detectors&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{eFgbOffset@{eFgbOffset}!PInstrumentDefXMLParser@{PInstrumentDefXMLParser}}\index{PInstrumentDefXMLParser@{PInstrumentDefXMLParser}!eFgbOffset@{eFgbOffset}}}\Hypertarget{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4a9ffca70b9c33285de95c39b57ddf6551}\label{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4a9ffca70b9c33285de95c39b57ddf6551} 
e\+Fgb\+Offset&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{eLgb@{eLgb}!PInstrumentDefXMLParser@{PInstrumentDefXMLParser}}\index{PInstrumentDefXMLParser@{PInstrumentDefXMLParser}!eLgb@{eLgb}}}\Hypertarget{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4ae3541e99d8178b95fbf7c4d857203db4}\label{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4ae3541e99d8178b95fbf7c4d857203db4} 
e\+Lgb&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{eBkgRange@{eBkgRange}!PInstrumentDefXMLParser@{PInstrumentDefXMLParser}}\index{PInstrumentDefXMLParser@{PInstrumentDefXMLParser}!eBkgRange@{eBkgRange}}}\Hypertarget{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4a9c05a9f22019d7bd8d5a3049de16ba99}\label{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4a9c05a9f22019d7bd8d5a3049de16ba99} 
e\+Bkg\+Range&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{eLogicDetector@{eLogicDetector}!PInstrumentDefXMLParser@{PInstrumentDefXMLParser}}\index{PInstrumentDefXMLParser@{PInstrumentDefXMLParser}!eLogicDetector@{eLogicDetector}}}\Hypertarget{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4af9370d20c5e064d532e304b99e9072af}\label{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4af9370d20c5e064d532e304b99e9072af} 
e\+Logic\+Detector&\\
\hline

\end{DoxyEnumFields}


\doxysubsection{Constructor \& Destructor Documentation}
\Hypertarget{classPInstrumentDefXMLParser_a5e64dacf61984091bc94afc70de6bccf}\index{PInstrumentDefXMLParser@{PInstrumentDefXMLParser}!PInstrumentDefXMLParser@{PInstrumentDefXMLParser}}
\index{PInstrumentDefXMLParser@{PInstrumentDefXMLParser}!PInstrumentDefXMLParser@{PInstrumentDefXMLParser}}
\doxysubsubsection{\texorpdfstring{PInstrumentDefXMLParser()}{PInstrumentDefXMLParser()}}
{\footnotesize\ttfamily \label{classPInstrumentDefXMLParser_a5e64dacf61984091bc94afc70de6bccf} 
PInstrument\+Def\+XMLParser\+::\+PInstrument\+Def\+XMLParser (\begin{DoxyParamCaption}\item[{const QString \&}]{fln}{, }\item[{\mbox{\hyperlink{classPAdmin}{PAdmin}} \texorpdfstring{$\ast$}{*}}]{admin}{}\end{DoxyParamCaption})}



Constructor. Parses the given instrument definition XML file. 


\begin{DoxyParams}{Parameters}
{\em fln} & Path to the instrument definition XML file. \\
\hline
{\em admin} & Pointer to the \doxylink{classPAdmin}{PAdmin} object where parsed data will be stored.\\
\hline
\end{DoxyParams}


XML Parser class for the instrument definition file(s).


\begin{DoxyParams}{Parameters}
{\em file} & name of the instrument definition file(s). \\
\hline
{\em admin} & pointer to an admin class instance. \\
\hline
\end{DoxyParams}
\Hypertarget{classPInstrumentDefXMLParser_a36fc04ea75013cb42401dde431055653}\index{PInstrumentDefXMLParser@{PInstrumentDefXMLParser}!````~PInstrumentDefXMLParser@{\texorpdfstring{$\sim$}{\string~}PInstrumentDefXMLParser}}
\index{````~PInstrumentDefXMLParser@{\texorpdfstring{$\sim$}{\string~}PInstrumentDefXMLParser}!PInstrumentDefXMLParser@{PInstrumentDefXMLParser}}
\doxysubsubsection{\texorpdfstring{\texorpdfstring{$\sim$}{\string~}PInstrumentDefXMLParser()}{\string~PInstrumentDefXMLParser()}}
{\footnotesize\ttfamily \label{classPInstrumentDefXMLParser_a36fc04ea75013cb42401dde431055653} 
virtual PInstrument\+Def\+XMLParser\+::\texorpdfstring{$\sim$}{\string~}\+PInstrument\+Def\+XMLParser (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Destructor. 



\doxysubsection{Member Function Documentation}
\Hypertarget{classPInstrumentDefXMLParser_a4fbbe3242832c7535133cbb603e7e5f5}\index{PInstrumentDefXMLParser@{PInstrumentDefXMLParser}!characters@{characters}}
\index{characters@{characters}!PInstrumentDefXMLParser@{PInstrumentDefXMLParser}}
\doxysubsubsection{\texorpdfstring{characters()}{characters()}}
{\footnotesize\ttfamily \label{classPInstrumentDefXMLParser_a4fbbe3242832c7535133cbb603e7e5f5} 
bool PInstrument\+Def\+XMLParser\+::characters (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}

This routine delivers the content of an XML tag. It fills the content into the load data structure. \Hypertarget{classPInstrumentDefXMLParser_a7b2c84d5903a9fb6159e23c923af426e}\index{PInstrumentDefXMLParser@{PInstrumentDefXMLParser}!endDocument@{endDocument}}
\index{endDocument@{endDocument}!PInstrumentDefXMLParser@{PInstrumentDefXMLParser}}
\doxysubsubsection{\texorpdfstring{endDocument()}{endDocument()}}
{\footnotesize\ttfamily \label{classPInstrumentDefXMLParser_a7b2c84d5903a9fb6159e23c923af426e} 
bool PInstrument\+Def\+XMLParser\+::end\+Document (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}

Called at the end of the XML parse process. It checks if default paths contain system variables, and if so expand them for the further use. \Hypertarget{classPInstrumentDefXMLParser_ad95c9f0187c620990e24d77ad616bd3c}\index{PInstrumentDefXMLParser@{PInstrumentDefXMLParser}!endElement@{endElement}}
\index{endElement@{endElement}!PInstrumentDefXMLParser@{PInstrumentDefXMLParser}}
\doxysubsubsection{\texorpdfstring{endElement()}{endElement()}}
{\footnotesize\ttfamily \label{classPInstrumentDefXMLParser_ad95c9f0187c620990e24d77ad616bd3c} 
bool PInstrument\+Def\+XMLParser\+::end\+Element (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}

Routine called when the end XML tag is found. It is used to put the filtering tag to \textquotesingle{}empty\textquotesingle{}. It also resets the f\+Func flag in case the entry was a theory function. \Hypertarget{classPInstrumentDefXMLParser_ac8564be3ad529fbdd21bcff482dae5b0}\index{PInstrumentDefXMLParser@{PInstrumentDefXMLParser}!isValid@{isValid}}
\index{isValid@{isValid}!PInstrumentDefXMLParser@{PInstrumentDefXMLParser}}
\doxysubsubsection{\texorpdfstring{isValid()}{isValid()}}
{\footnotesize\ttfamily \label{classPInstrumentDefXMLParser_ac8564be3ad529fbdd21bcff482dae5b0} 
virtual bool PInstrument\+Def\+XMLParser\+::is\+Valid (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Checks if the XML parsing was successful. 

\begin{DoxyReturn}{Returns}
true if parsing succeeded, false otherwise. 
\end{DoxyReturn}
\Hypertarget{classPInstrumentDefXMLParser_ab5788242d6ee5198d53d7402898bb725}\index{PInstrumentDefXMLParser@{PInstrumentDefXMLParser}!parse@{parse}}
\index{parse@{parse}!PInstrumentDefXMLParser@{PInstrumentDefXMLParser}}
\doxysubsubsection{\texorpdfstring{parse()}{parse()}}
{\footnotesize\ttfamily \label{classPInstrumentDefXMLParser_ab5788242d6ee5198d53d7402898bb725} 
bool PInstrument\+Def\+XMLParser\+::parse (\begin{DoxyParamCaption}\item[{QIODevice \texorpdfstring{$\ast$}{*}}]{device}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}

parse the instrument definition xml-\/file(s).


\begin{DoxyParams}{Parameters}
{\em device} & QFile object of the instrument definition xml-\/file(s).\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true on success, false otherwise 
\end{DoxyReturn}
\Hypertarget{classPInstrumentDefXMLParser_adbce877b4ed488b89a31e5d8937e3de7}\index{PInstrumentDefXMLParser@{PInstrumentDefXMLParser}!startDocument@{startDocument}}
\index{startDocument@{startDocument}!PInstrumentDefXMLParser@{PInstrumentDefXMLParser}}
\doxysubsubsection{\texorpdfstring{startDocument()}{startDocument()}}
{\footnotesize\ttfamily \label{classPInstrumentDefXMLParser_adbce877b4ed488b89a31e5d8937e3de7} 
bool PInstrument\+Def\+XMLParser\+::start\+Document (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}

Routine called at the beginning of the XML parsing process. \Hypertarget{classPInstrumentDefXMLParser_aa983d67550adb83f3d6f9ecfe2d16f46}\index{PInstrumentDefXMLParser@{PInstrumentDefXMLParser}!startElement@{startElement}}
\index{startElement@{startElement}!PInstrumentDefXMLParser@{PInstrumentDefXMLParser}}
\doxysubsubsection{\texorpdfstring{startElement()}{startElement()}}
{\footnotesize\ttfamily \label{classPInstrumentDefXMLParser_aa983d67550adb83f3d6f9ecfe2d16f46} 
bool PInstrument\+Def\+XMLParser\+::start\+Element (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}

Routine called when a new XML tag is found. Here it is used to set a tag for filtering afterwards the content. 

\doxysubsection{Member Data Documentation}
\Hypertarget{classPInstrumentDefXMLParser_adaa7ec0170620fc974c516e42ff77046}\index{PInstrumentDefXMLParser@{PInstrumentDefXMLParser}!fAdmin@{fAdmin}}
\index{fAdmin@{fAdmin}!PInstrumentDefXMLParser@{PInstrumentDefXMLParser}}
\doxysubsubsection{\texorpdfstring{fAdmin}{fAdmin}}
{\footnotesize\ttfamily \label{classPInstrumentDefXMLParser_adaa7ec0170620fc974c516e42ff77046} 
\mbox{\hyperlink{classPAdmin}{PAdmin}}\texorpdfstring{$\ast$}{*} PInstrument\+Def\+XMLParser\+::f\+Admin\hspace{0.3cm}{\ttfamily [private]}}



a pointer to the main administration class object 

\Hypertarget{classPInstrumentDefXMLParser_a6408aeb14860ac7aecc684a163bb32d3}\index{PInstrumentDefXMLParser@{PInstrumentDefXMLParser}!fInstituteName@{fInstituteName}}
\index{fInstituteName@{fInstituteName}!PInstrumentDefXMLParser@{PInstrumentDefXMLParser}}
\doxysubsubsection{\texorpdfstring{fInstituteName}{fInstituteName}}
{\footnotesize\ttfamily \label{classPInstrumentDefXMLParser_a6408aeb14860ac7aecc684a163bb32d3} 
QString PInstrument\+Def\+XMLParser\+::f\+Institute\+Name\hspace{0.3cm}{\ttfamily [private]}}



current institute name being parsed 

\Hypertarget{classPInstrumentDefXMLParser_a2aab3322ca26978a7126e0cb6a2aa991}\index{PInstrumentDefXMLParser@{PInstrumentDefXMLParser}!fInstrument@{fInstrument}}
\index{fInstrument@{fInstrument}!PInstrumentDefXMLParser@{PInstrumentDefXMLParser}}
\doxysubsubsection{\texorpdfstring{fInstrument}{fInstrument}}
{\footnotesize\ttfamily \label{classPInstrumentDefXMLParser_a2aab3322ca26978a7126e0cb6a2aa991} 
\mbox{\hyperlink{classPInstrument}{PInstrument}}\texorpdfstring{$\ast$}{*} PInstrument\+Def\+XMLParser\+::f\+Instrument\hspace{0.3cm}{\ttfamily [private]}}



current instrument object being built 

\Hypertarget{classPInstrumentDefXMLParser_a145db42c521758f6c12f245a8d246fc7}\index{PInstrumentDefXMLParser@{PInstrumentDefXMLParser}!fKeyWord@{fKeyWord}}
\index{fKeyWord@{fKeyWord}!PInstrumentDefXMLParser@{PInstrumentDefXMLParser}}
\doxysubsubsection{\texorpdfstring{fKeyWord}{fKeyWord}}
{\footnotesize\ttfamily \label{classPInstrumentDefXMLParser_a145db42c521758f6c12f245a8d246fc7} 
\mbox{\hyperlink{classPInstrumentDefXMLParser_af93c010ee26ebea1bbcdfb4a06a00db4}{EKey\+Words}} PInstrument\+Def\+XMLParser\+::f\+Key\+Word\hspace{0.3cm}{\ttfamily [private]}}



key word tag to know how to handle the content 

\Hypertarget{classPInstrumentDefXMLParser_aa57e962d54cb682d944a235dac01b73d}\index{PInstrumentDefXMLParser@{PInstrumentDefXMLParser}!fSetup@{fSetup}}
\index{fSetup@{fSetup}!PInstrumentDefXMLParser@{PInstrumentDefXMLParser}}
\doxysubsubsection{\texorpdfstring{fSetup}{fSetup}}
{\footnotesize\ttfamily \label{classPInstrumentDefXMLParser_aa57e962d54cb682d944a235dac01b73d} 
\mbox{\hyperlink{classPSetup}{PSetup}}\texorpdfstring{$\ast$}{*} PInstrument\+Def\+XMLParser\+::f\+Setup\hspace{0.3cm}{\ttfamily [private]}}



current setup object being built 

\Hypertarget{classPInstrumentDefXMLParser_a09675ebb7921a325a4e791f9c2535e6a}\index{PInstrumentDefXMLParser@{PInstrumentDefXMLParser}!fValid@{fValid}}
\index{fValid@{fValid}!PInstrumentDefXMLParser@{PInstrumentDefXMLParser}}
\doxysubsubsection{\texorpdfstring{fValid}{fValid}}
{\footnotesize\ttfamily \label{classPInstrumentDefXMLParser_a09675ebb7921a325a4e791f9c2535e6a} 
bool PInstrument\+Def\+XMLParser\+::f\+Valid\hspace{0.3cm}{\ttfamily [private]}}



flag showing if XML read has been successful 

\Hypertarget{classPInstrumentDefXMLParser_a20527c4f832959b964507a0a9152a205}\index{PInstrumentDefXMLParser@{PInstrumentDefXMLParser}!fXml@{fXml}}
\index{fXml@{fXml}!PInstrumentDefXMLParser@{PInstrumentDefXMLParser}}
\doxysubsubsection{\texorpdfstring{fXml}{fXml}}
{\footnotesize\ttfamily \label{classPInstrumentDefXMLParser_a20527c4f832959b964507a0a9152a205} 
QXml\+Stream\+Reader PInstrument\+Def\+XMLParser\+::f\+Xml\hspace{0.3cm}{\ttfamily [private]}}



xml stream reader object 



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
/workspace/\+LMU/musrfit/src/musredit\+\_\+qt6/musr\+Wiz/\mbox{\hyperlink{PAdmin_8h}{PAdmin.\+h}}\item 
/workspace/\+LMU/musrfit/src/musredit\+\_\+qt6/musr\+Wiz/\mbox{\hyperlink{PAdmin_8cpp}{PAdmin.\+cpp}}\end{DoxyCompactItemize}
