Belle II Software  release-06-00-14
photosC.h
1 #ifndef _photosC_h_included_
2 #define _photosC_h_included_
3 
4 namespace Photospp {
5 
6  const static int NMXHEP = 4000;
7  const static double PI = 3.14159265358979324;
8  const static double TWOPI = 6.28318530717958648;
9 
11  extern struct HEPEVT {
12  int nevhep;
13  int nhep;
14  int isthep[NMXHEP];
15  int idhep[NMXHEP];
16  int jmohep[NMXHEP][2];
17  int jdahep[NMXHEP][2];
18  double phep[NMXHEP][5];
19  double vhep[NMXHEP][4];
20  int qedrad[NMXHEP]; // to be bool once compatibility with F77 removed
21  const static int nmxhep = NMXHEP;
22  // NEVPHO,NPHO,ISTPHO(NMXPHO),IDPHO(NMXPHO),
23  // JMOPHO(2,NMXPHO),JDAPHO(2,NMXPHO),PPHO(5,NMXPHO),VPHO(4,NMXPHO)
24  // int qedrad[NMXHEP] was an add up
25  // for HEPEVT in F77 times. Separate common PH_PHOQED
26  // also phoif_.chkif[NMXPHO] was add up for PHOEVT
27  // now it is pho.qedrad
28  } hep, pho;
29 //ph_hepevt_,phoevt_;
30 
31 
32 
33  extern struct PHOCOP {
34  double alpha;
35  double xphcut;
36  } phocop;
37 
38  extern struct PHNUM {
39  double iev;
40  } phnum;
41 
42  extern struct PHOKEY {
43  double fsec;
44  double fint;
45  double expeps;
46  int interf;
47  int isec;
48  int itre;
49  int iexp;
50  int iftop;
51  int ifw;
52  } phokey;
53 
54  extern struct PHOSTA {
55  int status[10];
56  int ifstop;
57  } phosta;
58 
59  extern struct PHOLUN {
60  int phlun;
61  } pholun;
62 
63  extern struct PHOPHS {
64  double xphmax;
65  double xphoto;
66  double costhg;
67  double sinthg;
68  } phophs;
69 
70  extern struct TOFROM {
71  double QQ[4];
72  double XM;
73  double th1;
74  double fi1;
75  } tofrom;
76 
77  extern struct PHOPRO {
78  double probh;
79  double corwt;
80  double xf;
81  int irep;
82  } phopro;
83 
84  extern struct PHOREST {
85  double fi3;
86  double fi1;
87  double th1;
88  int irep; // provably line to be removed
89  } phorest;
90 
91  extern struct PHWT {
92  double beta;
93  double wt1;
94  double wt2;
95  double wt3;
96  } phwt;
97 
98  extern struct PHOCORWT {
99  double phocorwt3;
100  double phocorwt2;
101  double phocorwt1;
102  } phocorwt;
103 
104  extern struct PHOMOM {
105  double mchsqr;
106  double mnesqr;
107  double pneutr[5];
108  } phomom;
109 
110  extern struct PHOCMS {
111  double bet[3];
112  double gam;
113  } phocms;
114 
115  extern struct PHOEXP {
116  const static int NX = 10;
117  double pro[NX];
118  int nchan;
119  int expini; // bool
120  } phoexp;
121 
122 //debug mode on if ipoin < 1 and ipoinm > 1
123  extern struct PHLUPY {
124  int ipoin;
125  int ipoinm;
126  } phlupy;
127 
128  extern struct DARKR {
129  int IDspecial;
130  int ifspecial; // to switch resonance decaying to lepton pair
131  int NormFact; // enhance prhard for ee pair
132  int NormFmu; // extra enhancement for muon pairs.
133  int IDdarkMother; // PDGid of particle decaying with dark
134  double SpecialLife;// its lifetime
135  double MXX; // its mass
136  double GXX; // and width
137  int iboson; // to switch from scalar to vector
138  int ifforce;
139  double Fel;
140  double Fmu;
141  } darkr;
142 
143 
145  void PHCORK(int modcor);
146 
148  void PHOTOS_MAKE_C(int id);
149 
150  /* Central management routine. Defines what action
151  will be performed at point ID. */
152  void PHTYPE(int ID);
153 
154  /* Routine to split vertex if dark photon is added */
155  void PHOcorrectDARK(int IDaction);
156 
157 } // namespace Photospp
158 #endif
159 
Definition of the PHOEVT common block.
Definition: photosC.h:11