diff --git a/target.f b/target.f index 761420a707ffeddecd33379a12a4a97ab9018141..c301e4a1912d1b9d7111f6eff80a2455d8cc4702 100644 --- a/target.f +++ b/target.f @@ -13,6 +13,7 @@ real*8 Eloss_target, Eloss_Al,Eloss_air ! energy losses real*8 Eloss_kevlar,Eloss_mylar ! (temporary) real*8 z_can,t,atmp,btmp,ctmp,costmp,th_can !for the pudding-can target. + real*8 ecir,ecor,entec,twall,tal,tliquid,tcm logical liquid s_Al = 0.0 @@ -36,6 +37,8 @@ s_Al = s_Al + 0.0028*inch_cm else if (targ%can .eq. 2) then !pudding can (5 mil Al, for now) s_Al = s_Al + 0.0050*inch_cm + else if (targ%can .eq.3) then !2017 target 10 cm cells + s_Al = s_Al + 0.013 !avg. of 3 loops endif endif @@ -91,10 +94,10 @@ s_mylar = 0.010*inch_cm forward_path = (targ%length/2.-zpos) / abs(cos(theta-targ%angle)) else if (electron_arm.eq.5 .or. electron_arm.eq.6) then !SHMS - s_Al = 0.008*inch_cm - s_air = 15 - s_kevlar = 0.005*inch_cm - s_mylar = 0.003*inch_cm + s_Al = (0.02+0.01)*inch_cm !20mil scattering chamber window + 10 mil entrance window + s_air = 57.27 + s_kevlar = 0.0 + s_mylar = 0.0 forward_path = (targ%length/2.-zpos) / abs(cos(theta-targ%angle)) endif s_target = forward_path @@ -133,8 +136,34 @@ c stop 'z_can > can radius in target.f !!!' c stop endif s_Al = s_Al + 0.0050*inch_cm/abs(sin(target_pi/2 - (theta - th_can))) - endif + else if (targ%can .eq. 3) then !2017 10 cm cryo cells +C This cell is a cylinder with a round end cap. Wall thickness = 5 mil +C Some dimensions are hardwired for now (or forever...). + ecir=1.315*2.54 ! endcap inner radius (cm) + ecor=(1.315+0.0071)*2.54 ! endcap outer radius (cm) +c targlen=3.942*2.54 ! target length (cm) + entec=targ%length-ecir ! entrance to end cap (cm) + twall = ecor-ecir + + tcm=zpos+targ%length/2.0 !length of target already traversed in cm + + if((tcm+ecir/tan(theta)).lt.entec) then ! e goes through sidewall + tliquid=ecir/sin(theta) ! liquid target + tal=twall/sin(theta) ! wall material + else + tliquid= ! e goes through end cap + > (sqrt(ecir**2-((targ%length-ecir-tcm)*sin(theta))**2) + > +(targ%length-ecir-tcm)*cos(theta)) ! liquid target + + tal= ! wall + > +(sqrt(ecor**2-((targ%length-ecir-tcm)*sin(theta))**2) + > -sqrt(ecir**2-((targ%length-ecir-tcm)*sin(theta))**2)) + > *twall/(ecor-ecir) ! & end cap + endif + s_Al = s_Al + tal + s_target = tliquid + endif endif ! ... compute distance in radiation lengths and energy loss @@ -185,10 +214,10 @@ c stop s_mylar = 0.010*inch_cm forward_path = (targ%length/2.-zpos) / abs(cos(theta-targ%angle)) else if (hadron_arm.eq.5 .or. hadron_arm.eq.6) then !SHMS - s_Al = 0.008*inch_cm - s_air = 15 - s_kevlar = 0.005*inch_cm - s_mylar = 0.003*inch_cm + s_Al = (0.02+0.01)*inch_cm !20mil scattering chamber window + 10 mil entrance window + s_air = 57.27 + s_kevlar = 0.0 + s_mylar = 0.0 forward_path = (targ%length/2.-zpos) / abs(cos(theta-targ%angle)) endif @@ -227,8 +256,33 @@ c stop 'z_can > can radius in target.f !!!' c stop endif s_Al = s_Al + 0.0050*inch_cm/abs(sin(target_pi/2 - (theta - th_can))) - endif + else if (targ%can .eq. 3) then !2017 10 cm cryo cells +C This cell is a cylinder with a round end cap. Wall thickness = 5 mil +C Some dimensions are hardwired for now (or forever...). + ecir=1.315*2.54 ! endcap inner radius (cm) + ecor=(1.315+0.0071)*2.54 ! endcap outer radius (cm) + entec=targ%length-ecir ! entrance to end cap (cm) + twall = ecor-ecir + + tcm=zpos+targ%length/2.0 !length of target already traversed in cm + + if((tcm+ecir/tan(theta)).lt.entec) then ! e goes through sidewall + tliquid=ecir/sin(theta) ! liquid target + tal=twall/sin(theta) ! wall material + else + tliquid= ! e goes through end cap + > (sqrt(ecir**2-((targ%length-ecir-tcm)*sin(theta))**2) + > +(targ%length-ecir-tcm)*cos(theta)) ! liquid target + + tal= ! wall + > +(sqrt(ecor**2-((targ%length-ecir-tcm)*sin(theta))**2) + > -sqrt(ecir**2-((targ%length-ecir-tcm)*sin(theta))**2)) + > *twall/(ecor-ecir) ! & end cap + endif + s_Al = s_Al + tal + s_target = tliquid + endif endif ! ... compute energy losses