  \begin{tikzpicture}[>=stealth',black!50, text=black, thick,
    every new ->/.style= {shorten >=1pt},
    every path/.style={rounded corners},
    action/.style={draw,inner sep=5pt,rounded corners,draw=black!50,very thick,fill=black!5!blue!2,minimum width=4cm},
    test/.style={draw,diamond,rounded corners,fill=black!2},
    graphs/every graph/.style= {edges=rounded corners},
    skip loop/.style= {to path={-- ++(#1,0) |- (\tikztotarget)}},
    hv path/.style= {to path={-| (\tikztotarget)}},
    vh path/.style= {to path={|- (\tikztotarget)}}]
    \graph [grow down sep=7mm, branch left=35mm] {
      bundle/"Ray bundle" -> p/"Plane of origin"[action]->["$Id=0$"] m/"Mirror \#: $Id=Id+1$"[action]  ->["$k=0$"] s/"Segment \#: $k=k+1$"[action] -> g/"To Rigid Body CS"[action] -> "To Motion CS"[action] ->  "To Aperture CS"[action] -> {q1/"Vignetted?"[test,aspect=2.5],q2/"$k<7?$"[test,aspect=2,not source,not target,label={[xshift=3mm]below:No}]} ->["No"] mc/"To Conic CS"[action] ->  si/"Segment Intersection"[action] -> sr/"Segment Reflection"[action] -> cm/"To Motion CS"[action]  -> mr/"To Rigid Body CS"[action] -> rg/"To GCS"[action]    -> x/"$Id<2$"[test,aspect=2,label={[yshift=3mm]right:No}]];
q1 -> q2 ->[vh path] { x , s};
%{[edge={red}] s->g;}
};
\draw[rounded corners,->] (x.south) -- ++(0,-5mm) -- ++(-48mm,0cm) |- (m.west);
\node[right,red] at (bundle.east) (chief) {Chief ray};
\begin{scope}[draw=red,every path/.style={->,rounded corners,dashed}]
\draw (chief) -- ($(p.north)!0.70!(p.north east)$);
\draw ($(p.south)!0.70!(p.south east)$) -- ($(m.north)!0.70!(m.north east)$);
\draw ($(m.south)!0.70!(m.south east)$) -- ($(s.north)!0.70!(s.north east)$) node[midway,right,red] {$k=7$};
\draw ($(s.south)!0.70!(s.south east)$) -- ($(g.north)!0.70!(g.north east)$);
\draw ($(g.south)!0.70!(g.south east)$) |- ++(8mm,-4mm) |- ++(-8mm,-43mm) -- ($(mc.north)!0.70!(mc.north east)$);
\draw ($(mc.south)!0.70!(mc.south east)$) -- ($(si.north)!0.70!(si.north east)$);
\draw ($(si.south)!0.70!(si.south east)$) -- ($(sr.north)!0.70!(sr.north east)$);
\draw ($(sr.south)!0.70!(sr.south east)$) |- ++(8mm,-5mm) |- ++(-8mm,-10mm) -- ($(mr.north)!0.70!(mr.north east)$);
\draw ($(mr.south)!0.70!(mr.south east)$) -- ($(rg.north)!0.70!(rg.north east)$);
\end{scope}
\draw[red,dashed,shorten >=3pt] (rg.south) -- (x.north);
\draw[red,dashed,shorten >=3pt,rounded corners] (x.south) -- ++(0,-5mm) -- ++(-48mm,0cm) |- (m.west);

\begin{scope}[xshift=7cm,yshift=-13.5cm]
  \graph[grow down sep=7mm] {
{ [edge={red,dashed}] distance/"Intersection with focal plane"[action] -> origin/"Reference sphere origin"[action] -> "Intersection with exit pupil"[action] -> "Reference sphere radius"[action] -> sphere/"Intersection with reference sphere"[action] ->[black!50,solid] "\emph{Optical path difference}";}
};
%\draw (distance.east) -> (origin.east) node[midway,right] {distance};
\end{scope}

\draw[->] (x.east) -| ++(20mm,5mm) |- (sphere.west);
\draw[red,dashed,->] (x.east) -| ++(20mm,30mm) |- (distance.west);

  \end{tikzpicture}
