#include "TVirtualMC.h"
#include "TParticle.h"
#include "AliTrackReference.h"
#include <Riostream.h>
using std::endl;
using std::cout;
ClassImp(AliTrackReference)
AliTrackReference::AliTrackReference():
TObject(),
fTrack(0),
fX(0),
fY(0),
fZ(0),
fPx(0),
fPy(0),
fPz(0),
fLength(0),
fTime(0),
fUserId(0),
fDetectorId(-999)
{
for(Int_t i=0; i<16; i++) ResetBit(BIT(i));
}
AliTrackReference::AliTrackReference(const AliTrackReference &tr) :
TObject(tr),
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)
{
}
AliTrackReference::AliTrackReference(Int_t label, Int_t id) :
TObject(),
fTrack(label),
fX(0),
fY(0),
fZ(0),
fPx(0),
fPy(0),
fPz(0),
fLength(TVirtualMC::GetMC()->TrackLength()),
fTime(TVirtualMC::GetMC()->TrackTime()),
fUserId(0),
fDetectorId(id)
{
Double_t vec[4];
TVirtualMC::GetMC()->TrackPosition(vec[0],vec[1],vec[2]);
fX = vec[0];
fY = vec[1];
fZ = vec[2];
TVirtualMC::GetMC()->TrackMomentum(vec[0],vec[1],vec[2],vec[3]);
fPx = vec[0];
fPy = vec[1];
fPz = vec[2];
for(Int_t i=14; i<22; i++) ResetBit(BIT(i));
SetBit(BIT(14), TVirtualMC::GetMC()->IsNewTrack());
SetBit(BIT(15), TVirtualMC::GetMC()->IsTrackAlive());
SetBit(BIT(16), TVirtualMC::GetMC()->IsTrackDisappeared());
SetBit(BIT(17), TVirtualMC::GetMC()->IsTrackEntering());
SetBit(BIT(18), TVirtualMC::GetMC()->IsTrackExiting());
SetBit(BIT(19), TVirtualMC::GetMC()->IsTrackInside());
SetBit(BIT(20), TVirtualMC::GetMC()->IsTrackOut());
SetBit(BIT(21), TVirtualMC::GetMC()->IsTrackStop());
}
void
AliTrackReference::Print(Option_t* ) 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;
}
AliTrackReference.cxx:100 AliTrackReference.cxx:101 AliTrackReference.cxx:102 AliTrackReference.cxx:103 AliTrackReference.cxx:104 AliTrackReference.cxx:105 AliTrackReference.cxx:106 AliTrackReference.cxx:107 AliTrackReference.cxx:108 AliTrackReference.cxx:109 AliTrackReference.cxx:110 AliTrackReference.cxx:111 AliTrackReference.cxx:112 AliTrackReference.cxx:113 AliTrackReference.cxx:114 AliTrackReference.cxx:115 AliTrackReference.cxx:116 AliTrackReference.cxx:117 AliTrackReference.cxx:118 AliTrackReference.cxx:119 AliTrackReference.cxx:120 AliTrackReference.cxx:121 AliTrackReference.cxx:122 AliTrackReference.cxx:123 AliTrackReference.cxx:124 AliTrackReference.cxx:125 AliTrackReference.cxx:126 AliTrackReference.cxx:127 AliTrackReference.cxx:128 AliTrackReference.cxx:129 AliTrackReference.cxx:130 AliTrackReference.cxx:131 AliTrackReference.cxx:132 AliTrackReference.cxx:133 AliTrackReference.cxx:134 AliTrackReference.cxx:135 AliTrackReference.cxx:136 AliTrackReference.cxx:137 AliTrackReference.cxx:138 AliTrackReference.cxx:139 AliTrackReference.cxx:140 AliTrackReference.cxx:141 AliTrackReference.cxx:142 AliTrackReference.cxx:143 AliTrackReference.cxx:144 AliTrackReference.cxx:145 AliTrackReference.cxx:146 AliTrackReference.cxx:147 AliTrackReference.cxx:148 AliTrackReference.cxx:149 AliTrackReference.cxx:150 AliTrackReference.cxx:151 AliTrackReference.cxx:152 AliTrackReference.cxx:153 AliTrackReference.cxx:154 AliTrackReference.cxx:155 AliTrackReference.cxx:156 AliTrackReference.cxx:157 AliTrackReference.cxx:158 AliTrackReference.cxx:159 AliTrackReference.cxx:160 AliTrackReference.cxx:161 AliTrackReference.cxx:162 AliTrackReference.cxx:163 AliTrackReference.cxx:164 AliTrackReference.cxx:165 AliTrackReference.cxx:166 AliTrackReference.cxx:167 AliTrackReference.cxx:168 AliTrackReference.cxx:169 AliTrackReference.cxx:170 AliTrackReference.cxx:171 AliTrackReference.cxx:172