+#include "cfortran.h"
+#include "Rtypes.h"
+
+#include "Fdimpar.h"
+
extern "C" {
//*$ create trackr.add
//*copy trackr
//* ttrack = length of the ith track segment *
//* 1 < j < mtrack *
//* dtrack = energy deposition of the jth deposition event *
+//* dptrck = momentum loss of the jth deposition event *
//* *
//* jtrack = identity number of the particle *
//* etrack = total energy of the particle *
//* biasing techniques are used (for example inelastic *
//* interaction length biasing) *
//* ctrack = total curved path *
+//* cmtrck = cumulative curved path since particle birth *
//* zfftrk = <z_eff> of the particle *
//* zfrttk = actual z_eff of the particle *
//* atrack = age of the particle *
//* fission (used also for low energy neutrons) *
//* *
//*----------------------------------------------------------------------*
-//* *
+//
+
+//
+// TFluka specific:
+// ispusr[mkbmx2 - 1] : track index in vmcstack
+// ispusr[mkbmx2 - 2] : flag for "interrupted" track
+//
+
const Int_t mxtrck = 2500;
typedef struct {
Double_t ztrack[mxtrck+1];
Double_t ttrack[mxtrck];
Double_t dtrack[mxtrck];
+ Double_t dptrck[mxtrck][3];
Double_t etrack;
Double_t ptrack;
Double_t cxtrck;
Double_t zfrttk;
Double_t atrack;
Double_t ctrack;
+ Double_t cmtrck;
Double_t akshrt;
Double_t aklong;
Double_t wscrng;
Int_t llouse;
Int_t ispusr[mkbmx2];
Int_t lfsssc;
+ Int_t lpkill;
} trackrCommon;
#define TRACKR COMMON_BLOCK(TRACKR,trackr)
COMMON_BLOCK_DEF(trackrCommon,TRACKR);