Why add another argument to CalcValue when you can just do this

damage = CalcValue(GetCaster()) * aura->GetStackAmount()