1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
18 #include "TVirtualMC.h"
21 #include "AliTrackReference.h"
24 // Track Reference object is created every time particle is
25 // crossing detector bounds. The object is created by Step Manager
27 // The class stores the following informations:
29 // track position: X,Y,X
30 // track momentum px, py, pz
31 // track length and time of fligth: both in cm
32 // status bits from Monte Carlo
36 ClassImp(AliTrackReference)
38 //_______________________________________________________________________
39 AliTrackReference::AliTrackReference():
52 // Default constructor
53 // Creates empty object
55 for(Int_t i=0; i<16; i++) ResetBit(BIT(i));
58 //_______________________________________________________________________
59 AliTrackReference::AliTrackReference(Int_t label) :
68 fLength(gMC->TrackLength()),
69 fTime(gMC->TrackTime())
72 // Create Reference object out of label and
73 // data in TVirtualMC object
75 // Creates an object and fill all parameters
76 // from data in VirtualMC
78 // Sylwester Radomski, (S.Radomski@gsi.de)
84 gMC->TrackPosition(vec[0],vec[1],vec[2]);
90 gMC->TrackMomentum(vec[0],vec[1],vec[2],vec[3]);
97 // Copy Bits from virtual MC
99 for(Int_t i=0; i<16; i++) ResetBit(BIT(i));
101 SetBit(BIT(0), gMC->IsNewTrack());
102 SetBit(BIT(1), gMC->IsTrackAlive());
103 SetBit(BIT(2), gMC->IsTrackDisappeared());
104 SetBit(BIT(3), gMC->IsTrackEntering());
105 SetBit(BIT(4), gMC->IsTrackExiting());
106 SetBit(BIT(5), gMC->IsTrackInside());
107 SetBit(BIT(6), gMC->IsTrackOut());
108 SetBit(BIT(7), gMC->IsTrackStop());
110 //_______________________________________________________________________