Disclaimer: This is a work in progress. A number of details
still need to be worked out including an automatic make scheme.
Object Persistence: Writing C++ objects to a file to be read back
in by a different program later.
CPU intensive analyses need this in order to break the analysis up
into stages. For example, CLAS does a first pass tracking reconstruction
once, while many individual analyses can be done starting with the
"cooked" files.
Along with event-based information, other objects should be
stored in the file such as the list of DParameters.
What JIL provides ...
A simple example:
A simple Class
Putting objects into a file
Reading objects from a file
Extracting complex structure information using gdb
XML representation of data members
(De)Serializers generated from XML
Objects with void Serialize(JILStream&) const
and void Deserialize(JILStream&) methods declared
will have those methods generated which can then
serialize private and protected data members too.
Output from consumer:
Final Notes
This work will be presented at CHEP06 in Mumbai, India in February.
Work has been done to integrate JIL I/O into DANA. Factory data
has successfully been written/read.