\section{gear\-:\-:Gear\-Distance\-Properties Class Reference}
\label{classgear_1_1GearDistanceProperties}\index{gear\-::\-Gear\-Distance\-Properties@{gear\-::\-Gear\-Distance\-Properties}}


Abstract interface for a class that returns the (material) properties along a given distance between two points in in world coordinates.  




{\ttfamily \#include $<$Gear\-Distance\-Properties.\-h$>$}

Inheritance diagram for gear\-:\-:Gear\-Distance\-Properties\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classgear_1_1GearDistanceProperties}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual {\bf $\sim$\-Gear\-Distance\-Properties} ()\label{classgear_1_1GearDistanceProperties_a7821619a59703f332ff0c28a48268875}

\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
virtual const std\-::vector\\*
$<$ std\-::string $>$ \& {\bf get\-Material\-Names} (const {\bf Vector3\-D} \&p0, const {\bf Vector3\-D} \&p1) const =0  throw (\-Not\-Implemented\-Exception, std\-::exception )
\begin{DoxyCompactList}\small\item\em List of material names along the distance between [p0,p1] -\/ W\-A\-R\-N\-I\-N\-G\-: this method returns a reference to a vector that will change after the next call to this method with different arguments or if the \doxyref{Gear\-Distance\-Properties}{p.}{classgear_1_1GearDistanceProperties} object goes out of scope. \end{DoxyCompactList}\item 
virtual const std\-::vector\\*
$<$ double $>$ \& {\bf get\-Material\-Thicknesses} (const {\bf Vector3\-D} \&p0, const {\bf Vector3\-D} \&p1) const =0  throw (\-Not\-Implemented\-Exception, std\-::exception )
\begin{DoxyCompactList}\small\item\em List of matrial thicknesses in mm along the distance between [p0,p1] -\/ runs parallel to the array returned by \doxyref{get\-Material\-Names()}{p.}{classgear_1_1GearDistanceProperties_a1d162e1fcde50ebc61e9c7ebba75ea52} -\/ W\-A\-R\-N\-I\-N\-G\-: this method returns a reference to a vector that will change after the next call to this method with different arguments or if the \doxyref{Gear\-Distance\-Properties}{p.}{classgear_1_1GearDistanceProperties} object goes out of scope. \end{DoxyCompactList}\item 
virtual double {\bf get\-N\-Radlen} (const {\bf Vector3\-D} \&p0, const {\bf Vector3\-D} \&p1) const =0  throw (\-Not\-Implemented\-Exception, std\-::exception )\label{classgear_1_1GearDistanceProperties_a4f5270bc44c2bf6c22416685cf8bac85}

\begin{DoxyCompactList}\small\item\em The number of radiation lengths along the distance between [p0,p1] . \end{DoxyCompactList}\item 
virtual double {\bf get\-N\-Intlen} (const {\bf Vector3\-D} \&p0, const {\bf Vector3\-D} \&p1) const =0  throw (\-Not\-Implemented\-Exception, std\-::exception )\label{classgear_1_1GearDistanceProperties_ad81f28cfb775899253427282a152e670}

\begin{DoxyCompactList}\small\item\em The number of interaction lengths along the distance between [p0,p1] . \end{DoxyCompactList}\item 
virtual double {\bf get\-Bd\-L} (const {\bf Vector3\-D} \&p0, const {\bf Vector3\-D} \&p1) const =0  throw (\-Not\-Implemented\-Exception, std\-::exception )\label{classgear_1_1GearDistanceProperties_ab35bc25a8ee9071f1488060ca61255a4}

\begin{DoxyCompactList}\small\item\em The integrated magnetic field along the distance between [p0,p1] in Tesla$\ast$mm. \end{DoxyCompactList}\item 
virtual double {\bf get\-Ed\-L} (const {\bf Vector3\-D} \&p0, const {\bf Vector3\-D} \&p1) const =0  throw (\-Not\-Implemented\-Exception, std\-::exception )\label{classgear_1_1GearDistanceProperties_a12e359bf06aa8cff0fdbd263ef583e5c}

\begin{DoxyCompactList}\small\item\em The integrated electric field along the distance between [p0,p1] in m\-Volt. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Abstract interface for a class that returns the (material) properties along a given distance between two points in in world coordinates. 

No assumption is made on the tool used to implement the functionality.

Based on ideas discussed at the 2004 Argonne Simulation Workshop as summarized by T.\-Behnke.

\begin{DoxyAuthor}{Author}
F. Gaede, D\-E\-S\-Y 
\end{DoxyAuthor}
\begin{DoxyVersion}{Version}

\end{DoxyVersion}
\begin{DoxyParagraph}{Id\-:}
\doxyref{Gear\-Distance\-Properties.\-h}{p.}{GearDistanceProperties_8h_source} 380 2011-\/08-\/26 12\-:24\-:46\-Z gaede 
\end{DoxyParagraph}


Definition at line 21 of file Gear\-Distance\-Properties.\-h.



\subsection{Member Function Documentation}
\index{gear\-::\-Gear\-Distance\-Properties@{gear\-::\-Gear\-Distance\-Properties}!get\-Material\-Names@{get\-Material\-Names}}
\index{get\-Material\-Names@{get\-Material\-Names}!gear::GearDistanceProperties@{gear\-::\-Gear\-Distance\-Properties}}
\subsubsection[{get\-Material\-Names}]{\setlength{\rightskip}{0pt plus 5cm}virtual const std\-::vector$<$std\-::string$>$\& gear\-::\-Gear\-Distance\-Properties\-::get\-Material\-Names (
\begin{DoxyParamCaption}
\item[{const {\bf Vector3\-D} \&}]{p0, }
\item[{const {\bf Vector3\-D} \&}]{p1}
\end{DoxyParamCaption}
) const throw  {\bf Not\-Implemented\-Exception}, std\-::exception) \hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classgear_1_1GearDistanceProperties_a1d162e1fcde50ebc61e9c7ebba75ea52}


List of material names along the distance between [p0,p1] -\/ W\-A\-R\-N\-I\-N\-G\-: this method returns a reference to a vector that will change after the next call to this method with different arguments or if the \doxyref{Gear\-Distance\-Properties}{p.}{classgear_1_1GearDistanceProperties} object goes out of scope. 

It is the users responsibility to make a copy of that vector if needed. 

Implemented in {\bf gear\-::\-T\-Geo\-Gear\-Distance\-Properties} \doxyref{}{p.}{classgear_1_1TGeoGearDistanceProperties_ae67aa80daf97e6aefa182541eee9f18d}, and {\bf gear\-::\-C\-G\-A\-Gear\-Distance\-Properties} \doxyref{}{p.}{classgear_1_1CGAGearDistanceProperties_a4ba23762daf365ca54891a3b800b4b14}.

\index{gear\-::\-Gear\-Distance\-Properties@{gear\-::\-Gear\-Distance\-Properties}!get\-Material\-Thicknesses@{get\-Material\-Thicknesses}}
\index{get\-Material\-Thicknesses@{get\-Material\-Thicknesses}!gear::GearDistanceProperties@{gear\-::\-Gear\-Distance\-Properties}}
\subsubsection[{get\-Material\-Thicknesses}]{\setlength{\rightskip}{0pt plus 5cm}virtual const std\-::vector$<$double$>$\& gear\-::\-Gear\-Distance\-Properties\-::get\-Material\-Thicknesses (
\begin{DoxyParamCaption}
\item[{const {\bf Vector3\-D} \&}]{p0, }
\item[{const {\bf Vector3\-D} \&}]{p1}
\end{DoxyParamCaption}
) const throw  {\bf Not\-Implemented\-Exception}, std\-::exception) \hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classgear_1_1GearDistanceProperties_afcd9b9c756b831f76d5dc0719e720afb}


List of matrial thicknesses in mm along the distance between [p0,p1] -\/ runs parallel to the array returned by \doxyref{get\-Material\-Names()}{p.}{classgear_1_1GearDistanceProperties_a1d162e1fcde50ebc61e9c7ebba75ea52} -\/ W\-A\-R\-N\-I\-N\-G\-: this method returns a reference to a vector that will change after the next call to this method with different arguments or if the \doxyref{Gear\-Distance\-Properties}{p.}{classgear_1_1GearDistanceProperties} object goes out of scope. 

It is the users responsibility to make a copy of that vector if needed. 

Implemented in {\bf gear\-::\-T\-Geo\-Gear\-Distance\-Properties} \doxyref{}{p.}{classgear_1_1TGeoGearDistanceProperties_aa97630e2f62d1f7590ed0ed55802790e}, and {\bf gear\-::\-C\-G\-A\-Gear\-Distance\-Properties} \doxyref{}{p.}{classgear_1_1CGAGearDistanceProperties_a7aa1e69db1cc2f8f283f22323e193872}.



The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
\item 
Gear\-Distance\-Properties.\-h\end{DoxyCompactItemize}
