Draft: ByteStreamCnvSvc: Create run parameters on initialize Fix ATEAM-783
Move the code opening the first input file from the service start method to the end of the initialize method. This means, the run parameters (i.e. ByteStreamMetadata
) are made available in the InputMetaDataStore before the start method of the trigger algorithms are called.
The event selector will fire the BeginInputFile incident right after creating the run parameters. That means, the MetaDataSvc must be initialized to be able to respond to this incident. This could be accomplished in configuration by always adding the MetaDataSvc before the event selector, or setting the priority of the MetaDataSvc higher than that of the event selector. This is fragile, because this required configuration may be forgotten. Here, the same is accomplished in the initialize method of the RAW event selector. This relies on the std::call_once
in the Service::sysInitialize
to ensure we are not initializing twice.