/* $Id$ */
#include "TVirtualMC.h"
+#include "TParticle.h"
-#include "AliRun.h"
#include "AliTrackReference.h"
-#include "AliExternalTrackParam.h"
-#include "AliKalmanTrack.h"
+#include <Riostream.h>
//
// Track Reference object is created every time particle is
fPy(0),
fPz(0),
fLength(0),
- fTime(0)
+ fTime(0),
+ fUserId(0),
+ fDetectorId(-999)
{
//
// Default constructor
for(Int_t i=0; i<16; i++) ResetBit(BIT(i));
}
+AliTrackReference::AliTrackReference(const AliTrackReference &tr) :
+ TObject(),
+ fTrack(tr.fTrack),
+ fX(tr.fX),
+ fY(tr.fY),
+ fZ(tr.fZ),
+ fPx(tr.fPx),
+ fPy(tr.fPy),
+ fPz(tr.fPz),
+ fLength(tr.fLength),
+ fTime(tr.fTime),
+ fUserId(tr.fUserId),
+ fDetectorId(tr.fDetectorId)
+{
+ // Copy Constructor
+}
+
//_______________________________________________________________________
-AliTrackReference::AliTrackReference(Int_t label) :
+AliTrackReference::AliTrackReference(Int_t label, Int_t id) :
TObject(),
fTrack(label),
fX(0),
fPy(0),
fPz(0),
fLength(gMC->TrackLength()),
- fTime(gMC->TrackTime())
+ fTime(gMC->TrackTime()),
+ fUserId(0),
+ fDetectorId(id)
{
//
// Create Reference object out of label and
SetBit(BIT(5), gMC->IsTrackInside());
SetBit(BIT(6), gMC->IsTrackOut());
SetBit(BIT(7), gMC->IsTrackStop());
+ //
+ // This particle has to be kept
+
}
-//_______________________________________________________________________
+/*
AliExternalTrackParam * AliTrackReference::MakeTrack(const AliTrackReference *ref, Double_t mass)
{
//
Double_t x = ref->X(), y = ref->Y(), z = ref->Z();
Double_t alpha = TMath::ATan2(y,x);
Double_t xr = TMath::Sqrt(x*x+y*y);
- xx[0] = 0;
+ xx[0] = ref->LocalY();
xx[1] = z;
xx[3] = ref->Pz()/ref->Pt();
xx[4] = 1./ref->Pt();
AliExternalTrackParam * track = new AliExternalTrackParam(xr,alpha,xx,cc);
return track;
}
-
+*/
+//_______________________________________________________________________
+void
+AliTrackReference::Print(Option_t* /*opt*/) const
+{
+ cout << Form("Label %d P=%7.2f (PX,PY,PZ)=(%7.2f,%7.2f,%7.2f) (X,Y,Z)=(%7.2f,%7.2f,%7.2f)"
+ " Length=%7.2f Time=%7.2f UserId=%d",
+ Label(),P(),Px(),Py(),Pz(),X(),Y(),Z(),GetLength(),GetTime(),UserId()) << endl;
+}