commit 44fe65349618fb5c0c8a9f63761b81287875d160 Author: jniedzie Date: Mon Nov 2 08:28:09 2015 +0100 Update of getter for polylines in TEveTrackPropagator diff --git a/graf3d/eve/inc/TEveTrackPropagator.h b/graf3d/eve/inc/TEveTrackPropagator.h index f8709cd..385f53c 100644 --- a/graf3d/eve/inc/TEveTrackPropagator.h +++ b/graf3d/eve/inc/TEveTrackPropagator.h @@ -123,6 +123,8 @@ class TEveTrackPropagator : public TEveElementList, friend class TEveTrackPropagatorSubEditor; public: + const std::vector& GetLastPoints()const {return fLastPoints;} + enum EStepper_e { kHelix, kRungeKutta }; enum EProjTrackBreaking_e { kPTB_Break, kPTB_UseFirstPointPos, kPTB_UseLastPointPos }; @@ -215,6 +217,7 @@ protected: // Propagation, state of current track std::vector fPoints; // Calculated point. + std::vector fLastPoints;// Copy of the latest version of calculated points. TEveVectorD fV; // Start vertex. Helix_t fH; // Helix. diff --git a/graf3d/eve/src/TEveTrackPropagator.cxx b/graf3d/eve/src/TEveTrackPropagator.cxx index 43b83bb..08df8b6 100644 --- a/graf3d/eve/src/TEveTrackPropagator.cxx +++ b/graf3d/eve/src/TEveTrackPropagator.cxx @@ -345,7 +345,9 @@ void TEveTrackPropagator::InitTrack(const TEveVectorF& v, Int_t charge) void TEveTrackPropagator::ResetTrack() { // Reset cache holding particle trajectory. - + + fLastPoints.clear(); + fPoints.swap(fLastPoints); fPoints.clear(); // reset helix