#include // The static member pointer to the singleton. COMET::IBeamDataSingleton* COMET::IBeamDataSingleton::fRawBeamDataSingleton = NULL; COMET::IBeamDataSingleton::IBeamDataSingleton() : fRawBeamData(NULL){} COMET::IRawBeamData& COMET::IBeamDataSingleton::Get(void) { if (!fRawBeamDataSingleton)fRawBeamDataSingleton = new COMET::IBeamDataSingleton; if (!fRawBeamDataSingleton->fRawBeamData) { fRawBeamDataSingleton->fRawBeamData = new COMET::IRawBeamData(); } return *(fRawBeamDataSingleton->fRawBeamData); }