In pst-optexp one can use a component called \wdmcoupler
with two inputs and one output. For my project I would need a similar coupler, but with n>2
inputs. I could not find such a construct in the manual, but is there a way to create such a coupler from scratch (or can I modify an existing coupler)?
As an initial idea I tried to create two WDM-couplers and put them at the same spot:
\documentclass[margin=5pt]{standalone}
\usepackage[dvipsnames,svgnames,pdf]{pstricks}
\usepackage{auto-pst-pdf}
\usepackage{pst-optexp}
\usepackage{stackengine}
\begin{document}
\begin{pspicture}(10,6)
\psset[optexp]{fiber=none, usefiberstyle}
\newpsstyle{Fiber}{linecolor=orange, linewidth=2\pslinewidth}
\pnodes(1, 1) {PumpDiodeIn} (2, 1){PumpDiodeOut}
\pnodes(1, 5) {UpperPumpDiodeIn} (2, 5){UpperPumpDiodeOut}
\pnodes(2, 3) {SignalIsolatorIn} (3, 3) {SignalIsolatorOut}
\pnodes(1, 3) {SignalIn} (10, 3) {SignalCombinerOut}
\pnodes(7, 3) {FiberIn} (9, 3) {FiberOut}
\pnode(9, 3){AmpOut}
\optdiode[compname=PumpDiode](PumpDiodeIn)(PumpDiodeOut){Pump diode}
\optdiode[compname=UpperPumpDiode](UpperPumpDiodeIn)(UpperPumpDiodeOut){Pump diode}
\optisolator[compname=SignalIsolator](SignalIsolatorIn)(SignalIsolatorOut){\begin{tabular}{@{}c@{}}Signal\\Isolator\end{tabular}}
\wdmcoupler[compname=SignalPumpCombiner, coupleralign=top](SignalIsolatorOut)(PumpDiodeOut)(FiberIn){\begin{tabular}{@{}c@{}}Signal/Pump\\light combiner\end{tabular}}
\wdmcoupler[compname=SignalPumpCombinerII, coupleralign=top](SignalIsolatorOut)(UpperPumpDiodeOut)(FiberIn){}
\optfiber[compname=ActiveFiber, position=start,linecolor=red](FiberIn)(FiberOut){\begin{tabular}{@{}c@{}}Active\\fiber\end{tabular}}
\nput{75}{AmpOut}{\begin{tabular}{@{}c@{}}Amplifier\\Output\end{tabular}}
\nput{90}{SignalIn}{\begin{tabular}{@{}c@{}}Signal\\Input\end{tabular}}
\drawfiber{SignalIsolator}{SignalPumpCombiner}
\drawfiber{PumpDiode}{SignalPumpCombiner}
\drawfiber{UpperPumpDiode}{SignalPumpCombinerII}
\drawfiber{SignalPumpCombiner}{ActiveFiber}
\drawfiber[ArrowInside=->](SignalIn){SignalIsolator}
\drawfiber[arrows=->]{ActiveFiber}(AmpOut)
\end{pspicture}
\end{document}
which results in
Still, a more simple solution would be appreciated.