\begin{tikzpicture}[y=-1cm,>=latex, triggerCell/.style={draw=black,fill=red!70}, triggerCellTB/.style={draw=black,fill=blue!70}, triggerCellFPGA/.style={draw=black,fill=green!70}, triggerCellEmpty/.style={draw=black}] \definecolor{red}{RGB}{221,42,43} \definecolor{green}{RGB}{105,182,40} \definecolor{blue}{RGB}{0,51,153} \definecolor{orange}{RGB}{192,128,64} \definecolor{gray}{gray}{0.5} \sf \clip (0,-1) rectangle (22,11); \begin{scope}[xshift=14cm] \draw (4,5) node[fill=blue!20, very thick, rectangle, rounded corners, inner sep=80pt, inner ysep=160pt] (fpga) {}; \draw (3.1,-0.5) node[rectangle, rounded corners, blue, fill=white, very thick, blue!70, text=white] {\Large{}\textbf{Trigger Board}}; { \newboolean{triggerA} \setboolean{triggerA}{false} \newboolean{triggerB} \setboolean{triggerB}{false} \newboolean{triggerC} \setboolean{triggerC}{true} \newboolean{triggerD} \setboolean{triggerD}{true} \draw[blue] (3.1, 10) node {\bf\sffamily\Large{}T = 8800 ns}; \ifthenelse{\boolean{triggerA}}{% \path[triggerCellTB] (3.1,5.8) circle (0.50222cm); }{% \path[triggerCellEmpty] (3.1,5.8) circle (0.50222cm);} \ifthenelse{\boolean{triggerB}}{% \path[triggerCellTB] (3.1,6.8) circle (0.50222cm); }{% \path[triggerCellEmpty] (3.1,6.8) circle (0.50222cm);} \ifthenelse{\boolean{triggerC}}{% \path[triggerCellTB] (3.1,7.8) circle (0.50222cm); }{% \path[triggerCellEmpty] (3.1,7.8) circle (0.50222cm);} \ifthenelse{\boolean{triggerD}}{% \path[triggerCellTB] (3.1,4.8) circle (0.50222cm); }{% \path[triggerCellEmpty] (3.1,4.8) circle (0.50222cm);} \draw[black] (3.1,1.8) circle (0.50222cm); \draw[black] (3.1,0.8) circle (0.50222cm); \draw[black] (3.1,3.8) circle (0.50222cm); \draw[black] (3.1,2.8) circle (0.50222cm); \draw[black] (3.1,8.8) circle (0.50222cm); \filldraw[black] (3.1,0.8) circle (0.02cm); \filldraw[black] (3.1,8.79333) circle (0.02cm); \filldraw[black] (3.1,7.8) circle (0.02cm); \filldraw[black] (3.1,6.79333) circle (0.02cm); \filldraw[black] (3.1,5.81333) circle (0.02cm); \filldraw[black] (3.1,8.8) circle (0.02cm); \filldraw[black] (3.1,4.80667) circle (0.02cm); \filldraw[black] (3.1,3.79333) circle (0.02cm); \filldraw[black] (3.1,2.8) circle (0.02cm); \filldraw[black] (3.1,1.8) circle (0.02cm); \path (4.63333,8.94889) node[text=black,anchor=base west,rotate=360.0] {\large{}GG \#0}; \path (4.63333,7.93111) node[text=black,anchor=base west,rotate=360.0] {\large{}GG \#1}; \path (4.63333,6.93111) node[text=black,anchor=base west,rotate=360.0] {\large{}GG \#2}; \path (4.63333,5.96667) node[text=black,anchor=base west,rotate=360.0] {\large{}GG \#3}; \path (4.63333,4.93333) node[text=black,anchor=base west,rotate=360.0] {\large{}GG \#4}; \path (4.63333,3.93111) node[text=black,anchor=base west,rotate=360.0] {\large{}GG \#5}; \path (4.63333,2.95111) node[text=black,anchor=base west,rotate=360.0] {\large{}GG \#6}; \path (4.63333,1.94889) node[text=black,anchor=base west,rotate=360.0] {\large{}GG \#7}; \path (4.61556,0.96667) node[text=black,anchor=base west,rotate=360.0] {\large{}GG \#8}; } \end{scope} \begin{scope}[xshift=7cm] \draw (4,5) node[fill=green!20, very thick, rectangle, rounded corners, inner sep=80pt, inner ysep=160pt] (fpga) {}; \draw (3.1,-0.5) node[rectangle, rounded corners, green, fill=white, very thick, green!70, text=white] {\Large{}\textbf{FE FPGA}}; { \newboolean{triggerA} \setboolean{triggerA}{false} \newboolean{triggerB} \setboolean{triggerB}{false} \newboolean{triggerC} \setboolean{triggerC}{true} \newboolean{triggerD} \setboolean{triggerD}{true} \draw[green] (3.1, 10) node {\bf\sffamily\Large{}Use counters}; \ifthenelse{\boolean{triggerA}}{% \path[triggerCellFPGA] (3.1,5.8) circle (0.50222cm); \draw[black] (3.1,5.8) node[font=\bf\sffamily] {10}; }{% \path[triggerCellEmpty] (3.1,5.8) circle (0.50222cm); \filldraw[black] (3.1,5.8) circle (0.02cm); } \ifthenelse{\boolean{triggerB}}{% \path[triggerCellFPGA] (3.1,6.8) circle (0.50222cm); \draw[black] (3.1,6.8) node[font=\bf\sffamily] {10}; }{% \path[triggerCellEmpty] (3.1,6.8) circle (0.50222cm); \filldraw[black] (3.1,6.8) circle (0.02cm); } \ifthenelse{\boolean{triggerC}}{% \path[triggerCellFPGA] (3.1,7.8) circle (0.50222cm); \draw[black] (3.1,7.8) node[font=\bf\sffamily] {2}; }{% \path[triggerCellEmpty] (3.1,7.8) circle (0.50222cm); \filldraw[black] (3.1,7.8) circle (0.02cm); } \ifthenelse{\boolean{triggerD}}{% \path[triggerCellFPGA] (3.1,4.8) circle (0.50222cm); \draw[black] (3.1,4.8) node[font=\bf\sffamily] {4}; }{% \path[triggerCellEmpty] (3.1,4.8) circle (0.50222cm); \filldraw[black] (3.1,4.8) circle (0.02cm); } \draw[black] (3.1,1.8) circle (0.50222cm); \draw[black] (3.1,0.8) circle (0.50222cm); \draw[black] (3.1,3.8) circle (0.50222cm); \draw[black] (3.1,2.8) circle (0.50222cm); \draw[black] (3.1,8.8) circle (0.50222cm); \filldraw[black] (3.1,0.8) circle (0.02cm); \filldraw[black] (3.1,8.79333) circle (0.02cm); \filldraw[black] (3.1,8.8) circle (0.02cm); \filldraw[black] (3.1,3.79333) circle (0.02cm); \filldraw[black] (3.1,2.8) circle (0.02cm); \filldraw[black] (3.1,1.8) circle (0.02cm); \path (4.63333,8.94889) node[text=black,anchor=base west,rotate=360.0] {\large{}GG \#0}; \path (4.63333,7.93111) node[text=black,anchor=base west,rotate=360.0] {\large{}GG \#1}; \path (4.63333,6.93111) node[text=black,anchor=base west,rotate=360.0] {\large{}GG \#2}; \path (4.63333,5.96667) node[text=black,anchor=base west,rotate=360.0] {\large{}GG \#3}; \path (4.63333,4.93333) node[text=black,anchor=base west,rotate=360.0] {\large{}GG \#4}; \path (4.63333,3.93111) node[text=black,anchor=base west,rotate=360.0] {\large{}GG \#5}; \path (4.63333,2.95111) node[text=black,anchor=base west,rotate=360.0] {\large{}GG \#6}; \path (4.63333,1.94889) node[text=black,anchor=base west,rotate=360.0] {\large{}GG \#7}; \path (4.61556,0.96667) node[text=black,anchor=base west,rotate=360.0] {\large{}GG \#8}; } \end{scope} { \newboolean{triggerA} \setboolean{triggerA}{true} \newboolean{triggerB} \setboolean{triggerB}{true} \newboolean{triggerC} \setboolean{triggerC}{true} \newboolean{triggerD} \setboolean{triggerD}{true} \ifthenelse{\boolean{triggerA}}{% \path[triggerCell] (3.1,5.8) circle (0.50222cm); \path[draw=black] (3.1,5.8) -- (2.93333,5.84); }{% \path[triggerCellEmpty] (3.1,5.8) circle (0.50222cm);} \ifthenelse{\boolean{triggerB}}{% \path[triggerCell] (3.1,6.8) circle (0.50222cm); \path[draw=black] (3.1,6.8) -- (3.17333,6.77333); }{% \path[triggerCellEmpty] (3.1,6.8) circle (0.50222cm);} \ifthenelse{\boolean{triggerC}}{% \path[triggerCell] (3.1,7.8) circle (0.50222cm); \path[draw=black] (3.43333,7.70667) -- (3.1,7.79333); }{% \path[triggerCellEmpty] (3.1,7.8) circle (0.50222cm);} \ifthenelse{\boolean{triggerD}}{% \path[triggerCell] (3.1,4.8) circle (0.50222cm); \path[draw=black] (2.7,4.89333) -- (3.09333,4.80667); }{% \path[triggerCellEmpty] (3.1,4.8) circle (0.50222cm);} \draw[black] (3.1,1.8) circle (0.50222cm); \draw[black] (3.1,0.8) circle (0.50222cm); \draw[black] (3.1,3.8) circle (0.50222cm); \draw[black] (3.1,2.8) circle (0.50222cm); \draw[black] (3.1,8.8) circle (0.50222cm); \filldraw[black] (3.1,0.8) circle (0.02cm); \filldraw[black] (3.1,8.79333) circle (0.02cm); \filldraw[black] (3.1,7.8) circle (0.02cm); \filldraw[black] (3.1,6.79333) circle (0.02cm); \filldraw[black] (3.1,5.81333) circle (0.02cm); \filldraw[black] (3.1,8.8) circle (0.02cm); \filldraw[black] (3.1,4.80667) circle (0.02cm); \filldraw[black] (3.1,3.79333) circle (0.02cm); \filldraw[black] (3.1,2.8) circle (0.02cm); \filldraw[black] (3.1,1.8) circle (0.02cm); \path (4.63333,8.94889) node[text=black,anchor=base west,rotate=360.0] {\large{}GG \#0}; \path (4.63333,7.93111) node[text=black,anchor=base west,rotate=360.0] {\large{}GG \#1 - \normalsize{}$t_A=\unit[2000]{ns}$}; \path (4.63333,6.93111) node[text=black,anchor=base west,rotate=360.0] {\large{}GG \#2 - \normalsize{}$t_A=\unit[10]{ns}$}; \path (4.63333,5.96667) node[text=black,anchor=base west,rotate=360.0] {\large{}GG \#3 - \normalsize{}$t_A=\unit[600]{ns}$}; \path (4.63333,4.93333) node[text=black,anchor=base west,rotate=360.0] {\large{}GG \#4 - \normalsize{}$t_A=\unit[4000]{ns}$}; \path (4.63333,3.93111) node[text=black,anchor=base west,rotate=360.0] {\large{}GG \#5}; \path (4.63333,2.95111) node[text=black,anchor=base west,rotate=360.0] {\large{}GG \#6}; \path (4.63333,1.94889) node[text=black,anchor=base west,rotate=360.0] {\large{}GG \#7}; \path (4.61556,0.96667) node[text=black,anchor=base west,rotate=360.0] {\large{}GG \#8}; \draw[->,black] (3.84444,9.27778) -- (1.74444,1.35556) node[above] {\large{}$e^-$}; } \end{tikzpicture}% %% Configure (x)emacs for this file ... %% Local Variables: %% mode: latex %% End: