| Parameter Description | Argument Order | Argument Mnemonic | Units | Default Value |
|---|---|---|---|---|
| No particles/bunch | 1 | $Npart | ||
| X-emittance at collision point | 2 | $EmitXbb | ||
| Y-emittance at collision point | 3 | $EmitXbb | ||
| Longitudinal rms size at collision point | 4 | $SigmaSbb | ||
| Number of longitudinal slices | 5 | $Nslices | ||
| Collision locations | 6 | $Scollision |
In contrast to other element types, the beam-beam interaction element is not described by a single line in the elements list. To simplify setting the beam-beam collision locations, the beam-beam interaction is introduced with a special multi-line statement which must start on the first line of lattice block (after the "begin lattice" statement). The beam-beam statement starts with the key word _B_BEAM. Then follows a variable or expression which evaluates to the number of IPs. The other parameters are arrays of length equal or greater than the number of IPs. Theses arrays represent: the number of particles per bunch, horizontal and vertical emittances (actually emittances 1 and 2 for X-Y coupled lattice), the rms bunch length, number of slices by which each counter-rotating bunch need to be presented, and the longitudinal coordinate of each IP (s coordinate). The statement syntax is as follows:
_B_BEAM($Nbb, $Npart, $EmitXbb, $EmitYbb, $SigmaSbb, $Nslices, $Scollision)OptiM checks that the emittances and length are positive, that the coordinates of collision points are monotonically increasing and within the total ring length $(0 <= S[i] < L)$, and that the number of slices is nonzero without exceeding a hard limit of 32. If the the requirements are not fulfilled, the message "Incorrect bunch parameter in beam-beam statement." is issued. The example below shows how 72 collision points for bunch number 1 are set for the Tevatron.
Example: Tevatron collision points
# Insertion in the math header
ARRAY $Npart[72];
ARRAY $EmitXbb[72];
ARRAY $EmitYbb[72];
ARRAY $SigmaSbb[72];
ARRAY $Nslices[72];
ARRAY $Scollision[72];
$Nbb=72 ; # Number of collision points
$Ltot=628318.751; # Total ring length
$S_start=0; #reference position for the first IP
$n=0
do{
$Npart[$n]=2e11
$EmitXbb[$n]=0.0020/($beta*$gamma)
$EmitYbb[$n]=0.0020/($beta*$gamma)
$SigmaSbb[$n]=30
$Nslices[$n]=1
$n=$n+1
}while $Nbb -$n
$Nslices[0]=12; # this is B0 main IP
$Nslices[24]=12; # this is D0 main IP
$n= 0; => 0
do{
$Scollision[$n]=$S_start+$Ltot*$n*21/(1113*2)
$Scollision[$n+12]=$Scollision[$n]+$Ltot/6
$Scollision[$n+2*12]=$Scollision[$n]+2*$Ltot/6
$Scollision[$n+3*12]=$Scollision[$n]+3*$Ltot/6
$Scollision[$n+4*12]=$Scollision[$n]+4*$Ltot/6
$Scollision[$n+5*12]=$Scollision[$n]+5*$Ltot/6
$n=$n+1
}while 12-$n
#------------------------------------------
OptiM
#------------------------------------------
begin lattice. Number of periods=1
_B_BEAM($Nbb, $Npart, $EmitXbb, $EmitYbb, $SigmaSbb, $Nslices, $Scollision)
end lattice
#------------------------------------------