Skip to content

Draft: Adding a clone method to FTCluster

Louis Henry requested to merge lohenry-cloneFTCluster into master

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

Merge request reports