\hypertarget{classBds_1_1DataFileTapeDigitiser}{}\section{Bds\+::Data\+File\+Tape\+Digitiser Class Reference}
\label{classBds_1_1DataFileTapeDigitiser}\index{Bds::DataFileTapeDigitiser@{Bds::DataFileTapeDigitiser}}


This class implements the Tape\+Digitiser\textquotesingle{}s file output conversion and storeing system.  




{\ttfamily \#include $<$Bds\+Data\+File\+Tape\+Digitiser.\+h$>$}

Inheritance diagram for Bds\+::Data\+File\+Tape\+Digitiser\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classBds_1_1DataFileTapeDigitiser}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classBds_1_1DataFileTapeDigitiser_afec5099ce3e035c71de714ceb13897b9}{Data\+File\+Tape\+Digitiser}} ()
\item 
\textbf{ B\+Error} \mbox{\hyperlink{classBds_1_1DataFileTapeDigitiser_a1e2fa2769b490954c9fe59630c9c3909}{open}} (\textbf{ B\+String} file\+Name, \textbf{ B\+String} mode)
\begin{DoxyCompactList}\small\item\em Open the file for reading or writing. \end{DoxyCompactList}\item 
\textbf{ B\+Error} \mbox{\hyperlink{classBds_1_1DataFileTapeDigitiser_ad4aa49e71065ee1ca1383a2cbcb9db23}{get\+Info}} (\mbox{\hyperlink{classBds_1_1DataInfo}{Data\+Info}} \&data\+Info, \mbox{\hyperlink{classBds_1_1DataFileOptions}{Data\+File\+Options}} options, \textbf{ B\+List}$<$ \mbox{\hyperlink{classBds_1_1DataError}{Data\+Error}} $>$ \&errors)
\begin{DoxyCompactList}\small\item\em Get info on data. \end{DoxyCompactList}\item 
\textbf{ B\+Error} \mbox{\hyperlink{classBds_1_1DataFileTapeDigitiser_a18a44e290aef3b75dec2fd47592d9ee3}{read\+Data}} (\textbf{ B\+U\+Int32} channel, \textbf{ B\+U\+Int} segment, \textbf{ B\+U\+Int32} block\+Number, \mbox{\hyperlink{classBds_1_1DataBlock}{Data\+Block}} \&\textbf{ data})
\begin{DoxyCompactList}\small\item\em Read a block. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static \mbox{\hyperlink{classBds_1_1DataFormat}{Data\+Format}} \mbox{\hyperlink{classBds_1_1DataFileTapeDigitiser_af1fbc3fb8cd6128bae25dfe754a742d8}{get\+Formats}} ()
\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
uint32\+\_\+t \mbox{\hyperlink{classBds_1_1DataFileTapeDigitiser_a31e0d4b11ee17703feaba10c7394d2bb}{block\+Size}} ()
\begin{DoxyCompactList}\small\item\em Returns the data block size in bytes. \end{DoxyCompactList}\item 
uint32\+\_\+t \mbox{\hyperlink{classBds_1_1DataFileTapeDigitiser_ae113dbcc71c665fd72fd7d3a26833e07}{block\+Num\+Samples}} ()
\begin{DoxyCompactList}\small\item\em Returns the number of samples of data in a block. \end{DoxyCompactList}\item 
\textbf{ B\+Error} \mbox{\hyperlink{classBds_1_1DataFileTapeDigitiser_ad35ba7ee646cef5760f7097340724324}{read\+Header}} (\textbf{ B\+Dict\+String} \&header)
\begin{DoxyCompactList}\small\item\em Read the file header info. \end{DoxyCompactList}\item 
uint32\+\_\+t \mbox{\hyperlink{classBds_1_1DataFileTapeDigitiser_a74b9d5b55d1a76903a7c4f1ef22b6f16}{compute\+Checksum}} (void $\ast$\textbf{ data}, int n\+Bytes)
\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\textbf{ B\+Dict\+String} \mbox{\hyperlink{classBds_1_1DataFileTapeDigitiser_a8772fc3e2693264ec84836ac1bec69af}{oheader}}
\item 
off64\+\_\+t \mbox{\hyperlink{classBds_1_1DataFileTapeDigitiser_ad8f9834725825b5b4ad6947a5496fd2d}{oheader\+Size}}
\item 
uint32\+\_\+t \mbox{\hyperlink{classBds_1_1DataFileTapeDigitiser_a3fd0bdd64743098649dd33eee67d5efe}{oblock\+Size}}
\item 
uint32\+\_\+t \mbox{\hyperlink{classBds_1_1DataFileTapeDigitiser_a4bf061e493d5db255e550d57cb09c0f4}{oblock\+Num\+Samples}}
\item 
double \mbox{\hyperlink{classBds_1_1DataFileTapeDigitiser_a6889883e96f62162398f8b75256a4d0e}{osample\+Rate}}
\item 
\textbf{ B\+Buffer} \mbox{\hyperlink{classBds_1_1DataFileTapeDigitiser_aba7633f1642d5ce645826ddc2621d4b7}{obuffer}}
\begin{DoxyCompactList}\small\item\em Data block buffer. \end{DoxyCompactList}\item 
\textbf{ B\+String} \mbox{\hyperlink{classBds_1_1DataFileTapeDigitiser_a6b06333a5ae1ce30e409da40ae506073}{oversion}}
\item 
\mbox{\hyperlink{classBds_1_1DataInfo}{Data\+Info}} \mbox{\hyperlink{classBds_1_1DataFileTapeDigitiser_a9ebbb1b057b8d4df3bb78270ba78881d}{odata\+Info}}
\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}
This class implements the Tape\+Digitiser\textquotesingle{}s file output conversion and storeing system. 

\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classBds_1_1DataFileTapeDigitiser_afec5099ce3e035c71de714ceb13897b9}\label{classBds_1_1DataFileTapeDigitiser_afec5099ce3e035c71de714ceb13897b9}} 
\index{Bds::DataFileTapeDigitiser@{Bds::DataFileTapeDigitiser}!DataFileTapeDigitiser@{DataFileTapeDigitiser}}
\index{DataFileTapeDigitiser@{DataFileTapeDigitiser}!Bds::DataFileTapeDigitiser@{Bds::DataFileTapeDigitiser}}
\subsubsection{\texorpdfstring{DataFileTapeDigitiser()}{DataFileTapeDigitiser()}}
{\footnotesize\ttfamily Bds\+::\+Data\+File\+Tape\+Digitiser\+::\+Data\+File\+Tape\+Digitiser (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



\subsection{Member Function Documentation}
\mbox{\Hypertarget{classBds_1_1DataFileTapeDigitiser_ae113dbcc71c665fd72fd7d3a26833e07}\label{classBds_1_1DataFileTapeDigitiser_ae113dbcc71c665fd72fd7d3a26833e07}} 
\index{Bds::DataFileTapeDigitiser@{Bds::DataFileTapeDigitiser}!blockNumSamples@{blockNumSamples}}
\index{blockNumSamples@{blockNumSamples}!Bds::DataFileTapeDigitiser@{Bds::DataFileTapeDigitiser}}
\subsubsection{\texorpdfstring{blockNumSamples()}{blockNumSamples()}}
{\footnotesize\ttfamily uint32\+\_\+t Bds\+::\+Data\+File\+Tape\+Digitiser\+::block\+Num\+Samples (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Returns the number of samples of data in a block. 

\mbox{\Hypertarget{classBds_1_1DataFileTapeDigitiser_a31e0d4b11ee17703feaba10c7394d2bb}\label{classBds_1_1DataFileTapeDigitiser_a31e0d4b11ee17703feaba10c7394d2bb}} 
\index{Bds::DataFileTapeDigitiser@{Bds::DataFileTapeDigitiser}!blockSize@{blockSize}}
\index{blockSize@{blockSize}!Bds::DataFileTapeDigitiser@{Bds::DataFileTapeDigitiser}}
\subsubsection{\texorpdfstring{blockSize()}{blockSize()}}
{\footnotesize\ttfamily uint32\+\_\+t Bds\+::\+Data\+File\+Tape\+Digitiser\+::block\+Size (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Returns the data block size in bytes. 

\mbox{\Hypertarget{classBds_1_1DataFileTapeDigitiser_a74b9d5b55d1a76903a7c4f1ef22b6f16}\label{classBds_1_1DataFileTapeDigitiser_a74b9d5b55d1a76903a7c4f1ef22b6f16}} 
\index{Bds::DataFileTapeDigitiser@{Bds::DataFileTapeDigitiser}!computeChecksum@{computeChecksum}}
\index{computeChecksum@{computeChecksum}!Bds::DataFileTapeDigitiser@{Bds::DataFileTapeDigitiser}}
\subsubsection{\texorpdfstring{computeChecksum()}{computeChecksum()}}
{\footnotesize\ttfamily uint32\+\_\+t Bds\+::\+Data\+File\+Tape\+Digitiser\+::compute\+Checksum (\begin{DoxyParamCaption}\item[{void $\ast$}]{data,  }\item[{int}]{n\+Bytes }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}

\mbox{\Hypertarget{classBds_1_1DataFileTapeDigitiser_af1fbc3fb8cd6128bae25dfe754a742d8}\label{classBds_1_1DataFileTapeDigitiser_af1fbc3fb8cd6128bae25dfe754a742d8}} 
\index{Bds::DataFileTapeDigitiser@{Bds::DataFileTapeDigitiser}!getFormats@{getFormats}}
\index{getFormats@{getFormats}!Bds::DataFileTapeDigitiser@{Bds::DataFileTapeDigitiser}}
\subsubsection{\texorpdfstring{getFormats()}{getFormats()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classBds_1_1DataFormat}{Data\+Format}} Bds\+::\+Data\+File\+Tape\+Digitiser\+::get\+Formats (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}

\mbox{\Hypertarget{classBds_1_1DataFileTapeDigitiser_ad4aa49e71065ee1ca1383a2cbcb9db23}\label{classBds_1_1DataFileTapeDigitiser_ad4aa49e71065ee1ca1383a2cbcb9db23}} 
\index{Bds::DataFileTapeDigitiser@{Bds::DataFileTapeDigitiser}!getInfo@{getInfo}}
\index{getInfo@{getInfo}!Bds::DataFileTapeDigitiser@{Bds::DataFileTapeDigitiser}}
\subsubsection{\texorpdfstring{getInfo()}{getInfo()}}
{\footnotesize\ttfamily \textbf{ B\+Error} Bds\+::\+Data\+File\+Tape\+Digitiser\+::get\+Info (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classBds_1_1DataInfo}{Data\+Info}} \&}]{data\+Info,  }\item[{\mbox{\hyperlink{classBds_1_1DataFileOptions}{Data\+File\+Options}}}]{options,  }\item[{\textbf{ B\+List}$<$ \mbox{\hyperlink{classBds_1_1DataError}{Data\+Error}} $>$ \&}]{errors }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Get info on data. 



Reimplemented from \mbox{\hyperlink{classBds_1_1DataFile_a041d380065710c74fd509a28d63bf667}{Bds\+::\+Data\+File}}.

\mbox{\Hypertarget{classBds_1_1DataFileTapeDigitiser_a1e2fa2769b490954c9fe59630c9c3909}\label{classBds_1_1DataFileTapeDigitiser_a1e2fa2769b490954c9fe59630c9c3909}} 
\index{Bds::DataFileTapeDigitiser@{Bds::DataFileTapeDigitiser}!open@{open}}
\index{open@{open}!Bds::DataFileTapeDigitiser@{Bds::DataFileTapeDigitiser}}
\subsubsection{\texorpdfstring{open()}{open()}}
{\footnotesize\ttfamily \textbf{ B\+Error} Bds\+::\+Data\+File\+Tape\+Digitiser\+::open (\begin{DoxyParamCaption}\item[{\textbf{ B\+String}}]{file\+Name,  }\item[{\textbf{ B\+String}}]{mode }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Open the file for reading or writing. 



Reimplemented from \mbox{\hyperlink{classBds_1_1DataFile_a5e5185a9cef9ea911c477d1bc2c74274}{Bds\+::\+Data\+File}}.

\mbox{\Hypertarget{classBds_1_1DataFileTapeDigitiser_a18a44e290aef3b75dec2fd47592d9ee3}\label{classBds_1_1DataFileTapeDigitiser_a18a44e290aef3b75dec2fd47592d9ee3}} 
\index{Bds::DataFileTapeDigitiser@{Bds::DataFileTapeDigitiser}!readData@{readData}}
\index{readData@{readData}!Bds::DataFileTapeDigitiser@{Bds::DataFileTapeDigitiser}}
\subsubsection{\texorpdfstring{readData()}{readData()}}
{\footnotesize\ttfamily \textbf{ B\+Error} Bds\+::\+Data\+File\+Tape\+Digitiser\+::read\+Data (\begin{DoxyParamCaption}\item[{\textbf{ B\+U\+Int32}}]{channel,  }\item[{\textbf{ B\+U\+Int}}]{segment,  }\item[{\textbf{ B\+U\+Int32}}]{block\+Number,  }\item[{\mbox{\hyperlink{classBds_1_1DataBlock}{Data\+Block}} \&}]{data\+Block }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Read a block. 



Reimplemented from \mbox{\hyperlink{classBds_1_1DataFile_ac01f30408cfdfc4f14a36ca1f5cf2e4c}{Bds\+::\+Data\+File}}.

\mbox{\Hypertarget{classBds_1_1DataFileTapeDigitiser_ad35ba7ee646cef5760f7097340724324}\label{classBds_1_1DataFileTapeDigitiser_ad35ba7ee646cef5760f7097340724324}} 
\index{Bds::DataFileTapeDigitiser@{Bds::DataFileTapeDigitiser}!readHeader@{readHeader}}
\index{readHeader@{readHeader}!Bds::DataFileTapeDigitiser@{Bds::DataFileTapeDigitiser}}
\subsubsection{\texorpdfstring{readHeader()}{readHeader()}}
{\footnotesize\ttfamily \textbf{ B\+Error} Bds\+::\+Data\+File\+Tape\+Digitiser\+::read\+Header (\begin{DoxyParamCaption}\item[{\textbf{ B\+Dict\+String} \&}]{header }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Read the file header info. 



\subsection{Member Data Documentation}
\mbox{\Hypertarget{classBds_1_1DataFileTapeDigitiser_a4bf061e493d5db255e550d57cb09c0f4}\label{classBds_1_1DataFileTapeDigitiser_a4bf061e493d5db255e550d57cb09c0f4}} 
\index{Bds::DataFileTapeDigitiser@{Bds::DataFileTapeDigitiser}!oblockNumSamples@{oblockNumSamples}}
\index{oblockNumSamples@{oblockNumSamples}!Bds::DataFileTapeDigitiser@{Bds::DataFileTapeDigitiser}}
\subsubsection{\texorpdfstring{oblockNumSamples}{oblockNumSamples}}
{\footnotesize\ttfamily uint32\+\_\+t Bds\+::\+Data\+File\+Tape\+Digitiser\+::oblock\+Num\+Samples\hspace{0.3cm}{\ttfamily [private]}}

\mbox{\Hypertarget{classBds_1_1DataFileTapeDigitiser_a3fd0bdd64743098649dd33eee67d5efe}\label{classBds_1_1DataFileTapeDigitiser_a3fd0bdd64743098649dd33eee67d5efe}} 
\index{Bds::DataFileTapeDigitiser@{Bds::DataFileTapeDigitiser}!oblockSize@{oblockSize}}
\index{oblockSize@{oblockSize}!Bds::DataFileTapeDigitiser@{Bds::DataFileTapeDigitiser}}
\subsubsection{\texorpdfstring{oblockSize}{oblockSize}}
{\footnotesize\ttfamily uint32\+\_\+t Bds\+::\+Data\+File\+Tape\+Digitiser\+::oblock\+Size\hspace{0.3cm}{\ttfamily [private]}}

\mbox{\Hypertarget{classBds_1_1DataFileTapeDigitiser_aba7633f1642d5ce645826ddc2621d4b7}\label{classBds_1_1DataFileTapeDigitiser_aba7633f1642d5ce645826ddc2621d4b7}} 
\index{Bds::DataFileTapeDigitiser@{Bds::DataFileTapeDigitiser}!obuffer@{obuffer}}
\index{obuffer@{obuffer}!Bds::DataFileTapeDigitiser@{Bds::DataFileTapeDigitiser}}
\subsubsection{\texorpdfstring{obuffer}{obuffer}}
{\footnotesize\ttfamily \textbf{ B\+Buffer} Bds\+::\+Data\+File\+Tape\+Digitiser\+::obuffer\hspace{0.3cm}{\ttfamily [private]}}



Data block buffer. 

\mbox{\Hypertarget{classBds_1_1DataFileTapeDigitiser_a9ebbb1b057b8d4df3bb78270ba78881d}\label{classBds_1_1DataFileTapeDigitiser_a9ebbb1b057b8d4df3bb78270ba78881d}} 
\index{Bds::DataFileTapeDigitiser@{Bds::DataFileTapeDigitiser}!odataInfo@{odataInfo}}
\index{odataInfo@{odataInfo}!Bds::DataFileTapeDigitiser@{Bds::DataFileTapeDigitiser}}
\subsubsection{\texorpdfstring{odataInfo}{odataInfo}}
{\footnotesize\ttfamily \mbox{\hyperlink{classBds_1_1DataInfo}{Data\+Info}} Bds\+::\+Data\+File\+Tape\+Digitiser\+::odata\+Info\hspace{0.3cm}{\ttfamily [private]}}

\mbox{\Hypertarget{classBds_1_1DataFileTapeDigitiser_a8772fc3e2693264ec84836ac1bec69af}\label{classBds_1_1DataFileTapeDigitiser_a8772fc3e2693264ec84836ac1bec69af}} 
\index{Bds::DataFileTapeDigitiser@{Bds::DataFileTapeDigitiser}!oheader@{oheader}}
\index{oheader@{oheader}!Bds::DataFileTapeDigitiser@{Bds::DataFileTapeDigitiser}}
\subsubsection{\texorpdfstring{oheader}{oheader}}
{\footnotesize\ttfamily \textbf{ B\+Dict\+String} Bds\+::\+Data\+File\+Tape\+Digitiser\+::oheader\hspace{0.3cm}{\ttfamily [private]}}

\mbox{\Hypertarget{classBds_1_1DataFileTapeDigitiser_ad8f9834725825b5b4ad6947a5496fd2d}\label{classBds_1_1DataFileTapeDigitiser_ad8f9834725825b5b4ad6947a5496fd2d}} 
\index{Bds::DataFileTapeDigitiser@{Bds::DataFileTapeDigitiser}!oheaderSize@{oheaderSize}}
\index{oheaderSize@{oheaderSize}!Bds::DataFileTapeDigitiser@{Bds::DataFileTapeDigitiser}}
\subsubsection{\texorpdfstring{oheaderSize}{oheaderSize}}
{\footnotesize\ttfamily off64\+\_\+t Bds\+::\+Data\+File\+Tape\+Digitiser\+::oheader\+Size\hspace{0.3cm}{\ttfamily [private]}}

\mbox{\Hypertarget{classBds_1_1DataFileTapeDigitiser_a6889883e96f62162398f8b75256a4d0e}\label{classBds_1_1DataFileTapeDigitiser_a6889883e96f62162398f8b75256a4d0e}} 
\index{Bds::DataFileTapeDigitiser@{Bds::DataFileTapeDigitiser}!osampleRate@{osampleRate}}
\index{osampleRate@{osampleRate}!Bds::DataFileTapeDigitiser@{Bds::DataFileTapeDigitiser}}
\subsubsection{\texorpdfstring{osampleRate}{osampleRate}}
{\footnotesize\ttfamily double Bds\+::\+Data\+File\+Tape\+Digitiser\+::osample\+Rate\hspace{0.3cm}{\ttfamily [private]}}

\mbox{\Hypertarget{classBds_1_1DataFileTapeDigitiser_a6b06333a5ae1ce30e409da40ae506073}\label{classBds_1_1DataFileTapeDigitiser_a6b06333a5ae1ce30e409da40ae506073}} 
\index{Bds::DataFileTapeDigitiser@{Bds::DataFileTapeDigitiser}!oversion@{oversion}}
\index{oversion@{oversion}!Bds::DataFileTapeDigitiser@{Bds::DataFileTapeDigitiser}}
\subsubsection{\texorpdfstring{oversion}{oversion}}
{\footnotesize\ttfamily \textbf{ B\+String} Bds\+::\+Data\+File\+Tape\+Digitiser\+::oversion\hspace{0.3cm}{\ttfamily [private]}}



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
/src/blacknest/bds/bds/bds\+Data\+Lib/\mbox{\hyperlink{BdsDataFileTapeDigitiser_8h}{Bds\+Data\+File\+Tape\+Digitiser.\+h}}\item 
/src/blacknest/bds/bds/bds\+Data\+Lib/\mbox{\hyperlink{BdsDataFileTapeDigitiser_8cpp}{Bds\+Data\+File\+Tape\+Digitiser.\+cpp}}\end{DoxyCompactItemize}
