Skip to content

Added MDFIOAlg and MDFIOSvc allowing to efficiently read events from MDF files with no event selector

Sebastien Ponce requested to merge sponce_IOSvc into master
  • MDFIOSvc is implements the new IIOSvc interface and its nextEvent() method in the tread safe and efficient manner, so that any algorithm can retrieve the next event of an MDF input easily.
  • MDFIOAlg is a 1 line producer algorithm calling MDFIOSvc and storing the RawEvent retrieved in the transient store

More details on the implementation :

  • actual file reading is done in the background, in a separate thread while previous date are used
  • nextEvent thus accesses a cache a prefetched events and is absolutely minimal (one atomic -- operation and one boolean check)
  • the MDFIOSvc allocates buffers for storing prefetched events. By default they are 100MB large and can hold ~1500 events. This can be changed via a property. Practically, 2 buffers will be in flight at any time and a 3rd one may be used very seldom on boundaries.
Edited by Marco Cattaneo

Merge request reports