5 //*=== trackr ===========================================================*
7 //*----------------------------------------------------------------------*
9 //* tracks recording by alfredo ferrari, infn - milan *
11 //* last change 31 january 2001 by alfredo ferrari *
16 //* kaskad (new version) *
19 //* geoden (new version) *
27 //* ntrack = number of track segments *
28 //* mtrack = number of energy deposition events along the track *
30 //* xtrack = end x-point of the ith track segment *
31 //* ytrack = end y-point of the ith track segment *
32 //* ztrack = end z-point of the ith track segment *
34 //* ttrack = length of the ith track segment *
36 //* dtrack = energy deposition of the jth deposition event *
38 //* jtrack = identity number of the particle *
39 //* etrack = total energy of the particle *
40 //* ptrack = momentum of the particle (not always defined, if *
41 //* < 0 must be obtained from etrack) *
42 //* cx,y,ztrck = direction cosines of the current particle *
43 //* cx,y,ztrpl = polarization cosines of the current particle *
44 //* wtrack = weight of the particle *
45 //* wscrng = scoring weight: it can differ from wtrack if some *
46 //* biasing techniques are used (for example inelastic *
47 //* interaction length biasing) *
48 //* ctrack = total curved path *
49 //* zfftrk = <z_eff> of the particle *
50 //* zfrttk = actual z_eff of the particle *
51 //* atrack = age of the particle *
52 //* akshrt = kshrt amplitude for k0/k0bar *
53 //* aklong = klong amplitude for k0/k0bar *
54 //* wninou = neutron algebraic balance of interactions (both *
55 //* for "high" energy particles and "low" energy *
57 //* spausr = user defined spare variables for the current *
59 //* sttrck = macroscopic total cross section for low energy *
60 //* neutron collisions *
61 //* satrck = macroscopic absorption cross section for low energy*
62 //* neutron collisions (it can be negative for pnab>1) *
63 //* ktrack = if > 0 neutron group of the particle (neutron) *
65 //* ntrack > 0, mtrack > 0 : energy loss distributed along the *
67 //* ntrack > 0, mtrack = 0 : no energy loss along the track *
68 //* ntrack = 0, mtrack = 0 : local energy deposition (the *
69 //* value and the point are not re- *
70 //* corded in trackr) *
71 //* mmtrck = flag recording the material index for low energy *
72 //* neutron collisions *
73 //* lt1trk = initial lattice cell of the current track *
74 //* (or lattice cell for a point energy deposition) *
75 //* lt2trk = final lattice cell of the current track *
76 //* ihspnt = current geometry history pointer (not set if -1) *
77 //* ltrack = flag recording the generation number *
78 //* llouse = user defined flag for the current particle *
79 //* ispusr = user defined spare flags for the current particle *
80 //* lfsssc = logical flag for inelastic interactions ending with*
81 //* fission (used also for low energy neutrons) *
83 //*----------------------------------------------------------------------*
85 const Int_t mxtrck = 2500;
88 Double_t xtrack[mxtrck+1];
89 Double_t ytrack[mxtrck+1];
90 Double_t ztrack[mxtrck+1];
91 Double_t ttrack[mxtrck];
92 Double_t dtrack[mxtrck];
110 Double_t spausr[mkbmx1];
123 Int_t ispusr[mkbmx2];
127 #define TRACKR COMMON_BLOCK(TRACKR,trackr)
128 COMMON_BLOCK_DEF(trackrCommon,TRACKR);
129 //static union { Double_t spause; Double_t spausr[0];};
130 //static union { Int_t ispuse; Int_t ispusr[0];};