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 *
37 //* dptrck = momentum loss of the jth deposition event *
39 //* jtrack = identity number of the particle *
40 //* etrack = total energy of the particle *
41 //* ptrack = momentum of the particle (not always defined, if *
42 //* < 0 must be obtained from etrack) *
43 //* cx,y,ztrck = direction cosines of the current particle *
44 //* cx,y,ztrpl = polarization cosines of the current particle *
45 //* wtrack = weight of the particle *
46 //* wscrng = scoring weight: it can differ from wtrack if some *
47 //* biasing techniques are used (for example inelastic *
48 //* interaction length biasing) *
49 //* ctrack = total curved path *
50 //* cmtrck = cumulative curved path since particle birth *
51 //* zfftrk = <z_eff> of the particle *
52 //* zfrttk = actual z_eff of the particle *
53 //* atrack = age of the particle *
54 //* akshrt = kshrt amplitude for k0/k0bar *
55 //* aklong = klong amplitude for k0/k0bar *
56 //* wninou = neutron algebraic balance of interactions (both *
57 //* for "high" energy particles and "low" energy *
59 //* spausr = user defined spare variables for the current *
61 //* sttrck = macroscopic total cross section for low energy *
62 //* neutron collisions *
63 //* satrck = macroscopic absorption cross section for low energy*
64 //* neutron collisions (it can be negative for pnab>1) *
65 //* ktrack = if > 0 neutron group of the particle (neutron) *
67 //* ntrack > 0, mtrack > 0 : energy loss distributed along the *
69 //* ntrack > 0, mtrack = 0 : no energy loss along the track *
70 //* ntrack = 0, mtrack = 0 : local energy deposition (the *
71 //* value and the point are not re- *
72 //* corded in trackr) *
73 //* mmtrck = flag recording the material index for low energy *
74 //* neutron collisions *
75 //* lt1trk = initial lattice cell of the current track *
76 //* (or lattice cell for a point energy deposition) *
77 //* lt2trk = final lattice cell of the current track *
78 //* ihspnt = current geometry history pointer (not set if -1) *
79 //* ltrack = flag recording the generation number *
80 //* llouse = user defined flag for the current particle *
81 //* ispusr = user defined spare flags for the current particle *
82 //* lfsssc = logical flag for inelastic interactions ending with*
83 //* fission (used also for low energy neutrons) *
85 //*----------------------------------------------------------------------*
87 const Int_t mxtrck = 2500;
90 Double_t xtrack[mxtrck+1];
91 Double_t ytrack[mxtrck+1];
92 Double_t ztrack[mxtrck+1];
93 Double_t ttrack[mxtrck];
94 Double_t dtrack[mxtrck];
95 Double_t dptrck[mxtrck][3];
114 Double_t spausr[mkbmx1];
127 Int_t ispusr[mkbmx2];
131 #define TRACKR COMMON_BLOCK(TRACKR,trackr)
132 COMMON_BLOCK_DEF(trackrCommon,TRACKR);
133 //static union { Double_t spause; Double_t spausr[0];};
134 //static union { Int_t ispuse; Int_t ispusr[0];};