OH allows now to assign tags to the histograms (or graphs) objects while they are published to the OH repository. Please note that if you were using the OH objects history feature provided by the OH then you may need to modify your applications. Here is a brief explanation of how to use tags, more detailed information can be found in the doxygen documentation.
The type of the third parameter of the OHRootProvider::publish(...) functions has been changed from bool to int. The meaning of this parameter has also been changed. Now it provides a tag for the value of an OH object in the OH repository. If this parameter is not provided then the default value (-1) will be used and the new value of the currently published histogram will replace the old one in the OH repository. In this case the tag for the new object value will be assigned automatically by the OH repository to the value of [The Highest Tag So Far +1]. If any other value is given as the tag parameter then there are two possibilities:
OH provides a way of reading OH object value which correspond to a given tag. The OHRootReceiver::getXXX functions accept now five parameters where the fifth one specifies tag for which the value have to be retrieved from the OH repository. If there is no object value which has the given tag in the OH repository then daq::oh::ObjectNotFound exception will be thrown. If this parameter is not given then the default value (-1) is used and the latest object value will be read from the OH repository.
The OHRootReceiver::getTags function can be used for rading all tags for a given object in the OH repository.
The OHRootHistogram, OHRootObject, OHRootGraph and OHRootGraph2D structures have now an additional attribute - tag. The OH public API functions which return objects of these types are setting now this tag attribute to an appropriate value.