Draft: Adding a clone method to FTCluster
Added to address part of #10.
Two open questions:
- I took example of the VPCluster method, which however does not explicitely clone the key. I have done so, I hope this is correct;
- As I am working using GitLHCb commands, my tests to uncomment the MicroDST code to test this have failed (compilation) with
In file included from ../MicroDST/MicroDSTTools/src/ObjectClonerBase.h:16,
from ../MicroDST/MicroDSTTools/src/TrackClonerWithClusters.h:15,
from ../MicroDST/MicroDSTTools/src/TrackClonerWithClusters.cpp:11:
/cvmfs/lhcbdev.cern.ch/nightlies/lhcb-head/Fri/Phys_HEAD/InstallArea/x86_64-centos7-gcc9-opt/include/MicroDST/Functors.hpp: In instantiation of ‘static MicroDST::BasicItemCloner<T>::Type* MicroDST::BasicItemCloner<T>::clone(const Type*) [with T = LHCb::FTCluster; MicroDST::BasicItemCloner<T>::Type = LHCb::FTCluster]’:
/cvmfs/lhcbdev.cern.ch/nightlies/lhcb-head/Fri/Phys_HEAD/InstallArea/x86_64-centos7-gcc9-opt/include/MicroDST/MicroDSTCommon.icpp:164:35: required from ‘typename itemCloner::Type* MicroDSTCommon<PBASE>::cloneKeyedContainerItem(const typename itemCloner::Type*) [with Cloner = MicroDST::BasicItemCloner<LHCb::FTCluster>; PBASE = GaudiTool; typename itemCloner::Type = LHCb::FTCluster]’
../MicroDST/MicroDSTTools/src/TrackClonerWithClusters.cpp:133:92: required from here
/cvmfs/lhcbdev.cern.ch/nightlies/lhcb-head/Fri/Phys_HEAD/InstallArea/x86_64-centos7-gcc9-opt/include/MicroDST/Functors.hpp:48:66: error: ‘const Type’ {aka ‘const class LHCb::FTCluster’} has no member named ‘clone’
48 | static Type* clone( const Type* item ) { return item ? item->clone() : NULL; }
| ~~~~~~^~~~~
ninja: build stopped: subcommand failed.
make: *** [all] Error 1
I will try to circumvent this.
Edited by Thomas Boettcher