Add Cerenkov photons to TVirtualMCStack.
[u/mrichter/AliRoot.git] / TFluka / Fopphst.h
1 #ifndef OPPHST
2 #define OPPHST_H 1
3
4 #include "Rtypes.h"
5 #include "cfortran.h"
6 #include "Fdimpar.h"
7
8 extern "C" {
9
10 //*$ CREATE OPPHST.ADD
11 //*COPY OPPHST
12 //*
13 //*=== Opphst ===========================================================//*
14 //*
15 //*----------------------------------------------------------------------//*
16 //*                                                                      //*
17 //*     OPtical PHoton STack:                                            //*
18 //*                                                                      //*
19 //*     Created on 19 september 1997 by    Alfredo Ferrari & Paola Sala  //*
20 //*                                                   Infn - Milan       //*
21 //*                                                                      //*
22 //*     Last change on 13-oct-98     by    Alfredo Ferrari               //*
23 //*                                                                      //*
24 //*        wtopph = weight of the photon                                 //*
25 //*        poptph = laboratory momentum of the photon in GeV/c           //*
26 //*        xoptph = x-coordinate of the photon                           //*
27 //*        yoptph = y-coordinate of the photon                           //*
28 //*        zoptph = z-coordinate of the photon                           //*
29 //*        txopph = direction cosine of the photon                       //*
30 //*                 with respect to x-axis                               //*
31 //*        tyopph = direction cosine of the photon                       //*
32 //*                 with respect to y-axis                               //*
33 //*        tzopph = direction cosine of the photon                       //*
34 //*                 with respect to z-axis                               //*
35 //*        txpopp = direction cosine of the photon polarization          //*
36 //*        typopp = direction cosine of the photon polarization          //*
37 //*        tzpopp = direction cosine of the photon polarization          //*
38 //*        donear = distance to the nearest boundary                     //*
39 //*        agopph = age of the photon (seconds)                          //*
40 //*        cmpopp = total path length of the photon (cm)                 //*
41 //*        loopph = generation of the photon                             //*
42 //*        louopp = user flag                                            //*
43 //*        nregop = number of the region of the photon                   //*
44 //*        nlatop = number of the lattice cell of the photon             //*
45 //*        tpropp = kinetic energy of parent particle of the photon      //*
46 //*        apropp = age of the parent particle of the photon (seconds)   //*
47 //*        ipropp = id (paprop) of the parent particle of the photon     //*
48 //*        lpropp = generation of the parent particle of the photon      //*
49 //*        npropp = # of the primary track which generated the photon    //*
50 //*                 (not used for the moment)                            //*
51 //*        lstopp = stack pointer                                        //*
52 //*        lmxopp = highest value of the stack pointer encountered       //*
53 //*                 in the run                                           //*
54 //*                                                                      //*
55 //*----------------------------------------------------------------------//*
56 //*
57 typedef struct {
58     Double_t WTOPPH [mostck];
59     Double_t POPTPH [mostck];
60     Double_t XOPTPH [mostck];
61     Double_t YOPTPH [mostck];
62     Double_t ZOPTPH [mostck];
63     Double_t TXOPPH [mostck];
64     Double_t TYOPPH [mostck];
65     Double_t TZOPPH [mostck];
66     Double_t TXPOPP [mostck];
67     Double_t TYPOPP [mostck];
68     Double_t TZPOPP [mostck];
69     Double_t DONEAR [mostck];
70     Double_t AGOPPH [mostck];
71     Double_t TPROPP [mostck];
72     Double_t APROPP [mostck];
73     Double_t CMPOPP [mostck];
74     Double_t SPAROK [mkbmx1][mostck];
75     Int_t    ISPORK [mkbmx2][mostck];
76     Int_t    LOOPPH [mostck];
77     Int_t    LOUOPP [mostck];
78     Int_t    NREGOP [mostck];
79     Int_t    NLATOP [mostck];
80     Int_t    IPROPP [mostck];
81     Int_t    LPROPP [mostck];
82     Int_t    NPROPP [mostck];
83     Int_t    LSTOPP;
84     Int_t    LMXOPP;
85 } opphstCommon;
86
87 #define OPPHST COMMON_BLOCK(OPPHST,opphst)
88 COMMON_BLOCK_DEF(opphstCommon, OPPHST);
89
90 }
91 #endif
92