crab_interaction_lambdap.cpp 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. /* These first two numbers describe the number of ident numbers used to
  2. screen phase space pt.s from files that are to be used in the generation
  3. of correlation functions. These codes may be different than those of the
  4. particles you are investigating. For instance, you may wish to do pi-pi-
  5. correlations and use the phase space pt.s for all 3 species of pions */
  6. #define N1TYPES 1
  7. #define N2TYPES 1
  8. /* These are the identifications. See pdg.lbl.gov/rpp/mcdata/all.mc for a */
  9. const int IDENT1[N1TYPES]={2212};
  10. const int IDENT2[N2TYPES]={3122};
  11. #define MASS1 1115.7
  12. #define MASS2 939.6
  13. /* Define if particles are identical */
  14. //#define IDENTICAL
  15. /* Turn off and on the Coulomb Interaction */
  16. //#define COULOMB
  17. /* Turn off and on the Strong Interaction */
  18. #define STRONG_INTERACTION
  19. #define Q1Q2 0
  20. #define INTERACTION_WSYM 0.0
  21. #define INTERACTION_WANTI 0.0
  22. #define INTERACTION_WNOSYM 1.0
  23. /* fractions of symmetric and antisym weights of the various spin channels */
  24. #define INTERACTION_DELK 2.0
  25. /* spacing of mom. mesh for calc. of strong/coul. int. given in MeV/c
  26. and mom. is reduced momentum (1/2 Qinv for m1=m2) */
  27. /* these are used to define both the strong and coulomb meshes */
  28. #define INTERACTION_NKMAX 50
  29. /* number of momentum points in mesh for strong/coul. interaction */
  30. /* DEFINE THE STRONG INTERACTION POTENTIAL */
  31. #ifdef STRONG_INTERACTION
  32. /* Potentials can be found the file crab_potentials.cpp */
  33. #define POTENTIAL vplam1
  34. /* These are definitions used for calculating wave func.s */
  35. #define STRONG_NSPINS 2
  36. #define STRONG_NETPARTIALS 2
  37. /* these are used to define both the strong and coulomb meshes */
  38. /* number of spatial points is mesh */
  39. #define STRONG_NRMAX 150
  40. /* The strong interaction is calculated for r<rmax. delr=RMAX/NRMAX */
  41. #define STRONG_RMAX 6.0
  42. /* For calculating wave func.s when r > RMAX, asymptotic forms are used */
  43. /* ************************************************************ */
  44. /* The Following are global variables used for the calculation of wave
  45. functions */
  46. const int STRONG_NPARTIALS[STRONG_NSPINS]={1,1};
  47. /* for various spin channels, this is the number of partial waves in
  48. each spin channel. These numbers should sum up to NETPARTIALS*/
  49. const int STRONG_SYMM[STRONG_NSPINS]={0,0};
  50. /* parity required by spin choice, choose -1 for antisym, 1 for symm.,
  51. and 0 for none. for example, in pp, the s=1 waves would have negative,
  52. while the s=0 wave would have positive. for non-identical particles,
  53. one might choose zero. */
  54. const double STRONG_WEIGHT[STRONG_NSPINS]={0.25,0.75};
  55. /* weight of spin channels */
  56. const int STRONG_L[STRONG_NETPARTIALS]={0,0};
  57. /* ************************************************************ */
  58. /* This potential is different than the Reid potential in that it does not
  59. mix s and d waves. ipart =0 corresponds to the S=0, I=0 channel,which
  60. is the same as the s-wave used for pp or nn. ipart=1 corresponds to the
  61. S=1, I=0 channel, the deuteron channel. To do the problem correctly, one
  62. one would need a different code that solved a coupled-channels problem
  63. where J and M_j were the relevant quantum numbers. */
  64. /* ************************************************************ */
  65. /* This potential was supplied by Fuqian Wang, who attributes it to
  66. PRC 31, 1400 (1985).*/
  67. double vplam1(double r,int ipart);
  68. double vplam1(double r,int ipart){
  69. double x,vc,tpi,v;
  70. x=r*0.7;
  71. vc = 2137.0/(1+exp((r-0.5)/0.2));
  72. tpi = (1.0+3.0/x+3.0/(x*x)) * (exp(-x)/x) * pow(1-exp(-2*r*r),2);
  73. if (ipart==0) /* L=0 S=0 */
  74. v = vc-6.575*tpi*tpi;
  75. else if (ipart==1) /* L=0 S=1 */
  76. v = vc-6.075*tpi*tpi;
  77. else
  78. printf ("should not happen!\n");
  79. return v;
  80. }
  81. #endif