Some ideas on AMC13
HyperDAQ code structure.
Currently have
amc13::Status with
Report()
and set/get methods for HTML,
BareHTML and
LaTeX.
Suggest the following:
Changes in existing Status class
- Replace
SetHTML()
etc with a new SetOutputMode()
.
- Add new methods for accessing separate sections of output:
-
ReportHeader()
for header information required to start output document
-
ReportStyle()
for CSS or other similar information which affects rendering
-
ReportBody()
for main content (with optional table specifier)
-
ReportTrailer()
for trailer information required to terminate output document
- Existing
Report()
would use above to output a complete report
- Above methods would have overloaded version to return a
std::string
as ReportBare()
does now.
- Add new methods to allow access to data using the table/row/column addressing scheme (maybe the
SparseCellMatrix
class already provides this?)
-
GetTableList()
method to retrieve a vector of defined tables
-
GetTableRows()
and GetTableColumns
methods to retrieve a list of table rows/columns
-
GetCell()
method to get the Cell()
given table/row/column
Questions:
How to handle things like the TTC command history, L1A history, data dump etc?
Could in principle be done using the existing structure by adding them as tables which don't show in the normal status display, but could be retrieved by table name. How would this work for a variable-length list? Is it worth adding this to the address table?
How to integrate Daniel's unpacker code for data display?
How to handle subdetector-specific display information?
Do we want to provide a simple stand-alone framework to test this code without having to run HCAL xDAQ?
Is there a sufficiently simple open-source web server we could use? In principle one can run a program using
cgicc
from the command line, setting the environment variables and feeding it a query on standard input. This seems rather complex. Probably easier just to use the
apache
server already available on linux systems and build a test executable.
--
EricHazen - 11 Sep 2015