radiation window function: replace namespaces with functors
Currently, the radiation window functions are selected via namespaces. This should be replaced by functors as suggested by @psychocoderHPC.
@psychocoderHPC Could you tell me again, why using functors/classes is better than namespaces?
Because namespaces cannot be derived from and only form a scope of definitions, while a class groups one aspect together for reusing in a different context. We initially used namespaces and free constant variables in input but found many features, e.g. in dependent variables and normalizations are much easier to express when all options are in classes.
Also, some constructs such as SFINAE for probing e.g. a member exists are only possible within classes, not namespaces.
@PrometheusPi @steindev is very unhappy that we use namespaces here!
Thanks for the reminder – if I forget, please reminder me in 8 years again 😜