@@ -311,6 +311,10 @@ class SubTimeFrame : public IDataModelObject
311311 TimeFrameIdType mId = sInvalidTimeFrameId ;
312312 std::uint32_t mFirstOrbit = std::numeric_limits<std::uint32_t >::max();
313313 std::uint32_t mRunNumber = 0 ;
314+
315+ Header () = default;
316+ explicit Header (TimeFrameIdType pId)
317+ : mId(pId) { }
314318 };
315319
316320 const Header& header () const { return mHeader ; }
@@ -342,7 +346,12 @@ class SubTimeFrame : public IDataModelObject
342346 mutable bool mUpdated = false ;
343347
344348public:
345- void updateFirstOrbit (const std::uint32_t o) { mHeader .mFirstOrbit = std::min (mHeader .mFirstOrbit , o); }
349+ void updateFirstOrbit (const std::uint32_t pOrbit) {
350+ if (pOrbit < mHeader .mFirstOrbit ) {
351+ mHeader .mFirstOrbit = pOrbit;
352+ mUpdated = false ;
353+ }
354+ }
346355
347356private:
348357 // /
@@ -385,12 +394,13 @@ class SubTimeFrame : public IDataModelObject
385394 // update first orbit if not present in the data (old tf files)
386395 // update tfCounter: TODO: incrementing always for looping of the same data
387396 // update runNumber: TODO: zero for now.
388- if ( mHeader . mFirstOrbit != std::numeric_limits<std:: uint32_t >:: max () ) {
389- for (StfDataVector::size_type i = 0 ; i < lTotalCount; i++ ) {
397+ for (StfDataVector::size_type i = 0 ; i < lTotalCount; i++ ) {
398+ if ( mHeader . mFirstOrbit != std::numeric_limits<std:: uint32_t >:: max () ) {
390399 lDataVector[i].setFirstOrbit (mHeader .mFirstOrbit );
391- lDataVector[i].setTfCounter (mHeader .mId );
392- lDataVector[i].setRunNumber (0 );
393400 }
401+
402+ lDataVector[i].setTfCounter (mHeader .mId );
403+ lDataVector[i].setRunNumber (0 );
394404 }
395405
396406 assert (lDataVector.empty () ? true :
0 commit comments