modq - generic module for CALICE data acquisition concept: - combining CALICE DAQ (at first Si and Sc) - connectivity to generic experiment-wide DAQ frameworks (eg. EUDAQ/xDAQ) but not heavily dependent on those (just implementing adapters) - minimal feature for standalone execution (mainly for debug purpose) - simple and easy to understand - C++ (for convenience of younger physicists, and me, and esp. better for structural programming for multi-people development) - open (everyone can contribute via open git repository) - also for debugging (sending single command etc.) - GUI is not included (implemented outside) structure (classes) [all in modq namespace] - DaqManager(? if needed) - DaqBase (acq. thread, message transfer, based on file descriptor) - DaqSiLda (LDA connection establishment, specific treatment of raw sockets) - DaqUsb (USB connection) - DaqScLda (TCP connection?) - PacketBase (general interface for translating command and data to string) - PacketSiLda (LDA header holder, can include PacketDif) - PacketUsb - PacketScLda - PacketDif (DIF header, common to Si and Sc) - LogManager (generic log interface, providing C++ streams for logging) - LogBase - LogSimple (store to a simple file) - LogEudaq? - etc. - Exception (treating exception) - Tool classes - RawSocket - MacAddress --- Followings are not well considered --- - ComManager (main thread, treating command communication from user/DAQ) - ComBase - ComXml (assures CALICE connectivity) - ComEudaq - ComSimple - etc. - DataManager (for data transfer/processor) - ProcessorBase - ProcessorRawFile (storing data to raw file, compatible to calicoes raw) - ProcessorLcio - ProcessorEudaq (sending data via tcp to data collector in Eudaq) - ProcessorMonitoring (?)