diff --git a/core/eventdisplay/CbmRecoTracks.cxx b/core/eventdisplay/CbmRecoTracks.cxx index f3b3f169271fc2737d4d561e3835cee3059c3919..23000a3938545e29176be59d68327fed6c455773 100644 --- a/core/eventdisplay/CbmRecoTracks.cxx +++ b/core/eventdisplay/CbmRecoTracks.cxx @@ -5,8 +5,8 @@ /******************************************************************************** * Copyright (C) 2016 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH * * * - * This software is distributed under the terms of the * - * GNU Lesser General Public Licence version 3 (LGPL) version 3, * + * This software is distributed under the terms of the * + * GNU Lesser General Public Licence version 3 (LGPL) version 3, * * copied verbatim in the file "LICENSE" * ********************************************************************************/ // ------------------------------------------------------------------------- @@ -36,7 +36,6 @@ #include <TEveTrackPropagator.h> // for TEveTrackPropagator #include <TEveVector.h> // for TEveVector, TEveVectorT #include <TGenericClassInfo.h> // for TGenericClassInfo -#include <TObjArray.h> // for TObjArray #include <TParticle.h> // for TParticle #include <TString.h> // for TString #include <TVector3.h> // for TVector3 @@ -44,57 +43,6 @@ #include <stdio.h> // for sprintf #include <string.h> // for strcmp -// ----- Default constructor ------------------------------------------- -CbmRecoTracks::CbmRecoTracks() - : FairTask("FairMCTracks", 0) - , fGlobalTracks(nullptr) - , fMvdHits(nullptr) - , fStsHits(nullptr) - , fStsTracks(nullptr) - , fRichRings(nullptr) - , fRichHits(nullptr) - , fMuchPixelHits(nullptr) - , fMuchTracks(nullptr) - , fTrdHits(nullptr) - , fTrdTracks(nullptr) - , fTofHits(nullptr) - , fTrPr(nullptr) - , fEventManager(nullptr) - , fEveTrList(nullptr) - , fEvent("") - , fTrList(nullptr) - , MinEnergyLimit(-1.) - , MaxEnergyLimit(-1.) - , PEnergy(-1.) -{ -} -// ------------------------------------------------------------------------- - - -// ----- Standard constructor ------------------------------------------ -CbmRecoTracks::CbmRecoTracks(const char* name, Int_t iVerbose) - : FairTask(name, iVerbose) - , fGlobalTracks(nullptr) - , fMvdHits(nullptr) - , fStsHits(nullptr) - , fStsTracks(nullptr) - , fRichRings(nullptr) - , fRichHits(nullptr) - , fMuchPixelHits(nullptr) - , fMuchTracks(nullptr) - , fTrdHits(nullptr) - , fTrdTracks(nullptr) - , fTofHits(nullptr) - , fTrPr(nullptr) - , fEventManager(nullptr) - , fEveTrList(new TObjArray(16)) - , fEvent("") - , fTrList(nullptr) - , MinEnergyLimit(-1.) - , MaxEnergyLimit(-1.) - , PEnergy(-1.) -{ -} // ------------------------------------------------------------------------- InitStatus CbmRecoTracks::Init() { @@ -111,6 +59,7 @@ InitStatus CbmRecoTracks::Init() fTrdHits = (TClonesArray*) fManager->GetObject("TrdHit"); fTrdTracks = (TClonesArray*) fManager->GetObject("TrdTrack"); fTofHits = (TClonesArray*) fManager->GetObject("TofHit"); + fTofTracks = (TClonesArray*) fManager->GetObject("TofTrack"); if (fGlobalTracks == 0) { LOG(error) << "FairMCTracks::Init() branch " << GetName() @@ -217,7 +166,8 @@ void CbmRecoTracks::Exec(Option_t* /*option*/) Int_t richId = globalTrack->GetRichRingIndex(); Int_t muchId = globalTrack->GetMuchTrackIndex(); Int_t trdId = globalTrack->GetTrdTrackIndex(); - Int_t tofId = globalTrack->GetTofHitIndex(); + Int_t tofId = globalTrack->GetTofTrackIndex(); + Int_t tofHitId = globalTrack->GetTofHitIndex(); if (0 > stsId) continue; @@ -248,7 +198,9 @@ void CbmRecoTracks::Exec(Option_t* /*option*/) if (-1 < trdId) HandleTrack(eveTrack, n, static_cast<const CbmTrack*>(fTrdTracks->At(trdId))); - if (-1 < tofId) HandlePixelHit(eveTrack, n, static_cast<const CbmPixelHit*>(fTofHits->At(tofId))); + if (-1 < tofId) HandleTrack(eveTrack, n, static_cast<const CbmTrack*>(fTofTracks->At(tofId))); + else if (-1 < tofHitId) + HandlePixelHit(eveTrack, n, static_cast<const CbmPixelHit*>(fTofHits->At(tofHitId))); fTrList->AddElement(eveTrack); LOG(debug3) << "track added " << eveTrack->GetName(); diff --git a/core/eventdisplay/CbmRecoTracks.h b/core/eventdisplay/CbmRecoTracks.h index b507f85946522f33c45509b94756548fefd8878a..38cc499e3c6a39f49675dbe80ea606d5477ed336 100644 --- a/core/eventdisplay/CbmRecoTracks.h +++ b/core/eventdisplay/CbmRecoTracks.h @@ -5,8 +5,8 @@ /******************************************************************************** * Copyright (C) 2016 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH * * * - * This software is distributed under the terms of the * - * GNU Lesser General Public Licence version 3 (LGPL) version 3, * + * This software is distributed under the terms of the * + * GNU Lesser General Public Licence version 3 (LGPL) version 3, * * copied verbatim in the file "LICENSE" * ********************************************************************************/ // ------------------------------------------------------------------------- @@ -32,6 +32,7 @@ #include <TClonesArray.h> // IWYU pragma: keep needed by cliong #include <TEveVector.h> // for TEveVector +#include <TObjArray.h> // for TObjArray, needed for FairRoot > v18.8.0 #include <TString.h> // for TString class CbmPixelHit; @@ -40,7 +41,6 @@ class CbmTrack; class FairEventManager; class TEveTrack; class TEveTrackList; -class TObjArray; class TParticle; class TEveTrackPropagator; @@ -48,14 +48,14 @@ class CbmRecoTracks : public FairTask { public: /** Default constructor **/ - CbmRecoTracks(); + CbmRecoTracks() : CbmRecoTracks("FairMCTracks", 0) {} /** Standard constructor *@param name Name of task *@param iVerbose Verbosity level **/ - CbmRecoTracks(const char* name, Int_t iVerbose = 1); + CbmRecoTracks(const char* name, Int_t iVerbose = 1) : FairTask(name, iVerbose) {} /** Destructor **/ virtual ~CbmRecoTracks(); @@ -77,27 +77,28 @@ protected: void HandleTrack(TEveTrack* eveTrack, Int_t& n, const CbmTrack* recoTrack); void HandleStsTrack(TEveTrack* eveTrack, Int_t& n, const CbmStsTrack* stsTrack); - TClonesArray* fGlobalTracks; - TClonesArray* fMvdHits; - TClonesArray* fStsHits; - TClonesArray* fStsTracks; - TClonesArray* fRichRings; - TClonesArray* fRichHits; - TClonesArray* fMuchPixelHits; - TClonesArray* fMuchTracks; - TClonesArray* fTrdHits; - TClonesArray* fTrdTracks; - TClonesArray* fTofHits; - TEveTrackPropagator* fTrPr; - FairEventManager* fEventManager; //! - TObjArray* fEveTrList; - TString fEvent; //! - TEveTrackList* fTrList; //! + TClonesArray* fGlobalTracks = nullptr; + TClonesArray* fMvdHits = nullptr; + TClonesArray* fStsHits = nullptr; + TClonesArray* fStsTracks = nullptr; + TClonesArray* fRichRings = nullptr; + TClonesArray* fRichHits = nullptr; + TClonesArray* fMuchPixelHits = nullptr; + TClonesArray* fMuchTracks = nullptr; + TClonesArray* fTrdHits = nullptr; + TClonesArray* fTrdTracks = nullptr; + TClonesArray* fTofHits = nullptr; + TClonesArray* fTofTracks = nullptr; + TEveTrackPropagator* fTrPr = nullptr; + FairEventManager* fEventManager = nullptr; //! + TObjArray* fEveTrList = new TObjArray(16); + TString fEvent = ""; //! + TEveTrackList* fTrList = nullptr; //! //TEveElementList *fTrackCont; - Double_t MinEnergyLimit; - Double_t MaxEnergyLimit; - Double_t PEnergy; + Double_t MinEnergyLimit = -1.; + Double_t MaxEnergyLimit = -1.; + Double_t PEnergy = -1.; private: CbmRecoTracks(const CbmRecoTracks&);