Add helpers to ease writing of the common case of ATLAS classes holding ptr to Surface
Add helpers to ease writing of the common case of ATLAS classes holding a surface.
We want to make the std ATLAS idiom of the different treatment for free/ non-free surfaces a bit easier to implement and avoid code repetition. Also we might want to change the implementation and is better to keep things in one place.
We have quite a few places where we currently need to repeat the checks if isFree
,
then
, else
.
These places also do not consistently implement all C++ default
operation (copy,move etc)
due to the need to have this kind of boilerplate.
I kept one with plain ptr as ROOT does not always like classes with custom deleters. The comments and tests also should provide some further details
For now I put this out. could use it in places already but lets see first if we like it .
@sroe can you please take a look ?