\hypertarget{classHurricane_1_1Technology}{}\section{Hurricane\+:\+:Technology Class Reference}
\label{classHurricane_1_1Technology}\index{Hurricane\+::\+Technology@{Hurricane\+::\+Technology}}


Technological rules description ({\bfseries A\+PI}).  




Inheritance diagram for Hurricane\+:\+:Technology\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=194pt]{classHurricane_1_1Technology__inherit__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
bool \mbox{\hyperlink{classHurricane_1_1Technology_ae5590e455d35f76531a6feb0c0f111a2}{is\+Metal}} (const \mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} $\ast$) const
\item 
\mbox{\hyperlink{classHurricane_1_1DataBase}{Data\+Base}} $\ast$ \mbox{\hyperlink{classHurricane_1_1Technology_acf836e738fba14fa493b0e08148cc3ee}{get\+Data\+Base}} () const
\item 
const \mbox{\hyperlink{classHurricane_1_1Name}{Name}} \& \mbox{\hyperlink{classHurricane_1_1Technology_ae466071aa1991c853ee71af12fa62d4e}{get\+Name}} () const
\item 
\mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} $\ast$ \mbox{\hyperlink{classHurricane_1_1Technology_a4ec69c9f8f6b483885f1900c56a97b61}{get\+Layer}} (const \mbox{\hyperlink{classHurricane_1_1Name}{Name}} \&) const
\item 
\mbox{\hyperlink{classHurricane_1_1BasicLayer}{Basic\+Layer}} $\ast$ \mbox{\hyperlink{classHurricane_1_1Technology_ab096154ce9485cef02244f0037efd4fb}{get\+Basic\+Layer}} (const \mbox{\hyperlink{classHurricane_1_1Name}{Name}} \&) const
\item 
\mbox{\hyperlink{classHurricane_1_1RegularLayer}{Regular\+Layer}} $\ast$ \mbox{\hyperlink{classHurricane_1_1Technology_a0e93f2f749ee9b6efd30de4ef74546cc}{get\+Regular\+Layer}} (const \mbox{\hyperlink{classHurricane_1_1Name}{Name}} \&) const
\item 
\mbox{\hyperlink{classHurricane_1_1ViaLayer}{Via\+Layer}} $\ast$ \mbox{\hyperlink{classHurricane_1_1Technology_a9edd085c08487642dd8745b66cf40c76}{get\+Via\+Layer}} (const \mbox{\hyperlink{classHurricane_1_1Name}{Name}} \&) const
\item 
\mbox{\hyperlink{namespaceHurricane_a7b7200a36ab7ce8a157ddbe78b625f38}{Layers}} \mbox{\hyperlink{classHurricane_1_1Technology_a4e58c5ae8e3e82d7fe1b3bb939d6a633}{get\+Layers}} () const
\item 
Basic\+Layers \mbox{\hyperlink{classHurricane_1_1Technology_a7fccff9da6604fafb90408ba56184fc0}{get\+Basic\+Layers}} () const
\item 
Basic\+Layers \mbox{\hyperlink{classHurricane_1_1Technology_a997457824046ea63eba51210a8e23f85}{get\+Basic\+Layers}} (const \mbox{\hyperlink{classHurricane_1_1Layer_af5277c670637bd5d910237e7afe01a91}{Layer\+::\+Mask}} \&) const
\item 
Regular\+Layers \mbox{\hyperlink{classHurricane_1_1Technology_abffce542bc1cee054b4a09c64449f3b8}{get\+Regular\+Layers}} () const
\item 
Via\+Layers \mbox{\hyperlink{classHurricane_1_1Technology_aacde973f6a02a232a01f3f618576e1ee}{get\+Via\+Layers}} () const
\item 
\mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} $\ast$ \mbox{\hyperlink{classHurricane_1_1Technology_a2ab8d2c386bf3daeb2b93d92ecbac6b4}{get\+Layer}} (const \mbox{\hyperlink{classHurricane_1_1Layer_af5277c670637bd5d910237e7afe01a91}{Layer\+::\+Mask}} \&, bool use\+Symbolic=true) const
\item 
\mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} $\ast$ \mbox{\hyperlink{classHurricane_1_1Technology_af5723b08c9d289ffef8159ac2ea71b74}{get\+Metal\+Above}} (const \mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} $\ast$, bool use\+Symbolic=true) const
\item 
\mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} $\ast$ \mbox{\hyperlink{classHurricane_1_1Technology_ae02123406c7362cc14413727e8689d5a}{get\+Metal\+Below}} (const \mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} $\ast$, bool use\+Symbolic=true) const
\item 
\mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} $\ast$ \mbox{\hyperlink{classHurricane_1_1Technology_ac7125a8eea871918e74bb295c56caceb}{get\+Cut\+Above}} (const \mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} $\ast$, bool use\+Symbolic=true) const
\item 
\mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} $\ast$ \mbox{\hyperlink{classHurricane_1_1Technology_a3ca39dccc7e19b404181f55777e1b933}{get\+Cut\+Below}} (const \mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} $\ast$, bool use\+Symbolic=true) const
\item 
\mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} $\ast$ \mbox{\hyperlink{classHurricane_1_1Technology_a8209708bc594a307ea39f15a39bbf196}{get\+Via\+Between}} (const \mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} $\ast$, const \mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} $\ast$, bool use\+Symbolic=true) const
\item 
\mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} $\ast$ \mbox{\hyperlink{classHurricane_1_1Technology_a81a3f3e479aeb686c61a2d0fa2931f3b}{get\+Nth\+Metal}} (int) const
\item 
void \mbox{\hyperlink{classHurricane_1_1Technology_a247b75d5cbb85198cea9e5e609304cd0}{set\+Name}} (const \mbox{\hyperlink{classHurricane_1_1Name}{Name}} \&)
\end{DoxyCompactItemize}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static \mbox{\hyperlink{classHurricane_1_1Technology}{Technology}} $\ast$ \mbox{\hyperlink{classHurricane_1_1Technology_a8fd65387c7fd6ba1396f905fadf20087}{create}} (\mbox{\hyperlink{classHurricane_1_1DataBase}{Data\+Base}} $\ast$, const \mbox{\hyperlink{classHurricane_1_1Name}{Name}} \&)
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Technological rules description ({\bfseries A\+PI}). 

\hypertarget{classHurricane_1_1Technology_sTechnologyIntro}{}\subsection{Introduction}\label{classHurricane_1_1Technology_sTechnologyIntro}
The \mbox{\hyperlink{classHurricane_1_1Technology}{Technology}} object provides the description of all the technology rules needed by the tools, currently it is limited to the description of all layers available. This object must be created once within the \mbox{\hyperlink{classHurricane_1_1DataBase}{Data\+Base}}, and, in principle never destroyed (this would destroy layers and all objects laying on them ...).

\begin{DoxyParagraph}{Remark\+: There is only one technology for the current Data\+Base, and only one}
Database object, so only one technology defined. 
\end{DoxyParagraph}


\subsection{Member Function Documentation}
\mbox{\Hypertarget{classHurricane_1_1Technology_a8fd65387c7fd6ba1396f905fadf20087}\label{classHurricane_1_1Technology_a8fd65387c7fd6ba1396f905fadf20087}} 
\index{Hurricane\+::\+Technology@{Hurricane\+::\+Technology}!create@{create}}
\index{create@{create}!Hurricane\+::\+Technology@{Hurricane\+::\+Technology}}
\subsubsection{\texorpdfstring{create()}{create()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classHurricane_1_1Technology}{Technology}} $\ast$ Hurricane\+::\+Technology\+::create (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classHurricane_1_1DataBase}{Data\+Base}} $\ast$}]{data\+Base,  }\item[{const \mbox{\hyperlink{classHurricane_1_1Name}{Name}} \&}]{name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Returns\+:} a newly created technology named {\ttfamily $<$name$>$} for the data base {\ttfamily $<$data\+Base$>$}.

\begin{DoxyParagraph}{Caution\+: Throws an exception if the {\ttfamily data\+Base} is {\ttfamily N\+U\+LL}, if the name is empty or if}
the {\ttfamily data\+Base} has already a technology. 
\end{DoxyParagraph}
\mbox{\Hypertarget{classHurricane_1_1Technology_ae5590e455d35f76531a6feb0c0f111a2}\label{classHurricane_1_1Technology_ae5590e455d35f76531a6feb0c0f111a2}} 
\index{Hurricane\+::\+Technology@{Hurricane\+::\+Technology}!is\+Metal@{is\+Metal}}
\index{is\+Metal@{is\+Metal}!Hurricane\+::\+Technology@{Hurricane\+::\+Technology}}
\subsubsection{\texorpdfstring{is\+Metal()}{isMetal()}}
{\footnotesize\ttfamily bool Hurricane\+::\+Technology\+::is\+Metal (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} $\ast$}]{layer }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

{\bfseries Returns\+:} {\bfseries true} if the {\ttfamily layer} is indeed of type \mbox{\hyperlink{classHurricane_1_1BasicLayer_1_1Material_a3e815440ad4b86b3569fa54ca06fc3e8a9f5ac52339b7bd9bbf7cdac468c51924}{Basic\+Layer\+::\+Material\+::metal}}. 

References Hurricane\+::\+Layer\+::get\+Mask().

\mbox{\Hypertarget{classHurricane_1_1Technology_acf836e738fba14fa493b0e08148cc3ee}\label{classHurricane_1_1Technology_acf836e738fba14fa493b0e08148cc3ee}} 
\index{Hurricane\+::\+Technology@{Hurricane\+::\+Technology}!get\+Data\+Base@{get\+Data\+Base}}
\index{get\+Data\+Base@{get\+Data\+Base}!Hurricane\+::\+Technology@{Hurricane\+::\+Technology}}
\subsubsection{\texorpdfstring{get\+Data\+Base()}{getDataBase()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classHurricane_1_1DataBase}{Data\+Base}} $\ast$ Hurricane\+::\+Technology\+::get\+Data\+Base (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

{\bfseries Returns\+:} the \mbox{\hyperlink{classHurricane_1_1DataBase}{Data\+Base}} owning the technology. \mbox{\Hypertarget{classHurricane_1_1Technology_ae466071aa1991c853ee71af12fa62d4e}\label{classHurricane_1_1Technology_ae466071aa1991c853ee71af12fa62d4e}} 
\index{Hurricane\+::\+Technology@{Hurricane\+::\+Technology}!get\+Name@{get\+Name}}
\index{get\+Name@{get\+Name}!Hurricane\+::\+Technology@{Hurricane\+::\+Technology}}
\subsubsection{\texorpdfstring{get\+Name()}{getName()}}
{\footnotesize\ttfamily const \mbox{\hyperlink{classHurricane_1_1Name}{Name}} \& Hurricane\+::\+Technology\+::get\+Name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

{\bfseries Returns\+:} the technology name. \mbox{\Hypertarget{classHurricane_1_1Technology_a4ec69c9f8f6b483885f1900c56a97b61}\label{classHurricane_1_1Technology_a4ec69c9f8f6b483885f1900c56a97b61}} 
\index{Hurricane\+::\+Technology@{Hurricane\+::\+Technology}!get\+Layer@{get\+Layer}}
\index{get\+Layer@{get\+Layer}!Hurricane\+::\+Technology@{Hurricane\+::\+Technology}}
\subsubsection{\texorpdfstring{get\+Layer()}{getLayer()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} $\ast$ Hurricane\+::\+Technology\+::get\+Layer (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classHurricane_1_1Name}{Name}} \&}]{name }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

{\bfseries Returns\+:} the \mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} named {\ttfamily $<$name$>$} if it exists, else {\ttfamily N\+U\+LL}. \mbox{\Hypertarget{classHurricane_1_1Technology_ab096154ce9485cef02244f0037efd4fb}\label{classHurricane_1_1Technology_ab096154ce9485cef02244f0037efd4fb}} 
\index{Hurricane\+::\+Technology@{Hurricane\+::\+Technology}!get\+Basic\+Layer@{get\+Basic\+Layer}}
\index{get\+Basic\+Layer@{get\+Basic\+Layer}!Hurricane\+::\+Technology@{Hurricane\+::\+Technology}}
\subsubsection{\texorpdfstring{get\+Basic\+Layer()}{getBasicLayer()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classHurricane_1_1BasicLayer}{Basic\+Layer}} $\ast$ Hurricane\+::\+Technology\+::get\+Basic\+Layer (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classHurricane_1_1Name}{Name}} \&}]{name }\end{DoxyParamCaption}) const}

{\bfseries Returns\+:} the \mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} named {\ttfamily $<$name$>$} if it exists and is a \mbox{\hyperlink{classHurricane_1_1BasicLayer}{Basic\+Layer}}, else {\ttfamily N\+U\+LL}. \mbox{\Hypertarget{classHurricane_1_1Technology_a0e93f2f749ee9b6efd30de4ef74546cc}\label{classHurricane_1_1Technology_a0e93f2f749ee9b6efd30de4ef74546cc}} 
\index{Hurricane\+::\+Technology@{Hurricane\+::\+Technology}!get\+Regular\+Layer@{get\+Regular\+Layer}}
\index{get\+Regular\+Layer@{get\+Regular\+Layer}!Hurricane\+::\+Technology@{Hurricane\+::\+Technology}}
\subsubsection{\texorpdfstring{get\+Regular\+Layer()}{getRegularLayer()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classHurricane_1_1BasicLayer}{Basic\+Layer}} $\ast$ Hurricane\+::\+Technology\+::get\+Regular\+Layer (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classHurricane_1_1Name}{Name}} \&}]{name }\end{DoxyParamCaption}) const}

{\bfseries Returns\+:} the \mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} named {\ttfamily $<$name$>$} if it exists and is a \mbox{\hyperlink{classHurricane_1_1RegularLayer}{Regular\+Layer}}, else {\ttfamily N\+U\+LL}. \mbox{\Hypertarget{classHurricane_1_1Technology_a9edd085c08487642dd8745b66cf40c76}\label{classHurricane_1_1Technology_a9edd085c08487642dd8745b66cf40c76}} 
\index{Hurricane\+::\+Technology@{Hurricane\+::\+Technology}!get\+Via\+Layer@{get\+Via\+Layer}}
\index{get\+Via\+Layer@{get\+Via\+Layer}!Hurricane\+::\+Technology@{Hurricane\+::\+Technology}}
\subsubsection{\texorpdfstring{get\+Via\+Layer()}{getViaLayer()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classHurricane_1_1BasicLayer}{Basic\+Layer}} $\ast$ Hurricane\+::\+Technology\+::get\+Via\+Layer (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classHurricane_1_1Name}{Name}} \&}]{name }\end{DoxyParamCaption}) const}

{\bfseries Returns\+:} the \mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} named {\ttfamily $<$name$>$} if it exists and is a \mbox{\hyperlink{classHurricane_1_1ViaLayer}{Via\+Layer}}, else {\ttfamily N\+U\+LL}. \mbox{\Hypertarget{classHurricane_1_1Technology_a4e58c5ae8e3e82d7fe1b3bb939d6a633}\label{classHurricane_1_1Technology_a4e58c5ae8e3e82d7fe1b3bb939d6a633}} 
\index{Hurricane\+::\+Technology@{Hurricane\+::\+Technology}!get\+Layers@{get\+Layers}}
\index{get\+Layers@{get\+Layers}!Hurricane\+::\+Technology@{Hurricane\+::\+Technology}}
\subsubsection{\texorpdfstring{get\+Layers()}{getLayers()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespaceHurricane_a7b7200a36ab7ce8a157ddbe78b625f38}{Layers}} Hurricane\+::\+Technology\+::get\+Layers (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

{\bfseries Returns\+:} the collection of layers of the technology.

\begin{DoxyParagraph}{Remark\+: The layers are traversed according to their}
creation order. This order is very important, notably for the graphical display. Therefore deeper basic layers must be created first and upper layers later (the order of composite layers has no importance). 
\end{DoxyParagraph}
\mbox{\Hypertarget{classHurricane_1_1Technology_a7fccff9da6604fafb90408ba56184fc0}\label{classHurricane_1_1Technology_a7fccff9da6604fafb90408ba56184fc0}} 
\index{Hurricane\+::\+Technology@{Hurricane\+::\+Technology}!get\+Basic\+Layers@{get\+Basic\+Layers}}
\index{get\+Basic\+Layers@{get\+Basic\+Layers}!Hurricane\+::\+Technology@{Hurricane\+::\+Technology}}
\subsubsection{\texorpdfstring{get\+Basic\+Layers()}{getBasicLayers()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily Basic\+Layers Hurricane\+::\+Technology\+::get\+Basic\+Layers (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}

{\bfseries Returns\+:} the collection of basic layers of the technology (uses the same order). \mbox{\Hypertarget{classHurricane_1_1Technology_a997457824046ea63eba51210a8e23f85}\label{classHurricane_1_1Technology_a997457824046ea63eba51210a8e23f85}} 
\index{Hurricane\+::\+Technology@{Hurricane\+::\+Technology}!get\+Basic\+Layers@{get\+Basic\+Layers}}
\index{get\+Basic\+Layers@{get\+Basic\+Layers}!Hurricane\+::\+Technology@{Hurricane\+::\+Technology}}
\subsubsection{\texorpdfstring{get\+Basic\+Layers()}{getBasicLayers()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily Basic\+Layers Hurricane\+::\+Technology\+::get\+Basic\+Layers (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classHurricane_1_1Layer_af5277c670637bd5d910237e7afe01a91}{Layer\+::\+Mask}} \&}]{mask }\end{DoxyParamCaption}) const}

{\bfseries Returns\+:} the collection of basic layers of the technology which matches the \mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} mask {\ttfamily $<$mask$>$} (uses the same order). \mbox{\Hypertarget{classHurricane_1_1Technology_abffce542bc1cee054b4a09c64449f3b8}\label{classHurricane_1_1Technology_abffce542bc1cee054b4a09c64449f3b8}} 
\index{Hurricane\+::\+Technology@{Hurricane\+::\+Technology}!get\+Regular\+Layers@{get\+Regular\+Layers}}
\index{get\+Regular\+Layers@{get\+Regular\+Layers}!Hurricane\+::\+Technology@{Hurricane\+::\+Technology}}
\subsubsection{\texorpdfstring{get\+Regular\+Layers()}{getRegularLayers()}}
{\footnotesize\ttfamily Regular\+Layers Hurricane\+::\+Technology\+::get\+Regular\+Layers (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}

{\bfseries Returns\+:} the collection of regular layers of the technology (uses the same order). \mbox{\Hypertarget{classHurricane_1_1Technology_aacde973f6a02a232a01f3f618576e1ee}\label{classHurricane_1_1Technology_aacde973f6a02a232a01f3f618576e1ee}} 
\index{Hurricane\+::\+Technology@{Hurricane\+::\+Technology}!get\+Via\+Layers@{get\+Via\+Layers}}
\index{get\+Via\+Layers@{get\+Via\+Layers}!Hurricane\+::\+Technology@{Hurricane\+::\+Technology}}
\subsubsection{\texorpdfstring{get\+Via\+Layers()}{getViaLayers()}}
{\footnotesize\ttfamily Via\+Layers Hurricane\+::\+Technology\+::get\+Via\+Layers (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}

{\bfseries Returns\+:} the collection of via layers of the technology (uses the same order). \mbox{\Hypertarget{classHurricane_1_1Technology_a2ab8d2c386bf3daeb2b93d92ecbac6b4}\label{classHurricane_1_1Technology_a2ab8d2c386bf3daeb2b93d92ecbac6b4}} 
\index{Hurricane\+::\+Technology@{Hurricane\+::\+Technology}!get\+Layer@{get\+Layer}}
\index{get\+Layer@{get\+Layer}!Hurricane\+::\+Technology@{Hurricane\+::\+Technology}}
\subsubsection{\texorpdfstring{get\+Layer()}{getLayer()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} $\ast$ Hurricane\+::\+Technology\+::get\+Layer (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classHurricane_1_1Layer_af5277c670637bd5d910237e7afe01a91}{Layer\+::\+Mask}} \&}]{mask,  }\item[{bool}]{use\+Working = {\ttfamily true} }\end{DoxyParamCaption}) const}

{\bfseries Returns\+:} the layer whose mask equal {\ttfamily mask} and is flagged as working layer. if there is no working layer, returns the first layer that matches. \mbox{\Hypertarget{classHurricane_1_1Technology_af5723b08c9d289ffef8159ac2ea71b74}\label{classHurricane_1_1Technology_af5723b08c9d289ffef8159ac2ea71b74}} 
\index{Hurricane\+::\+Technology@{Hurricane\+::\+Technology}!get\+Metal\+Above@{get\+Metal\+Above}}
\index{get\+Metal\+Above@{get\+Metal\+Above}!Hurricane\+::\+Technology@{Hurricane\+::\+Technology}}
\subsubsection{\texorpdfstring{get\+Metal\+Above()}{getMetalAbove()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} $\ast$ Hurricane\+::\+Technology\+::get\+Metal\+Above (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} $\ast$}]{layer,  }\item[{bool}]{use\+Working = {\ttfamily true} }\end{DoxyParamCaption}) const}

{\bfseries Returns\+:} the first layer of metal type whose mask is above the current one. if there is no working layer, returns the first layer that matches. \mbox{\Hypertarget{classHurricane_1_1Technology_ae02123406c7362cc14413727e8689d5a}\label{classHurricane_1_1Technology_ae02123406c7362cc14413727e8689d5a}} 
\index{Hurricane\+::\+Technology@{Hurricane\+::\+Technology}!get\+Metal\+Below@{get\+Metal\+Below}}
\index{get\+Metal\+Below@{get\+Metal\+Below}!Hurricane\+::\+Technology@{Hurricane\+::\+Technology}}
\subsubsection{\texorpdfstring{get\+Metal\+Below()}{getMetalBelow()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} $\ast$ Hurricane\+::\+Technology\+::get\+Metal\+Below (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} $\ast$}]{layer,  }\item[{bool}]{use\+Working = {\ttfamily true} }\end{DoxyParamCaption}) const}

{\bfseries Returns\+:} the first layer of metal type whose mask is below the current one. if there is no working layer, returns the first layer that matches. \mbox{\Hypertarget{classHurricane_1_1Technology_ac7125a8eea871918e74bb295c56caceb}\label{classHurricane_1_1Technology_ac7125a8eea871918e74bb295c56caceb}} 
\index{Hurricane\+::\+Technology@{Hurricane\+::\+Technology}!get\+Cut\+Above@{get\+Cut\+Above}}
\index{get\+Cut\+Above@{get\+Cut\+Above}!Hurricane\+::\+Technology@{Hurricane\+::\+Technology}}
\subsubsection{\texorpdfstring{get\+Cut\+Above()}{getCutAbove()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} $\ast$ Hurricane\+::\+Technology\+::get\+Cut\+Above (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} $\ast$}]{layer,  }\item[{bool}]{use\+Working = {\ttfamily true} }\end{DoxyParamCaption}) const}

{\bfseries Returns\+:} the first layer of cut type whose mask is above the current one. if there is no working layer, returns the first layer that matches. \mbox{\Hypertarget{classHurricane_1_1Technology_a3ca39dccc7e19b404181f55777e1b933}\label{classHurricane_1_1Technology_a3ca39dccc7e19b404181f55777e1b933}} 
\index{Hurricane\+::\+Technology@{Hurricane\+::\+Technology}!get\+Cut\+Below@{get\+Cut\+Below}}
\index{get\+Cut\+Below@{get\+Cut\+Below}!Hurricane\+::\+Technology@{Hurricane\+::\+Technology}}
\subsubsection{\texorpdfstring{get\+Cut\+Below()}{getCutBelow()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} $\ast$ Hurricane\+::\+Technology\+::get\+Cut\+Below (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} $\ast$}]{layer,  }\item[{bool}]{use\+Working = {\ttfamily true} }\end{DoxyParamCaption}) const}

{\bfseries Returns\+:} the first layer of cut type whose mask is below the current one. if there is no working layer, returns the first layer that matches. \mbox{\Hypertarget{classHurricane_1_1Technology_a8209708bc594a307ea39f15a39bbf196}\label{classHurricane_1_1Technology_a8209708bc594a307ea39f15a39bbf196}} 
\index{Hurricane\+::\+Technology@{Hurricane\+::\+Technology}!get\+Via\+Between@{get\+Via\+Between}}
\index{get\+Via\+Between@{get\+Via\+Between}!Hurricane\+::\+Technology@{Hurricane\+::\+Technology}}
\subsubsection{\texorpdfstring{get\+Via\+Between()}{getViaBetween()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} $\ast$ Hurricane\+::\+Technology\+::get\+Via\+Between (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} $\ast$}]{,  }\item[{const \mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} $\ast$}]{,  }\item[{bool}]{use\+Symbolic = {\ttfamily true} }\end{DoxyParamCaption}) const}

{\bfseries Returns\+:} the cut layer between {\ttfamily layer1} and {\ttfamily layer2}. They must be both of metal kind and contiguous. \mbox{\Hypertarget{classHurricane_1_1Technology_a81a3f3e479aeb686c61a2d0fa2931f3b}\label{classHurricane_1_1Technology_a81a3f3e479aeb686c61a2d0fa2931f3b}} 
\index{Hurricane\+::\+Technology@{Hurricane\+::\+Technology}!get\+Nth\+Metal@{get\+Nth\+Metal}}
\index{get\+Nth\+Metal@{get\+Nth\+Metal}!Hurricane\+::\+Technology@{Hurricane\+::\+Technology}}
\subsubsection{\texorpdfstring{get\+Nth\+Metal()}{getNthMetal()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} $\ast$ Hurricane\+::\+Technology\+::get\+Nth\+Metal (\begin{DoxyParamCaption}\item[{int}]{depth }\end{DoxyParamCaption}) const}

{\bfseries Returns\+:} the {\ttfamily Nth} metal layer from the substrate. So a {\ttfamily depth} of zero should mean {\ttfamily metal1}. \mbox{\Hypertarget{classHurricane_1_1Technology_a247b75d5cbb85198cea9e5e609304cd0}\label{classHurricane_1_1Technology_a247b75d5cbb85198cea9e5e609304cd0}} 
\index{Hurricane\+::\+Technology@{Hurricane\+::\+Technology}!set\+Name@{set\+Name}}
\index{set\+Name@{set\+Name}!Hurricane\+::\+Technology@{Hurricane\+::\+Technology}}
\subsubsection{\texorpdfstring{set\+Name()}{setName()}}
{\footnotesize\ttfamily void Hurricane\+::\+Technology\+::set\+Name (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classHurricane_1_1Name}{Name}} \&}]{name }\end{DoxyParamCaption})}

Allows to change the technology name (if empty name, throws an exception). 

The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Technology.\+h\item 
Technology.\+dox\end{DoxyCompactItemize}
