]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TFluka/Fsourcm.h
Correct loop over primary ionisations in case of resuming transport.
[u/mrichter/AliRoot.git] / TFluka / Fsourcm.h
1 #ifndef FSOURCM_H
2 #define FSOURCM_H 1
3
4 #include "Rtypes.h"
5 #include "cfortran.h"
6 extern "C" {
7 //*$ create sourcm.add
8 //*copy sourcm
9 //*
10 //*=== Sourcm ===========================================================*
11 //*
12 //*----------------------------------------------------------------------*
13 //*                                                                      *
14 //*     Include file: sourcm                                             *
15 //*                                                                      *
16 //*     version       march 1996     by   Alfredo Ferrari, INFN - Milan  *
17 //*                                                                      *
18 //*     Last change on 09-mar-02     by    Alfredo Ferrari               *
19 //*                                                                      *
20 //*     Included in the following subroutines or functions:              *
21 //*                                                                      *
22 //*            BDNOPT                                                    *
23 //*            FLKEND                                                    *
24 //*            EVTDAT                                                    *
25 //*            FEEDER                                                    *
26 //*            FLUKAM                                                    *
27 //*            MGDRAW                                                    *
28 //*            SOURCE                                                    *
29 //*                                                                      *
30 //*                                                                      *
31 //*      Whasou(1-18) = user variables                                   *
32 //*            Tkesum = total kinetic energy of the primaries of the     *
33 //*                     user written source                              *
34 //*            Lussrc = flag to inform that the user written source was  *
35 //*                     used                                             *
36 //*            Sdusou = user character variable                          *
37 //*            Lsouit = source is called iteratively until it is .true.  *
38 //*                                                                      *
39 //*----------------------------------------------------------------------*
40 //*
41
42 typedef struct {
43    Double_t whasou[18];
44    Double_t tkesum;
45    Int_t    lussrc;
46    Int_t    lsouit;
47 } sourcmCommon;
48 #define SOURCM COMMON_BLOCK(SOURCM,sourcm)
49 COMMON_BLOCK_DEF(sourcmCommon,SOURCM);
50
51 typedef struct {
52    Char_t   sdusou[8];
53 } chsocmCommon;
54 #define CHSOCM COMMON_BLOCK(CHSOCM,chsocm)
55 COMMON_BLOCK_DEF(chsocmCommon,CHSOCM);
56
57 typedef struct {
58    Double_t xn[3];
59    Double_t wn[3];
60    Double_t distn;
61    Int_t    irltno;
62    Int_t    irrnor;
63 } norlatCommon;
64 #define NORLAT COMMON_BLOCK(NORLAT,norlat)
65 COMMON_BLOCK_DEF(norlatCommon,NORLAT);   
66
67 typedef struct {
68    Double_t xb[3];
69    Double_t wb[3];
70    Double_t wp[3];
71    Double_t xp[3];
72    Double_t rin;
73    Double_t rout;
74    Double_t pinf;
75    Double_t dist;
76    Int_t    ir;
77    Int_t    idbg;
78    Int_t    irprim;
79    Int_t    nasc;
80    Int_t    lsurf;
81    Int_t    nbo;
82    Int_t    lri;
83    Int_t    lro;
84    Int_t    kloop;
85    Int_t    loop;
86    Int_t    itype;
87    Int_t    n0a;
88 } paremCommon;
89 #define PAREM COMMON_BLOCK(PAREM,parem)
90 COMMON_BLOCK_DEF(paremCommon,PAREM);   
91 }
92
93 #endif