change to hold massspectrum shared ptr from weak ptr