The EMU is a Java software package designed to implement a CODA component.
It's used to implement event builders, event recorders, and even a simulation ROC (ReadOut Controller) used in testing.
It reads (generates in the ROC case), processes, and writes evio format data. It also responds to commands from Run Control.
Data I/O is handled in input and output channels by 4 different means:
- through an ET system
- in cMsg messages using the cMsg domain pub/sub server
- in cMsg messages using the cMsg emu domain TCP sockets, and
- from files
Data comes into an emu through multiple input channels. Each channel's data gets parsed into evio events.
These partial evio events are then processed by a module and built into full evio events in the case of an
event builder. Finally, the built events are written through one or more output channels.
As seen in the figure below, emus also occur naturally, in the wild.
Like their cyber counter parts, they run quite fast occasionally reaching speeds as high as 31 mph.