-
Notifications
You must be signed in to change notification settings - Fork 1
/
schematic.tex
97 lines (89 loc) · 5.53 KB
/
schematic.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
\begin{tikzpicture}[
terminal/.style={ rectangle,minimum size=6mm,rounded corners=3mm,
very thick,draw=black!50,
top color=white,bottom color=black!20},
block/.style ={rectangle, draw=blue, thick, fill=blue!20,
text width=5em, text centered, rounded corners,
minimum height=4em},
line/.style ={draw, thick, -latex,shorten >=2pt},
cloud/.style ={draw=red, thick, ellipse,fill=red!20,
minimum height=2.5em},
minorcloud/.style ={draw=orange, thick, ellipse,fill=orange!20,
minimum height=2.5em},
bluecloud/.style ={draw=blue, thick, ellipse,fill=blue!20,
minimum height=2.5em}
]
% TELESCOPE
\node[] (telescope) {};
\draw [line width=2pt,orange] ($(telescope.north)+(-0.2,.6)$) --++(0,0.5);
\draw [line width=2pt,orange] ($(telescope.north)+(-0.3,.75)$) node (scint2) {} --++(0.2,0.25);
\draw [line width=2pt,orange] ($(telescope.north)+(3.8,.6)$) --++(0,0.5);
\draw [line width=2pt,orange] ($(telescope.north)+(3.7,.75)$) node (scint1) {} --++(0.2,0.25);
\draw [line width=2pt,grey] ($(telescope.north)+(0,.3)$) --++(3.7,0);
\draw [line width=2pt,grey] ($(telescope.north)+(-0.1,.05)$) --++(3.5,0);
\foreach \i in {0,1,2,4,5,6} {
\draw[blue,top color=blue,bottom color=blue!50] ($(telescope.north)+\i*(.55,0)$) -- ++ (0,1.25) -- ++ (0.3,0.3) -- ++ (0,-1.25) -- cycle;
\node (plane\i) at ($(telescope.north)+(0.1,0.75)+\i*(.55,0)$) {};
\draw[very thick, blue] ($(telescope.north)+\i*(.55,0)$) -- ++ (0,1.25) -- ++ (0.3,0.3);
\draw[darkgreen, fill] ($(telescope.north)+(0.1,0.75)+\i*(.55,0)$) -- ++ (0,0.15) -- ++ (0.1,0.1) -- ++ (0,-0.15) -- cycle;
}
\node (dut) at ($(telescope.north)+3*(.55,0)$) {};
\node (lastplane) at ($(telescope.north)+(0.1,0.75)+6*(.55,0)$) {};
\draw[yellow!50,top color=gold,bottom color=yellow!50] (dut.base) -- ++ (0,1.25) -- ++ (0.3,0.3) -- ++ (0,-1.25) -- cycle;
\draw[very thick, gold] (dut.base) -- ++ (0,1.25) -- ++ (0.3,0.3);
%HARDWARE
\node[terminal, bottom color=orange, above=2 of dut] (tlu) {\large TLU};
\node[terminal, bottom color=gold,below=of dut] (dutdaq) {\large DUT DAQ};
\node[terminal, bottom color=deepgreen,below=of dutdaq] (nidaq) {\large Telescope DAQ};
\node[above=.3 of tlu] (hardwaretext) {\large Hardware};
% EUDAQ
\node[block, right=of lastplane] (dutproducer) {\large DUT Producer};
\node[block, above=of dutproducer] (tluproducer) {\large TLU Producer};
\node[block, below=of dutproducer] (niproducer) {\large Telescope Producer};
\node[cloud, right=of tluproducer] (eurun) {\large Run Control};
\node[bluecloud, below=of eurun] (datacollector1) {\large Data Collector 1};
\node[bluecloud, below=of datacollector1] (datacollector2) {\large Data Collector 2};
\node[minorcloud, below=of datacollector2] (onlinemon) {\large Online Monitor 1};
\node[minorcloud, below=of onlinemon] (logcollector) {\large Log Collector};
\node[minorcloud, below=of logcollector] (runmonitor) {\large Run Monitor};
%CONNECTIONS
%hardware connections
\draw [<-,thick,orange] (tlu) -| (scint1);
\draw [dashed, thick,orange] (tlu) -| ($(scint2)+(-.2,0)$) |- (dutdaq);
\draw [dashed, thick,orange] (nidaq) -| ($(scint2)+(-.2,0)$);
\draw [<->,deepgreen, thick] (nidaq) -| (lastplane) node[pos=0.85] (nidaqconnection) {};
\foreach \i in {0,1,2,4,5,6} {
\draw [->,deepgreen, thick] (nidaqconnection.base) -| (plane\i);}
\draw [<->,gold, thick] (dutdaq) -- (dut);
%hardware-producer connections
\draw[latex-latex,thick,deepgreen] (nidaq) -- (niproducer);
\draw[latex-latex,thick,gold] (dutdaq) -- (dutproducer);
\draw[latex-latex,thick,orange] (tlu) -- (tluproducer);
%datacollector connections
\draw[-latex,thick,blue] (niproducer) -- (datacollector1);
\draw[-latex,thick,blue] (dutproducer) -- (datacollector2);
\draw[-latex,thick,blue] (tluproducer) -- (datacollector1);
\draw[-latex,thick,dashed,blue] (datacollector1.east) -- ++ (0.35,0) |- (onlinemon);
\draw[-latex,thick,blue] (datacollector1.east) -- ++ (0.65,0) |-
(runmonitor) node [sloped,above,pos=0.25,blue] {meta data of written events};
\draw[-latex,thick,blue] (datacollector2.east) -- ++ (0.5,0) |- (runmonitor);
% harddisk
\node (harddisk1) at ($(datacollector1.south) +(1.7,-.35)$) {\includegraphics[width=0.75cm]{drive-harddisk}};
\draw [-latex,thick,blue] (datacollector1.south)-- (harddisk1) node [sloped,below,pos=0.4,blue] {write};
\node (harddisk2) at ($(datacollector2.south) +(1.7,-.35)$) {\includegraphics[width=0.75cm]{drive-harddisk}};
\draw [-latex,thick,blue] (datacollector2.south)-- (harddisk2) node [sloped,below,pos=0.4,blue] {write};
%BACKGROUND
\begin{pgfonlayer}{background}
%hardware box
\node [fill=black!20,rounded corners,fit=(scint1)(scint2)(hardwaretext)(nidaq)] {};
\node [fill=black!10,rounded corners,fit=(scint1)(scint2)(tlu)(nidaq)] {};
%computer image
\node [right=of lastplane,opacity=0.2] (computer){\includegraphics[width=.5\textwidth]{computer}};
\node [below=2 of computer.north,opacity=0.2,red] (eudaqtext){\LARGE EUDAQ};
\end{pgfonlayer}
% HILFSLINIEN
% \draw[help lines] (0,-3) grid (6,3);
% \foreach \x in {0,...,6} {
% \foreach \y in {-3,...,3} {
% \node at (\x,\y) {\tiny \blue (\x,\y)}; }; };
\end{tikzpicture}