Generated project can check if active flags of tasks and tabs are correctly configured in configuration XML file. Dependences need to be written in definition XML files by using new definition tag <Dependence>. An example is in examples/taskhierarchydependence.
Added a new definition tag to specify the place to put compiled object files (???.o) of additional sources. This tag will be ignored on Windows.
Added a new folder contains active flags of tasks and a copy of configuration XML file. The name is like XXXYYYYConfigParameters (XXX is shortcut, YYYY is program name). Active flags of tasks will be written when <ProgramDefinitionVersion> in <Experiment> tag in definition file has a positive integer value. This number is used as the version number of the XXXYYYYConfigParameters folder. This number must be incremented when tasks or tabs are removed, added, reordered or renamed.
Changed dictionary type of folders in order to use automatic schema evolution. ROOT files written with the old dictionary type can not be read by new program using the new dictionary type. There is a definition tag to choose which dictionary type you use. Please see here.
Added support for TCutG objects
Added folder inheritance. (You can make inherited a folder class from a base folder class.)
Added automatic generation of a picture of task connection. The picture is generated from <TaskConnedtedFrom> tag in task or task-hierarchy definition. There is a new example 'document'. This will be activated when 'graphviz' package is installed in the system.
added a new definition tag of folders, <IgnoreTObjectStreamer>. Default is true. One must change this to be false if the class is referenced by TRef or TRefArray.
Generated program
Added 'dbgcout' ('cout' for debugging.) which shows file names and line numbers of the messages.
Added floating point exception trap activation in configuration XML files.
Added print out of allocated memory during tasks, when '-v debug' option is used.
Added command line parameter '-p' to choose program mode.
Added 'Report' function which can be used for error, warning, info, verbose and debug printout. There is a new example 'message'
Added new command line options for generated program
-c : turn on graphic config edit
-nc : turn off graphic config edit
Added a new running mode '-R' (remote interactive mode), in which all command lines are executed in remote running analyzer.
Modifications and improvements
Program generation
Romebuilder generates different code for an object folder field and a pointer object field.
Single object field
object data member
Get function returns pointer of the object data member
Set function is not generated
Single pointer field
pointer data member
the pointer is initialized to be 0 in constructor of the folder
Get function returns the pointer
Set function is generated
Array pointer or object field
TClonesArray data member
GetAt function returns the pointer of an object
Modified resizing of folders(TClonesArray) so that it keeps existing data. (using ExpandCreate)
Behavior of resizing functions of variable length fields is changed. Older revisions, it did not shrink allocated memory size even when smaller number is given as an argument than current size. From this version, it really shrinks allocated memory size. Added 'copyOldData' and 'fillZero' arguments of resizing functions of variable length fields in folders. default is false.
Intel Mac support.
Warning free code for -Weffc++ -Wshadow and -Wundef of GCC
Allowed multiple entries of <Author>s in definition XML.
Better handling of TRef, TRefArray fields in folders
More stable socket connection between analyzer and monitor.
Increased maxNumberOfClassesInDictionary to 15
Increased maxNumberOfHistos to 100
Increased maxNumberOfValues to 100
Generated program
Separated <TreeInputFileName> and <TreeOutputFileName>. It becomes possible to specify input and output file name separatly.
Renamed TGraphMT to ROMETGraph
In 'rome' DAQ mode, output files are filled in every events even if any folders are not modified by tasks.