From e3a5e4741d49e73b7aaf78f0038434756b5f9500 Mon Sep 17 00:00:00 2001 From: tmadlener <thomas.madlener@desy.de> Date: Wed, 22 Nov 2023 09:43:36 +0100 Subject: [PATCH] Make sure things work without a public constructor from Obj* That has been removed in AIDASoft/podio#514 and the makeEmpty factory method has been introduced instead. --- Analysis/TrackInspect/src/TrackInspectAlg.cpp | 6 ++++++ Reconstruction/PFA/Arbor/src/ArborToolLCIO.cc | 7 +++++++ .../Tracking/src/Clupatra/clupatra_new.cpp | 13 ++++++++++++- Reconstruction/Tracking/src/Clupatra/clupatra_new.h | 6 ++++++ Service/TrackSystemSvc/src/MarlinKalTestTrack.cc | 10 ++++++++-- Service/TrackSystemSvc/src/MarlinTrkUtils.cc | 7 +++++++ Utilities/DataHelper/src/TrackExtended.cc | 11 +++++++++++ 7 files changed, 57 insertions(+), 3 deletions(-) diff --git a/Analysis/TrackInspect/src/TrackInspectAlg.cpp b/Analysis/TrackInspect/src/TrackInspectAlg.cpp index 281df767..2c41f2a9 100644 --- a/Analysis/TrackInspect/src/TrackInspectAlg.cpp +++ b/Analysis/TrackInspect/src/TrackInspectAlg.cpp @@ -39,6 +39,8 @@ #include "DataHelper/HelixClass.h" +#include "podio/podioVersion.h" + #include "CLHEP/Units/SystemOfUnits.h" #include <math.h> #include <TTree.h> @@ -179,7 +181,11 @@ StatusCode TrackInspectAlg::execute(){ if (theTracks.size() == 0) { totalCandidates[m_nParticles] = 0; nCandidate[m_nParticles] = -1; +#if PODIO_BUILD_VERSION < PODIO_VERSION(0, 17, 4) Fill(particle, edm4hep::Track(nullptr)); +#else + Fill(particle, edm4hep::Track::makeEmpty()); +#endif m_nParticles++; } else { diff --git a/Reconstruction/PFA/Arbor/src/ArborToolLCIO.cc b/Reconstruction/PFA/Arbor/src/ArborToolLCIO.cc index d97a82d6..6a1e0cc2 100644 --- a/Reconstruction/PFA/Arbor/src/ArborToolLCIO.cc +++ b/Reconstruction/PFA/Arbor/src/ArborToolLCIO.cc @@ -35,6 +35,8 @@ #include <DDRec/CellIDPositionConverter.h> #include "DetInterface/IGeomSvc.h" +#include "podio/podioVersion.h" + using namespace std; /* void ClusterBuilding( LCEvent * evtPP, std::string Name, std::vector<CalorimeterHit*> Hits, std::vector< std::vector<int> > BranchOrder, int DHCALFlag ) @@ -859,7 +861,12 @@ edm4hep::ClusterCollection* ArborToolLCIO::ClusterVecMerge( std::vector<edm4hep: edm4hep::Cluster Mergebranch_A; edm4hep::Cluster Mergebranch_B; edm4hep::Cluster tmpMergebranch; +#if PODIO_BUILD_VERSION < PODIO_VERSION(0, 17, 4) edm4hep::Cluster Mainbranch (0); +#else + auto Mainbranch = edm4hep::Cluster::makeEmpty(); +#endif + TVector3 tmpClusterSeedPos, MBSeedPos; diff --git a/Reconstruction/Tracking/src/Clupatra/clupatra_new.cpp b/Reconstruction/Tracking/src/Clupatra/clupatra_new.cpp index 6ff24484..17a8dcbb 100644 --- a/Reconstruction/Tracking/src/Clupatra/clupatra_new.cpp +++ b/Reconstruction/Tracking/src/Clupatra/clupatra_new.cpp @@ -19,6 +19,9 @@ #include "k4FWCore/DataHandle.h" #include "GaudiAlg/GaudiAlgorithm.h" #include "GearSvc/IGearSvc.h" + +#include "podio/podioVersion.h" + using namespace MarlinTrk ; namespace lcio{ @@ -287,8 +290,12 @@ namespace clupatra_new{ UTIL::BitField64 encoder( UTIL::ILDCellID0::encoder_string ) ; encoder[UTIL::ILDCellID0::subdet] = UTIL::ILDDetID::TPC ; +#if PODIO_BUILD_VERSION < PODIO_VERSION(0, 17, 4) edm4hep::TrackerHit firstHit = 0; - // = 0 equal to unlink() +#else + auto firstHit = edm4hep::TrackerHit::makeEmpty(); +#endif + // = 0 equal to unlink() //firstHit.unlink(); IMarlinTrack* bwTrk = 0 ; @@ -1410,7 +1417,11 @@ start: #if use_fit_at_last_hit code = mtrk->getTrackState( lHit, tsLH, chi2, ndf ) ; #else // get the track state at the last hit by propagating from the last(first) constrained fit position (a la MarlinTrkUtils) +#if PODIO_BUILD_VERSION < PODIO_VERSION(0, 17, 4) edm4hep::TrackerHit last_constrained_hit(0); +#else + auto last_constrained_hit = edm4hep::TrackerHit::makeEmpty(); +#endif code = mtrk->getTrackerHitAtPositiveNDF( last_constrained_hit ); //code = mtrk->smooth() ; if( code != MarlinTrk::IMarlinTrack::success ){ diff --git a/Reconstruction/Tracking/src/Clupatra/clupatra_new.h b/Reconstruction/Tracking/src/Clupatra/clupatra_new.h index 6ace630a..af946bf2 100644 --- a/Reconstruction/Tracking/src/Clupatra/clupatra_new.h +++ b/Reconstruction/Tracking/src/Clupatra/clupatra_new.h @@ -30,6 +30,8 @@ #include "TrackSystemSvc/IMarlinTrack.h" #include "TrackSystemSvc/IMarlinTrkSystem.h" +#include "podio/podioVersion.h" + // ----- include for verbosity dependend logging --------- // #include "marlin/VerbosityLevels.h" @@ -57,7 +59,11 @@ namespace clupatra_new{ ClupaHit() :layer(-1), zIndex(-1), phiIndex(-1), +#if PODIO_BUILD_VERSION < PODIO_VERSION(0, 17, 4) edm4hepHit(0), +#else + edm4hepHit(edm4hep::TrackerHit::makeEmpty()), +#endif pos(0.,0.,0.) {} int layer ; int zIndex ; diff --git a/Service/TrackSystemSvc/src/MarlinKalTestTrack.cc b/Service/TrackSystemSvc/src/MarlinKalTestTrack.cc index ffedd64e..3ca60146 100644 --- a/Service/TrackSystemSvc/src/MarlinKalTestTrack.cc +++ b/Service/TrackSystemSvc/src/MarlinKalTestTrack.cc @@ -26,6 +26,8 @@ #include "gear/GEAR.h" #include "gear/BField.h" +#include "podio/podioVersion.h" + //#include "streamlog/streamlog.h" @@ -76,8 +78,12 @@ namespace MarlinTrk { MarlinKalTestTrack::MarlinKalTestTrack(MarlinKalTest* ktest) - : _ktest(ktest), _trackHitAtPositiveNDF(edm4hep::TrackerHit(0)) { - + : _ktest(ktest), +#if PODIO_BUILD_VERSION < PODIO_VERSION(0, 17, 4) + _trackHitAtPositiveNDF(edm4hep::TrackerHit(0)) { +#else + _trackHitAtPositiveNDF(edm4hep::TrackerHit::makeEmpty()) { +#endif _kaltrack = new TKalTrack() ; _kaltrack->SetOwner() ; diff --git a/Service/TrackSystemSvc/src/MarlinTrkUtils.cc b/Service/TrackSystemSvc/src/MarlinTrkUtils.cc index 1e0372d3..fcacb19c 100644 --- a/Service/TrackSystemSvc/src/MarlinTrkUtils.cc +++ b/Service/TrackSystemSvc/src/MarlinTrkUtils.cc @@ -33,6 +33,8 @@ #include "TMatrixD.h" +#include "podio/podioVersion.h" + #define MIN_NDF 6 namespace MarlinTrk { @@ -492,9 +494,14 @@ namespace MarlinTrk { /////////////////////////////////////////////////////// edm4hep::TrackState* trkStateAtLastHit = new edm4hep::TrackState() ; + edm4hep::TrackerHit lastHit = hits_in_fit.front().first; +#if PODIO_BUILD_VERSION < PODIO_VERSION(0, 17, 4) edm4hep::TrackerHit last_constrained_hit(0);// = 0 ; +#else + auto last_constrained_hit = edm4hep::TrackerHit::makeEmpty(); +#endif marlintrk->getTrackerHitAtPositiveNDF(last_constrained_hit); return_error = marlintrk->smooth(lastHit); diff --git a/Utilities/DataHelper/src/TrackExtended.cc b/Utilities/DataHelper/src/TrackExtended.cc index 8a8ce628..7a2bf72d 100644 --- a/Utilities/DataHelper/src/TrackExtended.cc +++ b/Utilities/DataHelper/src/TrackExtended.cc @@ -1,11 +1,18 @@ #include "DataHelper/ClusterExtended.h" #include "DataHelper/TrackerHitExtended.h" #include "DataHelper/TrackExtended.h" + +#include "podio/podioVersion.h" + #include <math.h> #include <iostream> TrackExtended::TrackExtended( ) { +#if PODIO_BUILD_VERSION < PODIO_VERSION(0, 17, 4) _track = NULL; +#else + _track = edm4hep::Track::makeEmpty(); +#endif _superCluster = NULL; _trackerHitVector.clear(); _clusterVec.clear(); @@ -24,7 +31,11 @@ TrackExtended::TrackExtended(Track track) { TrackExtended::TrackExtended( TrackerHitExtended * trackerhit) { _trackerHitVector.clear(); _trackerHitVector.push_back(trackerhit); +#if PODIO_BUILD_VERSION < PODIO_VERSION(0, 17, 4) _track = NULL; +#else + _track = edm4hep::Track::makeEmpty(); +#endif _superCluster = NULL; _clusterVec.clear(); _group = NULL; -- GitLab