\section{marlintpc\-:\-:Magnetic\-Field Class Reference}
\label{classmarlintpc_1_1MagneticField}\index{marlintpc\-::\-Magnetic\-Field@{marlintpc\-::\-Magnetic\-Field}}


\doxyref{Magnetic\-Field}{p.}{classmarlintpc_1_1MagneticField} \-: A base interface to a magnetic field.  




{\ttfamily \#include $<$Magnetic\-Field.\-h$>$}

Inheritance diagram for marlintpc\-:\-:Magnetic\-Field\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.000000cm]{classmarlintpc_1_1MagneticField}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
{\bf Magnetic\-Field} (std\-::string field\-\_\-typename)\label{classmarlintpc_1_1MagneticField_a01ebdc9932fb43f9bb6d5469ea1d80cd}

\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item 
virtual {\bf $\sim$\-Magnetic\-Field} ()\label{classmarlintpc_1_1MagneticField_a132b664644e500592e403b3efa6414d0}

\begin{DoxyCompactList}\small\item\em destructor \end{DoxyCompactList}\item 
virtual {\bf Field} $\ast$ {\bf new\-\_\-field} (void)=0
\begin{DoxyCompactList}\small\item\em returns a new field... \end{DoxyCompactList}\item 
virtual bool {\bf construct} (E\-V\-E\-N\-T\-::\-L\-C\-Collection $\ast$)=0
\begin{DoxyCompactList}\small\item\em constructs the field from an L\-C\-Collection of data objects (could be anything... \end{DoxyCompactList}\item 
virtual C\-L\-H\-E\-P\-::\-Hep3\-Vector {\bf get\-\_\-field\-\_\-value} (const C\-L\-H\-E\-P\-::\-Hep3\-Vector \&)\label{classmarlintpc_1_1MagneticField_a8f39296959828176cffaa108a4908c54}

\begin{DoxyCompactList}\small\item\em gets the field value at a specified point \end{DoxyCompactList}\item 
virtual C\-L\-H\-E\-P\-::\-Hep3\-Vector {\bf get\-\_\-field\-\_\-error} ()
\begin{DoxyCompactList}\small\item\em gets the field error. \end{DoxyCompactList}\item 
void {\bf set\-\_\-translation} (const C\-L\-H\-E\-P\-::\-Hep3\-Vector \&)
\begin{DoxyCompactList}\small\item\em sets the relative position of the origin of the field map (i.\-e. \end{DoxyCompactList}\item 
void {\bf set\-\_\-rotation} (const double \&, const double \&)
\begin{DoxyCompactList}\small\item\em sets the orientation of the T\-P\-C with respect to the coil axis \end{DoxyCompactList}\item 
void {\bf set\-\_\-scale\-\_\-factor} (const double \&)
\begin{DoxyCompactList}\small\item\em sets the scale factor for the magnetic field, i.\-e. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual C\-L\-H\-E\-P\-::\-Hep3\-Vector {\bf get\-\_\-field\-\_\-value\-\_\-coil\-\_\-coordinates} (const C\-L\-H\-E\-P\-::\-Hep3\-Vector \&)=0\label{classmarlintpc_1_1MagneticField_a0d7d02dd6a12bc2d69fa326ef7cbdd85}

\begin{DoxyCompactList}\small\item\em gets the field value at a point given in coil coordinates \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}
\doxyref{Magnetic\-Field}{p.}{classmarlintpc_1_1MagneticField} \-: A base interface to a magnetic field. 

\begin{DoxyAuthor}{Author}
Christian Grefe \par
 
\end{DoxyAuthor}


\subsection{Member Function Documentation}
\index{marlintpc\-::\-Magnetic\-Field@{marlintpc\-::\-Magnetic\-Field}!construct@{construct}}
\index{construct@{construct}!marlintpc::MagneticField@{marlintpc\-::\-Magnetic\-Field}}
\subsubsection[{construct}]{\setlength{\rightskip}{0pt plus 5cm}virtual bool marlintpc\-::\-Magnetic\-Field\-::construct (
\begin{DoxyParamCaption}
\item[{E\-V\-E\-N\-T\-::\-L\-C\-Collection $\ast$}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classmarlintpc_1_1MagneticField_a204827dce8fb23808f887d822eaf1fe2}


constructs the field from an L\-C\-Collection of data objects (could be anything... 

field bin values or just parameters) 

Implements {\bf marlintpc\-::\-Field} \doxyref{}{p.}{classmarlintpc_1_1Field_a23cef2c3beaa60ed594ef525d72920b0}.



Implemented in {\bf marlintpc\-::\-Cylindrical2\-D\-Magnetic\-Field} \doxyref{}{p.}{classmarlintpc_1_1Cylindrical2DMagneticField_a099b4012648c1b07fc7deb46b03edb7f}, and {\bf marlintpc\-::\-Cylindrical3\-D\-Magnetic\-Field} \doxyref{}{p.}{classmarlintpc_1_1Cylindrical3DMagneticField_a8f377adf276fed555868b9ef510eb183}.

\index{marlintpc\-::\-Magnetic\-Field@{marlintpc\-::\-Magnetic\-Field}!get\-\_\-field\-\_\-error@{get\-\_\-field\-\_\-error}}
\index{get\-\_\-field\-\_\-error@{get\-\_\-field\-\_\-error}!marlintpc::MagneticField@{marlintpc\-::\-Magnetic\-Field}}
\subsubsection[{get\-\_\-field\-\_\-error}]{\setlength{\rightskip}{0pt plus 5cm}C\-L\-H\-E\-P\-::\-Hep3\-Vector marlintpc\-::\-Magnetic\-Field\-::get\-\_\-field\-\_\-error (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}\label{classmarlintpc_1_1MagneticField_a6f6313401c76bc3cbbf3ef6c7065e4fa}


gets the field error. 

Assumes that the error is symmetric and independent of position 

Reimplemented from {\bf marlintpc\-::\-Field} \doxyref{}{p.}{classmarlintpc_1_1Field_a32534daa2f863eb455f5b519f297c932}.

\index{marlintpc\-::\-Magnetic\-Field@{marlintpc\-::\-Magnetic\-Field}!new\-\_\-field@{new\-\_\-field}}
\index{new\-\_\-field@{new\-\_\-field}!marlintpc::MagneticField@{marlintpc\-::\-Magnetic\-Field}}
\subsubsection[{new\-\_\-field}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf Field}$\ast$ marlintpc\-::\-Magnetic\-Field\-::new\-\_\-field (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classmarlintpc_1_1MagneticField_a77c3c5349528ec2aac1bf59cbdfd60cd}


returns a new field... 

similar to how the Marlin processor registration works 

Implements {\bf marlintpc\-::\-Field} \doxyref{}{p.}{classmarlintpc_1_1Field_a43968e590bdaab7753d92ed6f950019e}.



Implemented in {\bf marlintpc\-::\-Cylindrical2\-D\-Magnetic\-Field} \doxyref{}{p.}{classmarlintpc_1_1Cylindrical2DMagneticField_a6465515ae104fd1107790f3ff0598d40}, and {\bf marlintpc\-::\-Cylindrical3\-D\-Magnetic\-Field} \doxyref{}{p.}{classmarlintpc_1_1Cylindrical3DMagneticField_a4422cefd0a36a05631f514591efc26f6}.

\index{marlintpc\-::\-Magnetic\-Field@{marlintpc\-::\-Magnetic\-Field}!set\-\_\-rotation@{set\-\_\-rotation}}
\index{set\-\_\-rotation@{set\-\_\-rotation}!marlintpc::MagneticField@{marlintpc\-::\-Magnetic\-Field}}
\subsubsection[{set\-\_\-rotation}]{\setlength{\rightskip}{0pt plus 5cm}void marlintpc\-::\-Magnetic\-Field\-::set\-\_\-rotation (
\begin{DoxyParamCaption}
\item[{const double \&}]{x\-\_\-rotation, }
\item[{const double \&}]{y\-\_\-rotation}
\end{DoxyParamCaption}
)}\label{classmarlintpc_1_1MagneticField_a2ca8309f6bf148a19de37a196e47a3a5}


sets the orientation of the T\-P\-C with respect to the coil axis 

sets the rotations if the coordinate system of the field map is tilted with respect to the general coordinate system.

The rotations are applied before a possible translation. 
\begin{DoxyParams}{Parameters}
{\em x\-\_\-rotation} & The angle between the two z axis in y direction (in rad) \\
\hline
{\em y\-\_\-rotation} & The angle between the two z axis in x direction (in rad) \\
\hline
\end{DoxyParams}


Referenced by marlintpc\-::\-Cylindrical2\-D\-Magnetic\-Field\-::\-Cylindrical2\-D\-Magnetic\-Field(), marlintpc\-::\-Cylindrical2\-D\-Magnetic\-Field\-::init(), and Magnetic\-Field().

\index{marlintpc\-::\-Magnetic\-Field@{marlintpc\-::\-Magnetic\-Field}!set\-\_\-scale\-\_\-factor@{set\-\_\-scale\-\_\-factor}}
\index{set\-\_\-scale\-\_\-factor@{set\-\_\-scale\-\_\-factor}!marlintpc::MagneticField@{marlintpc\-::\-Magnetic\-Field}}
\subsubsection[{set\-\_\-scale\-\_\-factor}]{\setlength{\rightskip}{0pt plus 5cm}void marlintpc\-::\-Magnetic\-Field\-::set\-\_\-scale\-\_\-factor (
\begin{DoxyParamCaption}
\item[{const double \&}]{scale\-\_\-factor}
\end{DoxyParamCaption}
)}\label{classmarlintpc_1_1MagneticField_aafb5f21b2ac9b02d635739e07aa6a2f5}


sets the scale factor for the magnetic field, i.\-e. 

higher current than during mapping 

Referenced by Magnetic\-Field().

\index{marlintpc\-::\-Magnetic\-Field@{marlintpc\-::\-Magnetic\-Field}!set\-\_\-translation@{set\-\_\-translation}}
\index{set\-\_\-translation@{set\-\_\-translation}!marlintpc::MagneticField@{marlintpc\-::\-Magnetic\-Field}}
\subsubsection[{set\-\_\-translation}]{\setlength{\rightskip}{0pt plus 5cm}void marlintpc\-::\-Magnetic\-Field\-::set\-\_\-translation (
\begin{DoxyParamCaption}
\item[{const C\-L\-H\-E\-P\-::\-Hep3\-Vector \&}]{vector}
\end{DoxyParamCaption}
)}\label{classmarlintpc_1_1MagneticField_a0a000c4e87519d187c721d3735848bf1}


sets the relative position of the origin of the field map (i.\-e. 

center of the coil) to the general coordinate system. The translation is applied after the rotation, so when the axis of original system and coil system are parallel. 

Referenced by marlintpc\-::\-Cylindrical2\-D\-Magnetic\-Field\-::\-Cylindrical2\-D\-Magnetic\-Field(), marlintpc\-::\-Cylindrical2\-D\-Magnetic\-Field\-::init(), and Magnetic\-Field().



The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
Magnetic\-Field.\-h\item 
Magnetic\-Field.\-cc\end{DoxyCompactItemize}
