#include "TrackFitter.h"
-//#include "TClass.h"
#include "TCanvas.h"
#include "TGraph.h"
#include "TGraphErrors.h"
#include "AliRieman.h"
#include "AliExternalTrackParam.h"
-#include <Reve/Track.h>
-#include <Reve/PODs.h>
-#include <Reve/ReveManager.h>
+#include <TEveTrack.h>
+#include <TEveTrackPropagator.h>
+#include <TEveVSDStructs.h>
+#include <TEveManager.h>
-using namespace Reve;
using namespace Alieve;
//______________________________________________________________________
// TrackFitter
//
-// TrackFitter is an interface to helix fit. It creates a set of points, listening to signal
-// PointCtrlClicked() of any Reve::PointSet. Via editor it fits selected points and creates a
-// reconstructed track.
+// TrackFitter is an interface to helix fit. It creates a set of
+// points, listening to signal PointCtrlClicked() of any
+// TEvePointSet. Via editor it fits selected points and creates a
+// reconstructed track.
//
ClassImp(TrackFitter)
-TrackFitter::TrackFitter(const Text_t* name, Int_t n_points, TreeVarType_e tv_type) :
- Reve::PointSet(name, n_points, tv_type),
+TrackFitter::TrackFitter(const Text_t* name, Int_t n_points, ETreeVarType_e tv_type) :
+ TEvePointSet(name, n_points, tv_type),
fGraphSelected(0),
fGraphFitted(0),
fGraphFitted->SetName("Fitted points");
fGraphFitted->SetMarkerColor(2);
- fTrackList = new TrackList("Tracks");
+ fTrackList = new TEveTrackList("Tracks");
fTrackList->SetLineWidth(2);
fTrackList->SetLineColor(8);
fTrackList->IncDenyDestroy();
- fTrackList->GetRnrStyle()->SetEditPathMarks(kTRUE);
- gReve->AddRenderElement(fTrackList, this);
+ fTrackList->GetPropagator()->SetEditPathMarks(kTRUE);
+ gEve->AddElement(fTrackList, this);
UpdateItems();
}
/**************************************************************************/
void TrackFitter::DestroyElements()
{
- // Virtual method of base class Reve::RenderElement.
+ // Virtual method of base class TEveElement.
// It preserves track list to have coomon track propagator attributes.
- RenderElement::DestroyElements();
- gReve->AddRenderElement(fTrackList, this);
+ TEveElement::DestroyElements();
+ gEve->AddElement(fTrackList, this);
fTrackList->DestroyElements();
UpdateItems();
}
Reset();
if(fConnected == kFALSE)
{
- TQObject::Connect("Reve::PointSet", "PointCtrlClicked(Reve::PointSet*,Int_t)",
- "Alieve::TrackFitter", this, "AddFitPoint(Reve::PointSet*,Int_t)");
+ TQObject::Connect("TEvePointSet", "PointCtrlClicked(TEvePointSet*,Int_t)",
+ "Alieve::TrackFitter", this, "AddFitPoint(TEvePointSet*,Int_t)");
fConnected = kTRUE;
}
if(fConnected)
{
- TQObject::Disconnect("Reve::PointSet", "AddFitPoint(Reve::PointSet*,Int_t)");
+ TQObject::Disconnect("TEvePointSet", "AddFitPoint(TEvePointSet*,Int_t)");
fConnected = kFALSE;
}
}
/**************************************************************************/
-void TrackFitter::AddFitPoint(Reve::PointSet* ps, Int_t n)
+void TrackFitter::AddFitPoint(TEvePointSet* ps, Int_t n)
{
// Add/remove given point depending if exists in the fMapPS.
Double_t cov[15];
fRieman->GetExternalParameters(r, param, cov);
// curvature to pt
- param[4] /= TrackRnrStyle::fgDefMagField*TrackRnrStyle::fgkB2C;
+ param[4] /= TEveTrackPropagator::fgDefMagField*TEveTrackPropagator::fgkB2C;
// sign in tang
if(param[4] < 0) param[3] *= -1;
AliExternalTrackParam trackParam(r, fAlpha, param, cov);
// make track
Double_t V0[3];
- trackParam.GetXYZAt(r, TrackRnrStyle::fgDefMagField, V0);
+ trackParam.GetXYZAt(r, TEveTrackPropagator::fgDefMagField, V0);
Double_t P0[3];
- trackParam.GetPxPyPzAt(r, TrackRnrStyle::fgDefMagField, P0);
- RecTrack rc;
- rc.V.Set(V0);
- rc.P.Set(P0);
- rc.sign = trackParam.Charge();
+ trackParam.GetPxPyPzAt(r, TEveTrackPropagator::fgDefMagField, P0);
+ TEveRecTrack rc;
+ rc.fV.Set(V0);
+ rc.fP.Set(P0);
+ rc.fSign = trackParam.Charge();
- Track* track = new Track(&rc, fTrackList->GetRnrStyle());
+ TEveTrack* track = new TEveTrack(&rc, fTrackList->GetPropagator());
track->SetName(Form("track %f", fAlpha));
- PathMark* pm = new PathMark(PathMark::Daughter);
+ TEvePathMark* pm = new TEvePathMark(TEvePathMark::kDaughter);
for(Int_t i=0; i==fLastPoint; i++)
{
GetPoint(i, x, y, z);
- pm->V.Set(x, y, z);
- pm->P.Set(P0);
+ pm->fV.Set(x, y, z);
+ pm->fP.Set(P0);
track->AddPathMark(pm);
}
track->MakeTrack();
track->SetAttLineAttMarker(fTrackList);
- gReve->AddRenderElement(track, fTrackList);
+ gEve->AddElement(track, fTrackList);
}
// Reset selection.
if(fRieman) fRieman->Reset();
- PointSet::Reset(n, ids);
+ TEvePointSet::Reset(n, ids);
fMapPS.clear();
}
{
// Draw graph of rieman fit.
- static const Exc_t eH("TrackFitter::DrawRiemanGraph ");
+ static const TEveException eH("TrackFitter::DrawRiemanGraph ");
if(fRieman == 0)
throw(eH + "fitter not set.");