#include "AliTRDhit.h"
#include "AliTRDcluster.h"
#include "AliTRDseedV1.h"
+#include "AliTRDtrackletMCM.h"
+#include "AliTRDmcmSim.h"
#include "AliTRDtrackV1.h"
#include "AliTRDtrackerV1.h"
#include "AliTRDpadPlane.h"
//SetPoint(1, x0, y0, z0);
}
+AliEveTRDTracklet::AliEveTRDTracklet(AliTRDtrackletMCM *tracklet) :
+ TEveLine(),
+ fClusters(0x0)
+{
+ SetName("TRD tracklet");
+ AliTRDtrackletMCM *trkl = new AliTRDtrackletMCM(*tracklet);
+ SetUserData(trkl);
+
+ SetTitle(Form("Det: %i, ROB: %i, MCM: %i, Label: %i\n0x%08x",
+ trkl->GetDetector(), trkl->GetROB(), trkl->GetMCM(), trkl->GetLabel(),
+ trkl->GetTrackletWord()));
+ SetLineColor(kRed);
+
+ AliTRDgeometry *geo = new AliTRDgeometry();
+
+ Float_t length = 10;
+ Double_t x[3];
+ Double_t p[3];
+ x[0] = trkl->GetX();
+ x[1] = trkl->GetY();
+ x[2] = trkl->GetZ();
+
+ geo->RotateBack(trkl->GetDetector(), x, p);
+ SetPoint(0, p[0], p[1], p[2]);
+
+ x[0] -= length;
+ x[1] += length * trkl->GetdYdX();
+ x[2] *= x[0] / (x[0] + length);
+ geo->RotateBack(trkl->GetDetector(), x, p);
+ SetPoint(1, p[0], p[1], p[2]);
+}
+
+AliEveTRDTracklet::~AliEveTRDTracklet()
+{
+ AliTRDtrackletMCM *trkl = dynamic_cast<AliTRDtrackletMCM*> ((AliTRDtrackletBase*) GetUserData());
+ delete trkl;
+}
+
+void AliEveTRDTracklet::ShowMCM(Option_t *opt) const
+{
+ AliTRDtrackletMCM *trkl = dynamic_cast<AliTRDtrackletMCM*> ((AliTRDtrackletBase*) GetUserData());
+ if (!trkl)
+ return;
+ printf("Det: %3i, ROB: %i, MCM: %2i\n", trkl->GetDetector(), trkl->GetROB(), trkl->GetMCM());
+ AliTRDmcmSim *mcm = new AliTRDmcmSim();
+ AliRunLoader *rl = AliEveEventManager::AssertRunLoader();
+ mcm->LoadMCM(rl, trkl->GetDetector(), trkl->GetROB(), trkl->GetMCM());
+ mcm->Tracklet();
+ mcm->Draw(opt);
+}
+
//______________________________________________________________________________
void AliEveTRDTracklet::Print(Option_t *o) const
{