\doxysection{Bds\+Lib.\+cpp File Reference}
\hypertarget{BdsLib_8cpp}{}\label{BdsLib_8cpp}\index{BdsLib.cpp@{BdsLib.cpp}}
{\ttfamily \#include $<$Bds\+Lib.\+h$>$}\newline
{\ttfamily \#include $<$math.\+h$>$}\newline
{\ttfamily \#include $<$complex$>$}\newline
\doxysubsubsection*{Namespaces}
\begin{DoxyCompactItemize}
\item 
namespace \mbox{\hyperlink{namespaceBds}{Bds}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{BdsLib_8cpp_af4cfd0c68fabc9530fa745d6fe5dfbf0}{DISABLE\+\_\+\+DECIMATION\+\_\+\+FIX}}~1
\end{DoxyCompactItemize}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\textbf{ BError} \mbox{\hyperlink{namespaceBds_a4f1c1628f20f33b3933d1550145bcc74}{Bds\+::bds\+Lib\+Init}} (\mbox{\hyperlink{classBds_1_1DataAccess}{Data\+Access}} \&bds)
\begin{DoxyCompactList}\small\item\em Initialise the bds\+Lib with settings from the Bds\+Server. \end{DoxyCompactList}\item 
\textbf{ BError} \mbox{\hyperlink{namespaceBds_aa26616ce0e41f77ed5b446994f9bc79c}{Bds\+::bds\+Lib\+Init}} (\mbox{\hyperlink{classBds_1_1DataAddAccess}{Data\+Add\+Access}} \&bds)
\begin{DoxyCompactList}\small\item\em Initialise the bds\+Lib with settings from the Bds\+Server. \end{DoxyCompactList}\item 
\textbf{ BError} \mbox{\hyperlink{namespaceBds_a090bce7d6e37ce026243faa5569093d2}{Bds\+::bds\+Lib\+Init}} (\mbox{\hyperlink{classBds_1_1AdminAccess}{Admin\+Access}} \&bds)
\begin{DoxyCompactList}\small\item\em Initialise the bds\+Lib with settings from the Bds\+Server. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{namespaceBds_aba64d7b8dc6016601d2c12662db2a4da}{Bds\+::bds\+Dump\+Pole\+Zeros}} (\mbox{\hyperlink{classBds_1_1PoleZero}{Pole\+Zero}} pole\+Zeros)
\begin{DoxyCompactList}\small\item\em Debug print out a Pole\+Zeros object. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{namespaceBds_ad5041be49ee81d9df4a89ae231910c2a}{Bds\+::bds\+Channel\+Get\+Type\+Aux}} (\textbf{ BString} name, \textbf{ BString} \&type, \textbf{ BString} \&aux)
\begin{DoxyCompactList}\small\item\em Get the channel type and aux fields from a generic channel name. \end{DoxyCompactList}\item 
\textbf{ BString} \mbox{\hyperlink{namespaceBds_a576fadd315c72e9005b8bd6e794a44f8}{Bds\+::bds\+Channel\+Get\+Name}} (\textbf{ BString} type, \textbf{ BString} aux)
\begin{DoxyCompactList}\small\item\em Create a full channel name from a channels type and aux fields. \end{DoxyCompactList}\item 
\textbf{ BError} \mbox{\hyperlink{namespaceBds_ae85e16b8c511c5a681578e4a219c1023}{Bds\+::bds\+Data\+Info\+Set\+Time\+Range}} (\mbox{\hyperlink{classBds_1_1DataInfo}{Data\+Info}} \&data\+Info)
\begin{DoxyCompactList}\small\item\em Restricts the time tange of all of the \doxylink{classBds_1_1DataInfo}{Data\+Info}\textquotesingle{}s channels to match the \doxylink{classBds_1_1DataInfo}{Data\+Info}\textquotesingle{}s start\+Time/end\+Time fields. \end{DoxyCompactList}\item 
\textbf{ BError} \mbox{\hyperlink{namespaceBds_acf44444ef94cd20b293d76e0674fe8fe}{Bds\+::bds\+Data\+Info\+From\+Info}} (\textbf{ BDict\+String} info, \mbox{\hyperlink{classBds_1_1DataInfo}{Data\+Info}} \&data\+Info, \textbf{ Bool} append)
\begin{DoxyCompactList}\small\item\em Convert info to \doxylink{classBds_1_1DataInfo}{Data\+Info}. \end{DoxyCompactList}\item 
\textbf{ BError} \mbox{\hyperlink{namespaceBds_aebb29d1179f0ed92ddfec84de07e3a7b}{Bds\+::bds\+Info\+From\+Data\+Info}} (const \mbox{\hyperlink{classBds_1_1DataInfo}{Data\+Info}} \&data\+Info, \textbf{ BDict\+String} \&info)
\begin{DoxyCompactList}\small\item\em Converts a \doxylink{classBds_1_1DataInfo}{Data\+Info} object into a BDict\+String list of named strings. \end{DoxyCompactList}\item 
\textbf{ BError} \mbox{\hyperlink{namespaceBds_a4bd1e8a33ffe3b7f3e50b7bb75313bd1}{Bds\+::bds\+Data\+Info\+Flatten}} (\mbox{\hyperlink{classBds_1_1DataInfo}{Data\+Info}} \&data\+Info)
\begin{DoxyCompactList}\small\item\em Flattens a \doxylink{classBds_1_1DataInfo}{Data\+Info} to 1 segement per channel for use in data\+Open() calls. \end{DoxyCompactList}\item 
\textbf{ BError} \mbox{\hyperlink{namespaceBds_a9c9b276837c1fe1810350f669002fccb}{Bds\+::bds\+Data\+Info\+Merge\+Flatten}} (\mbox{\hyperlink{classBds_1_1DataInfo}{Data\+Info}} \&data\+Info, const \mbox{\hyperlink{classBds_1_1DataInfo}{Data\+Info}} \&data\+Info\+Add)
\begin{DoxyCompactList}\small\item\em Merges a \doxylink{classBds_1_1DataInfo}{Data\+Info} into another flattening the segments to 1 for use in data\+Open() calls. \end{DoxyCompactList}\item 
\textbf{ BString} \mbox{\hyperlink{namespaceBds_a002c20d246bead0670e09ecc7ed9cfd6}{Bds\+::bds\+Units\+Convert}} (\textbf{ BString} units)
\begin{DoxyCompactList}\small\item\em Tidy up units name to standard SI units format. \end{DoxyCompactList}\item 
\textbf{ BError} \mbox{\hyperlink{namespaceBds_aefb1e4d994f01062d6a0c7deb10ac654}{Bds\+::bds\+Data\+Info\+From\+Channel\+Infos}} (const \mbox{\hyperlink{classBds_1_1ChannelInfos}{Channel\+Infos}} \&channel\+Infos, \mbox{\hyperlink{classBds_1_1DataInfo}{Data\+Info}} \&data\+Info)
\begin{DoxyCompactList}\small\item\em Sets up a Datainfo object from \doxylink{classBds_1_1ChannelInfos}{Channel\+Infos}. \end{DoxyCompactList}\item 
static int \mbox{\hyperlink{namespaceBds_ae8a0ac1e78d5335e9d748e12036b3cd9}{Bds\+::response\+Sort}} (\mbox{\hyperlink{classBds_1_1Response}{Response}} \&a, \mbox{\hyperlink{classBds_1_1Response}{Response}} \&b)
\item 
\textbf{ BError} \mbox{\hyperlink{namespaceBds_a88b74bde39bf5b5ec05f0cd4d797f83f}{Bds\+::bds\+Metadata\+Import\+Fix}} (\mbox{\hyperlink{classBds_1_1ChannelInfos}{Channel\+Infos}} \&channel\+Infos, \textbf{ BString} \&changed\+Message, \textbf{ Bool} stage\+Renumber)
\begin{DoxyCompactList}\small\item\em Fix up \doxylink{classBds_1_1ChannelInfos}{Channel\+Infos} from import. Mainly making sure response stages and their units are correct. \end{DoxyCompactList}\item 
\textbf{ BError} \mbox{\hyperlink{namespaceBds_abdb68e840ca9b19b8dc8ad98f83785ce}{Bds\+::bds\+Metadata\+Export\+Fix}} (\mbox{\hyperlink{classBds_1_1ChannelInfos}{Channel\+Infos}} \&channel\+Infos, \textbf{ BString} \&changed\+Message, \textbf{ Bool} single\+Response, \textbf{ Bool} stage\+Renumber, \textbf{ Bool} change\+Units, \textbf{ Bool} stage\+Gains, \textbf{ Bool} decimation, \textbf{ Bool} to\+Displacement, \textbf{ Bool} to\+Nm)
\begin{DoxyCompactList}\small\item\em Fix up \doxylink{classBds_1_1ChannelInfos}{Channel\+Infos} for export. Mainly making sure response stages and their units are correct. \end{DoxyCompactList}\item 
\textbf{ BString} \mbox{\hyperlink{namespaceBds_aabb4029ff7d9de81c2d598fa5542d501}{Bds\+::bds\+Station\+Alias}} (\mbox{\hyperlink{classBds_1_1Station}{Station}} station)
\begin{DoxyCompactList}\small\item\em Returns the station alias if set else its name. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{namespaceBds_ae2576b2a0d9ea53831989d879c8db8e1}{Bds\+::bds\+Dump\+Selection}} (\mbox{\hyperlink{classBds_1_1Selection}{Selection}} sel)
\begin{DoxyCompactList}\small\item\em Debug print out a \doxylink{classBds_1_1Selection}{Selection} object. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{namespaceBds_ad4ebf91bdafa2e98300b487385ed7030}{Bds\+::bds\+Dump\+Selection\+Info}} (\mbox{\hyperlink{classBds_1_1SelectionInfo}{Selection\+Info}} sel)
\begin{DoxyCompactList}\small\item\em Debug print out a \doxylink{classBds_1_1SelectionInfo}{Selection\+Info} object. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{namespaceBds_a984ebebb36d499a5f153abfcc1fda356}{Bds\+::bds\+Dump\+Data\+Info}} (\mbox{\hyperlink{classBds_1_1DataInfo}{Data\+Info}} data\+Info, int include\+Info=0)
\begin{DoxyCompactList}\small\item\em Debug print out a \doxylink{classBds_1_1DataInfo}{Data\+Info} object. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{namespaceBds_aeba8952ad877bb24741ba6b10b8071f3}{Bds\+::bds\+Dump\+Channel\+Infos}} (const \mbox{\hyperlink{classBds_1_1ChannelInfos}{Channel\+Infos}} \&channel\+Infos)
\begin{DoxyCompactList}\small\item\em Debug print out a \doxylink{classBds_1_1ChannelInfos}{Channel\+Infos} object. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{namespaceBds_af2338566faf83ba83525996411ae7630}{Bds\+::bds\+Dump\+Data}} (const \mbox{\hyperlink{classBds_1_1DataBlock}{Data\+Block}} \&data\+Block, int n\+Samples=0)
\begin{DoxyCompactList}\small\item\em Debug print out a \doxylink{classBds_1_1DataBlock}{Data\+Block} object. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{namespaceBds_ab94d21ef115c7909f7c61bc031c819fe}{Bds\+::bds\+Dump\+Location}} (\mbox{\hyperlink{classBds_1_1Location}{Location}} location)
\begin{DoxyCompactList}\small\item\em Debug printout location. \end{DoxyCompactList}\item 
\textbf{ BString} \mbox{\hyperlink{namespaceBds_a01233b0d702b9e915eecbb6babe9b8d0}{Bds\+::bds\+Data\+Channel\+Info}} (const \mbox{\hyperlink{classBds_1_1DataChannel}{Data\+Channel}} \&data\+Channel)
\begin{DoxyCompactList}\small\item\em Returns a string representation of a \doxylink{classBds_1_1DataChannel}{Data\+Channel} object. \end{DoxyCompactList}\item 
\textbf{ BString} \mbox{\hyperlink{namespaceBds_a68e5342ae161ee2fbd5f05048dc723b9}{Bds\+::bds\+Data\+Channel\+Ref}} (const \mbox{\hyperlink{classBds_1_1DataChannel}{Data\+Channel}} \&data\+Channel)
\begin{DoxyCompactList}\small\item\em Returns the string reference name of a \doxylink{classBds_1_1DataChannel}{Data\+Channel} object. \end{DoxyCompactList}\item 
\textbf{ BString} \mbox{\hyperlink{namespaceBds_a8cf2eba35625245ff1588326868f1528}{Bds\+::bds\+Data\+Channel\+Ref}} (const \mbox{\hyperlink{classBds_1_1ChannelInfo}{Channel\+Info}} \&channel\+Info)
\begin{DoxyCompactList}\small\item\em Returns the string reference name of a \doxylink{classBds_1_1ChannelInfo}{Channel\+Info} object. \end{DoxyCompactList}\item 
\textbf{ BError} \mbox{\hyperlink{namespaceBds_a7fec05d2f171b0d55ca2882f4786fe7d}{Bds\+::bds\+Data\+Channel\+Overall\+Response}} (const \mbox{\hyperlink{classBds_1_1ChannelInfo}{Channel\+Info}} \&channel\+Info, \mbox{\hyperlink{classBds_1_1Response}{Response}} \&response)
\begin{DoxyCompactList}\small\item\em Returns the overal response from the list of responses in a \doxylink{classBds_1_1ChannelInfo}{Channel\+Info}. \end{DoxyCompactList}\item 
\textbf{ BString} \mbox{\hyperlink{namespaceBds_a9806c9aa620dddd474e094c2769fe8f8}{Bds\+::bds\+Selection\+Channel\+Info}} (const \mbox{\hyperlink{classBds_1_1Selection}{Selection}} \&selection, \textbf{ BUInt} channel)
\begin{DoxyCompactList}\small\item\em Returns a string describing the name and time period of a selection channel. \end{DoxyCompactList}\item 
double \mbox{\hyperlink{namespaceBds_afeab8a1baf9d1f4cb5f9b9708e03486c}{Bds\+::bds\+Pole\+Zero\+Gain}} (const \mbox{\hyperlink{classBds_1_1PoleZero}{Pole\+Zero}} \&pole\+Zero, double frequency)
\begin{DoxyCompactList}\small\item\em Calculates the overall gain of the given \doxylink{classBds_1_1PoleZero}{Pole\+Zero} transfer function. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{namespaceBds_a2e8c00f239d06004af22fa149850f73f}{Bds\+::bds\+Pole\+Zero\+Gain\+Phase}} (const \mbox{\hyperlink{classBds_1_1PoleZero}{Pole\+Zero}} \&pole\+Zero, double frequency, double \&gain, double \&phase)
\begin{DoxyCompactList}\small\item\em Calculates the overall gain and phase of the given \doxylink{classBds_1_1PoleZero}{Pole\+Zero} transfer function. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{namespaceBds_ac75fcb4616449bfc8c4d6725fedbdd9f}{Bds\+::bds\+Pole\+Zero\+To\+Fap}} (const \mbox{\hyperlink{classBds_1_1PoleZero}{Pole\+Zero}} \&pole\+Zero, \textbf{ BUInt} n\+Points, double calibration\+Frequency, double sample\+Frequency, \textbf{ BArray}$<$ \mbox{\hyperlink{classBds_1_1Fap}{Fap}} $>$ \&fap)
\begin{DoxyCompactList}\small\item\em Convert \doxylink{classBds_1_1PoleZero}{Pole\+Zero} to FAP. \end{DoxyCompactList}\item 
static \textbf{ BString} \mbox{\hyperlink{namespaceBds_a06b3e6c53dc802e5ecb00d3da4d3cd1f}{Bds\+::file\+Name\+Time}} (\textbf{ BTime\+Stamp} t)
\item 
\textbf{ BString} \mbox{\hyperlink{namespaceBds_aa489ad86a95b6cfc9b6e43f54bdbd4ab}{Bds\+::bds\+File\+Name\+Expand}} (\textbf{ BString} file\+Name, \mbox{\hyperlink{classBds_1_1ChannelInfo}{Channel\+Info}} \&channel\+Info)
\begin{DoxyCompactList}\small\item\em Default filename from a \doxylink{classBds_1_1ChannelInfo}{Channel\+Info}. \end{DoxyCompactList}\item 
\textbf{ BString} \mbox{\hyperlink{namespaceBds_aee08b3ebe22f3d22aff4c04828ffe6ab}{Bds\+::bds\+File\+Name\+Expand}} (\textbf{ BString} file\+Name, \mbox{\hyperlink{classBds_1_1ChannelInfos}{Channel\+Infos}} \&channel\+Infos)
\begin{DoxyCompactList}\small\item\em Default filename from a list of \doxylink{classBds_1_1ChannelInfo}{Channel\+Info}\textquotesingle{}s. \end{DoxyCompactList}\item 
\textbf{ BString} \mbox{\hyperlink{namespaceBds_a448c094e9e660fed50e0f2b34cc26344}{Bds\+::bds\+File\+Name\+Expand}} (\textbf{ BString} file\+Name, \mbox{\hyperlink{classBds_1_1Selection}{Selection}} \&sel)
\begin{DoxyCompactList}\small\item\em Default filename from a \doxylink{classBds_1_1Selection}{Selection}. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{namespaceBds_a978faf96789cfd98092868e93df74d19}{Bds\+::bds\+Special\+Channels\+Set}} (const \textbf{ BList}$<$ \mbox{\hyperlink{classBds_1_1SpecialChannel}{Special\+Channel}} $>$ special\+Channels)
\begin{DoxyCompactList}\small\item\em Set the special channels list. \end{DoxyCompactList}\item 
\textbf{ BList}$<$ \mbox{\hyperlink{classBds_1_1SpecialChannel}{Special\+Channel}} $>$ \mbox{\hyperlink{namespaceBds_adebdd276f74bb91a32c7f6bcb00fa531}{Bds\+::bds\+Special\+Channels}} ()
\begin{DoxyCompactList}\small\item\em Return list of special channels. \end{DoxyCompactList}\item 
\textbf{ Bool} \mbox{\hyperlink{namespaceBds_a411d020455537bd64177cfa3c5fed744}{Bds\+::bds\+Special\+Channel\+Ignore}} (\textbf{ BString} network, \textbf{ BString} station, \textbf{ BString} channel)
\begin{DoxyCompactList}\small\item\em Check if channel should be ignored. \end{DoxyCompactList}\item 
char \mbox{\hyperlink{namespaceBds_af3d78e16ca286125338b5d0a8f373a9f}{Bds\+::seed\+Channel\+Instrument\+Code}} (\textbf{ BString} data\+Type)
\begin{DoxyCompactList}\small\item\em Returns SEED instrument code from data\+Type. \end{DoxyCompactList}\item 
\textbf{ BString} \mbox{\hyperlink{namespaceBds_a58ee01a9abde42c123da0a174a8233af}{Bds\+::seed\+Channel\+Data\+Type}} (\textbf{ BString} channel)
\begin{DoxyCompactList}\small\item\em Returns data\+Type from channel name based on SEED channel name convention. \end{DoxyCompactList}\item 
\textbf{ BString\+List} \mbox{\hyperlink{namespaceBds_a7e44bbb9ebfd1b40957d3e7d304775eb}{Bds\+::bds\+Data\+Types}} ()
\begin{DoxyCompactList}\small\item\em Returns all known data types. \end{DoxyCompactList}\item 
\textbf{ BString\+List} \mbox{\hyperlink{namespaceBds_a626ad54dd7f330737cc21c5a35848aa3}{Bds\+::bds\+Units}} ()
\begin{DoxyCompactList}\small\item\em Returns all known SI units. \end{DoxyCompactList}\item 
\textbf{ BString} \mbox{\hyperlink{namespaceBds_a1a8d68cda2f9bb419fb088b3ec8ea09a}{Bds\+::bds\+Unit\+Case}} (\textbf{ BString} unit)
\begin{DoxyCompactList}\small\item\em Converts character case of units. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static \textbf{ BList}$<$ \mbox{\hyperlink{classBds_1_1SpecialChannel}{Special\+Channel}} $>$ \mbox{\hyperlink{namespaceBds_aca78818f5a450121e5297d599e6e0789}{Bds\+::bds\+Special\+Channels\+List}}
\item 
Seed\+ICode\+To\+Data\+Type \mbox{\hyperlink{namespaceBds_a1c5c95ce71f996f119e0c65bab65b604}{Bds\+::seed\+ICode\+To\+Data\+Types}} \mbox{[}$\,$\mbox{]}
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\Hypertarget{BdsLib_8cpp_af4cfd0c68fabc9530fa745d6fe5dfbf0}\label{BdsLib_8cpp_af4cfd0c68fabc9530fa745d6fe5dfbf0} 
\index{BdsLib.cpp@{BdsLib.cpp}!DISABLE\_DECIMATION\_FIX@{DISABLE\_DECIMATION\_FIX}}
\index{DISABLE\_DECIMATION\_FIX@{DISABLE\_DECIMATION\_FIX}!BdsLib.cpp@{BdsLib.cpp}}
\doxysubsubsection{\texorpdfstring{DISABLE\_DECIMATION\_FIX}{DISABLE\_DECIMATION\_FIX}}
{\footnotesize\ttfamily \#define DISABLE\+\_\+\+DECIMATION\+\_\+\+FIX~1}

