\documentclass[tikz,border=5mm]{standalone}
\usetikzlibrary{arrows.meta, positioning, calc, backgrounds}

\begin{document}
\begin{tikzpicture}[
    >=Stealth,
    node distance=1.5cm,
    circleNode/.style={draw, circle, minimum size=8mm, inner sep=0pt, font=\itshape},
    slitLine/.style={ultra thick},
    show background rectangle,
    background rectangle/.style={fill=gray!20}
]

    % Vertical center axis
    \draw[dash dot] (0,-1) -- (0,8);

    % Main nodes
    \node[circleNode] (S) at (0,0) {S};
    \node[circleNode] (P) at (0,4) {P};
    \node[circleNode] (D1) at (-2.5,4) {D$_1$};
    \node[circleNode] (D2) at (2.5,4) {D$_2$};
    \node[circleNode] (X) at (1.5,7.5) {x};

    % Slit horizontal line
    \draw[slitLine] (-3,2.5) -- (-0.3,2.5);
    \draw[slitLine] (0.3,2.5) -- (3,2.5);
    
    % Slit labels/coordinates
    \coordinate (Slit1) at (-1,2.5);
    \coordinate (Slit2) at (1,2.5);
    \node[below left=2pt of Slit1, font=\small\bfseries] {1};
    \node[below right=2pt of Slit2, font=\small\bfseries] {2};

    % Path Arrows from S to Slits
    \draw[->, thick] (S) -- (Slit1);
    \draw[->, thick] (S) -- (Slit2);

    % Path Arrows from Slits to X
    \draw[->, thick] (Slit1) -- (X);
    \draw[->, thick] (Slit2) -- (X);

    % Paths involving P and D nodes
    % Solid lines
    \draw[->] (P) -- (Slit1);
    \draw[->] (P) -- (Slit2);
    \draw[->] (Slit1) -- (D1);
    \draw[->] (Slit2) -- (D2);
    
    % Dashed lines (indicating interaction/measurement paths)
    \draw[dashed, ->] (P) -- (D1);
    \draw[dashed, ->] (P) -- (D2);
    \draw[dashed, ->] (Slit1) -- (P);
    \draw[dashed, ->] (Slit2) -- (P);

\end{tikzpicture}
\end{document}
