I don't have techno-fear--I have techno JOY!!! --Eddie Izzard.

Wednesday, April 12, 2006

SRIMulation JOY! (mostly for E1031 but possibly generally useful)

5 MeV 12C in 20 ug/cm2 12C at 0': E fwhm=12% DE; dtheta =0.2, fwhm=0.2
5 MeV 12C in 20 ug/cm2 12C at 10': E fwhm=13% DE; dtheta fwhm=0.3
8 MeV 12C in 20 ug/cm2 12C at 10': E fwhm=15% DE; dtheta fwhm=0.2
--> for the beam energy loss in the target for the triumf 12C+12C experiment, use the following code:

double beamStraggle = 0.15*targetLoss*random.nextGaussian()/2.35;
double thetaBeam = (depth/20)*(0.3 + 0.3*random.nextGaussian()/2.35);

He E de fwhm % dtheta fwhm
12 70% 0.02
5 39% 0.1
1 17% 0.5
0.5 17% 1
= 0.05E + 0.14 = -0.16x + 0.9
H E de fwhm % dtheta fwhm
8 157% 0.02
4 126% 0.06
1 71% 0.2
0.5 49% 0.5
= 0.14E + 0.5 = -0.1x + 0.4

(and no, I don't expect that table to mean anything to anyone except me.)
so for He in target use

double ejectileEStrag = (Tinit*0.05 + 0.14)*ejectileTargetLoss *random.nextGaussian()/2.35;
thetaDlab = thetaDlab + (0.9-0.16*Tinit)*(depthEjectile/20) *random.nextGaussian()/2.35;
if (Tinit>5) thetaDlab = thetaDlab + 0.02*(depthEjectile/20) *random.nextGaussian()/2.35;

and for H in target use

double ejectileEStrag = (Tinit*0.14 + 0.5)*ejectileTargetLoss *random.nextGaussian()/2.35;
thetaDlab = thetaDlab + (0.4-0.1*Tinit)*(depthEjectile/20) *random.nextGaussian()/2.35;
if (Tinit>4) thetaDlab = thetaDlab + 0.02*(depthEjectile/20) *random.nextGaussian()/2.35;

E He shield de fwhm % He shield dtheta fwhm
10 6% 0.75
5.1 5% 2.6
3.5 5% 6.4

y=6% y = -2x + 15
E He dl de fwhm %
10 26%
3 11%
0.9 8%

y = 0.02x + 0.06
E H shield de fwhm % H shield dtheta fwhm
10 33% 0.32
3 12% 1.2
1 12% 8

y = 0.03x + 0.07 y = -3x + 11
E H dl de fwhm %
10 107%
3 59%
1 27%

y=0.08x+0.3

for He in shield use

EStraggleShield = 0.06*shieldLoss*random.nextGaussian()/2.35;
thetaDlabAl= thetaDlab + (15-2*Tflight)*random.nextGaussian()/2.35;
if (Tflight>6) thetaDlabAl= thetaDlab + 0.75*random.nextGaussian()/2.35;

for He in dead layer (LEDA or other detectors) use

EStraggleDead = (Tflight2*0.02 + 0.06)*deadlayerLoss*random.nextGaussian()/2.35;

for H in shield use

EStraggleShield = (Tflight*0.03 + 0.07)*shieldLoss*random.nextGaussian()/2.35;
thetaDlabAl= thetaDlab + (11-3*Tflight)*random.nextGaussian()/2.35;
if (Tflight>4) thetaDlabAl= thetaDlab + 0.4*random.nextGaussian()/2.35;

for H in dead layer (LEDA or other detectors) use

EStraggleDead = (Tflight2*0.08 + 0.3)*deadlayerLoss*random.nextGaussian()/2.35;

1 comment:

Corey Tamas said...

Who are you talking to about the movie rights?