Commit | Line | Data |
---|---|---|

fa3d1cc7 | 1 | extern "C" { |

2 | //*$ create trackr.add | |

3 | //*copy trackr | |

4 | //* * | |

5 | //*=== trackr ===========================================================* | |

6 | //* * | |

7 | //*----------------------------------------------------------------------* | |

8 | //* * | |

9 | //* tracks recording by alfredo ferrari, infn - milan * | |

10 | //* * | |

11 | //* last change 31 january 2001 by alfredo ferrari * | |

12 | //* * | |

13 | //* included in : * | |

14 | //* electr * | |

15 | //* emfsco * | |

16 | //* kaskad (new version) * | |

17 | //* kashea * | |

18 | //* kasneu * | |

19 | //* geoden (new version) * | |

20 | //* mageas * | |

21 | //* magmov * | |

22 | //* magnew * | |

23 | //* move * | |

24 | //* photon * | |

25 | //* usrsco * | |

26 | //* * | |

27 | //* ntrack = number of track segments * | |

28 | //* mtrack = number of energy deposition events along the track * | |

29 | //* 0 < i < ntrack * | |

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 * | |

33 | //* 1 < i < ntrack * | |

34 | //* ttrack = length of the ith track segment * | |

35 | //* 1 < j < mtrack * | |

36 | //* dtrack = energy deposition of the jth deposition event * | |

37 | //* * | |

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 * | |

56 | //* neutrons) * | |

57 | //* spausr = user defined spare variables for the current * | |

58 | //* particle * | |

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) * | |

64 | //* * | |

65 | //* ntrack > 0, mtrack > 0 : energy loss distributed along the * | |

66 | //* track * | |

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) * | |

82 | //* * | |

83 | //*----------------------------------------------------------------------* | |

84 | //* * | |

85 | const Int_t mxtrck = 2500; | |

86 | ||

87 | typedef struct { | |

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]; | |

93 | Double_t etrack; | |

94 | Double_t ptrack; | |

95 | Double_t cxtrck; | |

96 | Double_t cytrck; | |

97 | Double_t cztrck; | |

98 | Double_t wtrack; | |

99 | Double_t cxtrpl; | |

100 | Double_t cytrpl; | |

101 | Double_t cztrpl; | |

102 | Double_t zfftrk; | |

103 | Double_t zfrttk; | |

104 | Double_t atrack; | |

105 | Double_t ctrack; | |

106 | Double_t akshrt; | |

107 | Double_t aklong; | |

108 | Double_t wscrng; | |

109 | Double_t wninou; | |

110 | Double_t spausr[mkbmx1]; | |

111 | Double_t sttrck; | |

112 | Double_t satrck; | |

113 | Int_t ntrack; | |

114 | Int_t mtrack; | |

115 | Int_t jtrack; | |

116 | Int_t ktrack; | |

117 | Int_t mmtrck; | |

118 | Int_t lt1trk; | |

119 | Int_t lt2trk; | |

120 | Int_t ihspnt; | |

121 | Int_t ltrack; | |

122 | Int_t llouse; | |

123 | Int_t ispusr[mkbmx2]; | |

124 | Int_t lfsssc; | |

125 | } trackrCommon; | |

126 | #define TRACKR COMMON_BLOCK(TRACKR,trackr) | |

127 | COMMON_BLOCK_DEF(trackrCommon,TRACKR); | |

128 | //static union { Double_t spause; Double_t spausr[0];}; | |

129 | //static union { Int_t ispuse; Int_t ispusr[0];}; | |

130 | } |