Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-27 09:20:26

0001 #ifndef _photosC_h_included_
0002 #define _photosC_h_included_
0003 
0004 namespace Photospp
0005 {
0006 
0007 const static int NMXHEP = 10000;
0008 const static double PI    = 3.14159265358979324;
0009 const static double TWOPI = 6.28318530717958648;
0010 
0011 /** Definition of the PHOEVT common block */
0012 extern struct HEPEVT
0013 {
0014   int    nevhep;
0015   int    nhep;
0016   int    isthep[NMXHEP];
0017   int    idhep[NMXHEP];
0018   int    jmohep[NMXHEP][2];
0019   int    jdahep[NMXHEP][2];
0020   double phep[NMXHEP][5];
0021   double vhep[NMXHEP][4];
0022   int    qedrad[NMXHEP];  // to be bool once compatibility with F77 removed       
0023   const static int nmxhep=NMXHEP;
0024   //      NEVPHO,NPHO,ISTPHO(NMXPHO),IDPHO(NMXPHO),
0025   //  JMOPHO(2,NMXPHO),JDAPHO(2,NMXPHO),PPHO(5,NMXPHO),VPHO(4,NMXPHO)
0026   //   int qedrad[NMXHEP]  was an add up 
0027   //   for  HEPEVT in F77 times. Separate common PH_PHOQED
0028   //   also phoif_.chkif[NMXPHO] was add up for PHOEVT
0029   //   now it is pho.qedrad
0030 } hep,pho;
0031 //ph_hepevt_,phoevt_;
0032 
0033 
0034 
0035 extern struct PHOCOP
0036 {
0037   double alpha;
0038   double xphcut;
0039 } phocop;
0040 
0041 extern struct PHNUM
0042 {
0043   double iev;
0044 } phnum;
0045 
0046 extern struct PHOKEY
0047 {
0048   double fsec;
0049   double fint;
0050   double expeps;
0051   int interf;
0052   int isec;
0053   int itre;
0054   int iexp;
0055   int iftop;
0056   int ifw;
0057 } phokey;
0058 
0059 extern struct PHOSTA
0060 {
0061   int status[10];
0062   int ifstop;
0063 } phosta;
0064 
0065 extern struct PHOLUN
0066 {
0067   int phlun;
0068 } pholun;
0069 
0070 extern struct PHOPHS
0071 {
0072   double xphmax;
0073   double xphoto;
0074   double costhg;
0075   double sinthg;
0076 } phophs;
0077 
0078 extern struct TOFROM
0079 {
0080   double QQ[4];
0081   double XM;
0082   double th1;
0083   double fi1;
0084 } tofrom;
0085 
0086 extern struct PHOPRO
0087 {
0088   double probh;
0089   double corwt;
0090   double xf;
0091   int irep;
0092 } phopro;
0093 
0094 extern struct PHOREST
0095 {
0096   double fi3;
0097   double fi1;
0098   double th1;
0099   int irep;     //    provably line to be removed
0100 } phorest;
0101 
0102 extern struct PHWT
0103 {
0104   double beta;
0105   double wt1;
0106   double wt2;
0107   double wt3;
0108 } phwt;
0109 
0110 extern struct PHOCORWT
0111 {
0112   double phocorwt3;
0113   double phocorwt2;
0114   double phocorwt1;
0115 } phocorwt;
0116 
0117 extern struct PHOMOM
0118 {
0119   double mchsqr;
0120   double mnesqr;
0121   double pneutr[5];
0122 } phomom;
0123 
0124 extern struct PHOCMS
0125 {
0126   double bet[3];
0127   double gam;
0128 } phocms;
0129 
0130 extern struct PHOEXP
0131 {
0132   const static int NX = 10;
0133   double pro[NX];
0134   int nchan;
0135   int expini;    // bool
0136 } phoexp;
0137 
0138 //debug mode on if ipoin <  1 and ipoinm > 1
0139 extern struct PHLUPY
0140 {
0141   int ipoin;
0142   int ipoinm;
0143 } phlupy;
0144 
0145 /** Initialize kinematic corrections */
0146 void PHCORK(int modcor);
0147 
0148 /** Single branch processing */
0149 void PHOTOS_MAKE_C(int id);
0150 
0151 /* Central management routine. Defines what action
0152    will be performed at point ID. */
0153 void PHTYPE(int ID);
0154 
0155 } // namespace Photospp
0156 #endif
0157