У QObject конструкторы копирования и операторы присваивания заблокированы:
Объектная модель QtНет конструктора копирования или оператора присваивания
Дело в том, что здесь
DataSignal DiscreteGenerator::generateSimpleSignal(/*some params*/){
DataSignal signal;
/*something happens*/
return signal;
}
Вы сначала создаёте объект DataSignal, а затем возвращаете его копию.
Попробуйте переделать на указатель:
DataSignal* DiscreteGenerator::generateSimpleSignal(/*some params*/){
DataSignal *signal = new DataSignal;
/*something happens*/
return signal;
}