c constants double precision pi, m_n, h_par, k_b, avog double precision he4mol, gam, rgas parameter (pi = 3.14159, + m_n = 0.1045407751, ! meV/(Angstrom/psec)^2 + h_par = 0.6582122, ! meV*psec + k_b = 0.08617, ! Boltzman const (meV/K) + avog = 0.6022, ! Avodadro's no. (10^24 atom/mol) + he4mol = 4.0, ! helium4 (gm/mol) + gam = 1.6666666667, ! adiabatic const + rgas = 8.314) ! gas constant (J/mol*K) double precision gy, mag_b, mag_B_beam parameter(gy =18.324718, ! 1/(mGaus*sec) + mag_b = 0.1, mag_B_beam=0.0) ! mGaus double precision k_0, bb parameter (k_0 = 0.75, ! 1/Ang + bb = 3.07729087d-15) ! scattering length (m) c c ****Number of Events***** integer nevts parameter (nevts =1e7) c ***Lambda choice either from distribution or Lambda=5Ang**** logical lamflg parameter (lamflg=.true.) ! lambda from distribution ! parameter (lamflg=.false.) ! lambda = 5Ang c ***xy Distribution choice**** integer xydist ! parameter (xydist=0) ! Flat xy distribution ! parameter (xydist=1) ! Gradient xy distribution ! parameter (xydist=2) ! NSRII PSM Beam Image xy distribution parameter (xydist=3) ! INverted parabola xy distribution c ***Angular Distribution choice**** integer angdist parameter (angdist=0) ! Isotropic Angular distribution ! parameter (angdist=1) ! Flat Angular distribution ! parameter (angdist=2) ! Cosine Angular distribution ! parameter (angdist=3) ! Angular distribution from J. Cook sim of NGC c ***Scattering Weighting numerator for limited q<0.1 range*** double precision wgtA parameter (wgtA = 0.00436) c *****PA weighting of Neutrons***** logical PAflg c parameter (PAflg=.true.) ! PA weight included parameter (PAflg=.false.) ! PA weight = 1 c *****Pi Coil ON/OFF****** logical picoilflg parameter (picoilflg=.true.) ! Pi Coil ON c parameter (picoilflg=.false.) ! Pi Coil Off c *****Septum for inguide and incoil***** logical sptmflg c parameter (sptmflg = .true.) ! septum in place parameter (sptmflg = .false.) ! no septum c *****Air or Helium Gas in Beam***** logical hebeam parameter (hebeam = .true.) !He gas in beam c paramter (hebeam = .false.) !air in beam c *****Bfield Gradients**** integer bzgradnum character bzfile1*20,bzfile2*20,bzfile3*20,bzfile4*20 c Chose which field setting below parameter (bzgradnum=0) ! NO Bz gradient run c parameter (bzgradnum=1) ! Large Field gradient c parameter (bzgradnum=2) ! Large Field c parameter (bzgradnum=3) ! Bzgrad small (0.616mG/m) c parameter (bzgradnum=4) ! for He gastar, Bzgrad chg with tarstate - !set HEGAS! c file names determined by choice above parameter (bzfile1='Bz.dat') ! Large Field gradient parameter (bzfile2='Bz_LargeFld.dat') ! Large Field parameter (bzfile3='Bz_run1154.dat') ! Bzgrad small (0.616mG/m) parameter (bzfile4='Bz_run1449.dat') ! for He gastar, Bzgrad chg with tarstate c c *********Helium Target properties********** double precision T c parameter (T = 2.10) ! helium temp. (K) c parameter (T = 4.25) ! helium temp. (K) parameter (T = 4.24) ! He temp. (K) for Murad new S(q) c double precision tarx1, tarx2, tarx3, tarx4 double precision tary1, tary2, tarz double precision ndenhegas logical hegastar, airtar c !!two of the following four should be commented out!! c !! for liquid He, both should be false below!! ! parameter (hegastar = .false.) ! false if liquid He target or air parameter (hegastar = .true.) ! true is gas He target parameter (airtar = .false.) ! false if liquid He target or He gas ! parameter (airtar = .true.) ! true if air in target c 4He gas number density at 273K/1atm is 2.688e19/cc -KG c 4He gas number density at 57K/1atm is 1.287e20/cc (ideal gas law) -KG c 4He gas number density at 4.25K/1atm is 1.727e21/cc (ideal gas law) -KG parameter (ndenhegas = 0.0000269 ) !! Room Temp He numb. density (1e24 atm/cc) c parameter (ndenhegas = 0.0001287 ) !! He numb. density (1e24/cc) -KG c parameter (ndenhegas = 0.001727 ) !! He numb. density (1e24/cc)-KG c parameter (ndenhegas = 0.002484 ) !! 4K He Gas numb. density (1e24 atm/cc) -KG c parameter (ndenhegas = 0.00000000002484 ) !! 4K He Gas numb. density (1e24 atm/cc) -KG double precision m_he parameter (m_he = 0.418) !4He mass -mev/(Angstrom/psec) from atomic mass ratio to Al -KG double precision gtindexx, gtindexy parameter(gtindexx = 0.0000000173, gtindexy = 0.0000000173) ! rad/Ang c parameter (tarx1 = -3.0, ! cm 34mm with 3mm septum max c + tarx2 = -0.35, ! cm 3mm septum c + tarx3 = 0.35, ! cm 3mm septum c + tarx4 = 3.0, ! cm 34mm with 3mm septum max c + tary1 = -2.5, ! cm 70 mm max c + tary2 = 2.5, ! cm 70mm max parameter (tarx1 = -4.0, ! cm 34mm with 3mm septum max + tarx2 = 4.0, ! cm 3mm septum + tarx3 = 4.001, ! cm 3mm septum + tarx4 = 4.002, ! cm 34mm with 3mm septum max + tary1 = -4.0, ! cm 70 mm max + tary2 = 4.0, ! cm 70mm max c + tarz = 41.6) ! cm c ************************************ c c *********Aluminum Window properties********** double precision ndenAl, m_al parameter (ndenAl = 0.06026) ! Al numb. density (1e24 atm/cc) c parameter (ndenAl = 0.000000006026) ! Al numb. density (1e24 atm/cc) parameter (m_al = 2.82) ! Al mass - meV/(Angstrom/psec)^2 c double precision talx1, talx2, talx3, talx4, taly1, taly2 double precision talz1, talz2, talz3, talz4, talz5, talz6, talz7 parameter (talx1 = -4.0, ! cm make as big as air gaps + talx2 = 4.0, ! cm + talx3 = -4.8, ! cm + talx4 = 4.8, ! cm + taly1 = -4.0, ! cm + taly2 = 4.0, ! cm + talz1 = 0.1, ! cm + talz2 = 0.2, ! cm cccccccc 3-6 below are in target region -- not present if no target chamber c + talz3 = 0.35, !cm c + talz4 = 0.15, !cm c + talz5 = 0.05, !cm c + talz6 = 0.12, !cm + talz3 = 0.0, !cm + talz4 = 0.0, !cm + talz5 = 0.0, !cm + talz6 = 0.0, !cm cccccccc c + talz7 = 1.58) ! more Al inclu. 1/8" ioncham wind. cm c + talz7 = 0.00158) ! more Al inclu. 1/8" ioncham wind. cm + talz7 = 0.3175) !cm c ************************************ c c *******Air Gaps*********** double precision m_air, ndenair, ndenairtar parameter (ndenair = 0.000054) !! air numb. density (1e24 atm/cc) c parameter (ndenair = 0.000000000054) !! air numb. density (1e24 atm/cc) c parameter (ndenairtar = 0.000054) !! air numb. density (1e24 atm/cc) parameter (ndenairtar = 0.00019) !! 77K N numb. density (1e24 atm/cc) c parameter (ndenairtar = 0.000000000054) !! air numb. density (1e24 atm/cc) parameter (m_air = 1.57) ! air mass - meV/(Angstrom/psec)^2 double precision tairx1,tairx2,tairy1,tairy2,tairz1,tairz2 double precision tairz3,tairz4,tairz5, tairz6 parameter (tairx1 = -4.0, ! cm + tairx2 = 4.0, ! cm + tairy1 = -4.0, ! cm + tairy2 = 4.0, ! cm + tairz1 = 3.0, ! gap after PSM cm + tairz2 = 10.0, ! gap between incoil and target (cm) + tairz3 = 8.0, ! cm + tairz4 = 13.0, + tairz5 = 10.0, + tairz6 = 10.0 ) ! cm c c **BEAM GEOMETRY******************************* c c ******Initial x, y-range and guide length*** double precision gl,xin,yin,ng6indexx,ng6indexy,ng6index parameter (xin = 2.75, ! starting x range, NG6 opening 6.0 cm + yin = 2.25, ! NG6 opening 7.5cm tall + gl = 111.0, ! Guide legth in z-direction (cm) c + ng6index = 0.002) ! NG6 index rad/ang c + ng6index = 0.0032) ! NG6 index rad/ang + ng6indexx = 0.00260, ! Greater divergence after PSM -KG + ng6indexy = 0.00260) ! Greater divergence after PSM -KG c + ng6index = 0.0000001) ! for no beam divergence index rad/ang c + ng6indexx = 0.000001, ! for no divergence -rcm c + ng6indexy = 0.0000001) ! for no divergence -rcm c c *******Input Guide******** double precision gx1, gx2, gx3, gx4, gy1, gy2 logical reflectflg c parameter (reflectflg = .true.) ! true reflectivity = 1.0 parameter (reflectflg = .false.) ! false reflectivity varies parameter (gx1 = -2.80, ! cm same as target ! + gx2 = -0.15, ! + gx3 = 0.15, !cm, 3mm septum -rcm + gx4 = 2.8, !cm + gy1 = -2.3, ! cm same as target + gy2 = 2.3) ! cm same as target c *******Input Coil********* double precision ix1, ix2, ix3, ix4, iy1, iy2, iz0, ginx, giny parameter (ginx = 0.0012, ! Input critical index (rad/Ang) + giny = 0.0012, ! Input critical index (rad/Ang) + ix1 = -2.8, ! + ix2 = -0.15, ! + ix3 = 0.15, !cm, 3mm septum -rcm + ix4 = 2.8, !cm + iy1 = -2.3, ! cm same as target + iy2 = 2.3, ! cm same as target + iz0 = 89.0) ! cm c c **************************** c c *******Output Coil********** double precision ox1, ox2, ox3, ox4, oy1, oy2, oz, gotx, goty parameter (gotx = 0.0012, ! Output critical index (rad/Ang) + goty = 0.0012, ! Output critical index (rad/Ang) + ox1 = -3.05, ! cm same as target + ox2 = -0.175, ! cm + ox3 = 0.175, ! cm + ox4 = 3.05, ! cm same as target + oy1 = -2.3, ! cm same as target + oy2 = 2.3, ! cm same as target + oz = 125.) ! cm c c ******Analyzing Super Mirror (ASM)**** double precision sx1, sx2, sy1, sy2, sz, gsm, detrad parameter (sx1 = -2.85, ! cm + sx2 = 2.85, ! cm + sy1 = -2.25, ! cm + sy2 = 2.25, ! cm + sz = 28.0, ! cm + gsm = 0.003, ! (Pyrex glass+ Ti + Ga) rad/Ang + detrad = 3.8) ! cm radius of ion chamber