Feature #8385
Remove all $20 cycle deceleration code
Description
The votes are in... We will never again attempt to decelerate beam in the Main Injector again. The $20 cycle was special in I2, it was purposed for decelerating antiprotons recycled from the TeVatron after a collider store. This scheme never worked and eventually it was decided that the focus should be on antiproton productioin instead of recycling.
The $20 cycle is now going to be used for RR > MI > SY beam so it now needs to be no different than the $21 in I2. All special deceleration code in I2 needs to be removed.
Related issues
History
#1 Updated by Kyle Hazelwood almost 6 years ago
- Related to Bug #8318: I2 doesn't set I:EOB20 correctly? added
#2 Updated by Kyle Hazelwood almost 6 years ago
Changes needed:
Remove ramp.cpp lines 47, 48, 49 where $20 specific methods are instantiated
static void r_disp_20_timers(int irw,int icl);
int r_20_timers_rw(int rw,float *times);
int r_20_timers_rw1(int rw,float *times); /* obsolete */
Edit ramp.cpp line 292 in ramp_job() where it decides which timers to display
else if (inbar == 7) {
if (rb.hdr.tclk == 0x20) r_disp_20_timers(5,25);
else r_disp_timers(5, 25, pgm.cycle);
}
Remove ramp.cpp lines 719-737 in r_send() where it sets the timers when sending the ramp
if (r->hdr.tclk == 0x20) { /* deceleration cycle */
times[7] = ncs.slot[ncs.hdr.num_slots-1].t;
if (ncs.slot[(int)ncs.p1.ncs_rampup_slot].p ==
ncs.slot[(int)ncs.p1.ncs_fltop_slot].p) {
/* just take some numbers */
for (i = 0; i < 7; i++) times[i] = i * times[7] / 7;
}
else {
times[0] = ncs.slot[(int)ncs.p1.ncs_rampup_slot].t;
times[1] = ncs.slot[(int)ncs.p1.ncs_fltop_slot].t;
/* D0,D1,D2 */
times[2] = times[1] + rampp.par.prepare_offset;
times[3] = ncs.slot[(int)ncs.p1.ncs_rampdown_slot].t;
times[4] = ncs.slot[(int)ncs.p1.ncs_rampdown_end_slot].t;
times[6] = ncs.slot[(int)ncs.p1.ncs_rampdown_slot].t; /*used to be set to time[7], changed for new RR switchyard mode*/
times[5] = times[6] - end_abort;
}
sts = r_20_timers_rw(SET,times);
}
Delete ramp.cpp lines 1778 - 1836 method r_20_timers_rw1() which is already deprecated and not used
Delete ramp.cpp lines 18298 - 1922 methods r_20_timers_rw() and r_disp_20_timers() which are no longer needed
#3 Updated by Kyle Hazelwood almost 6 years ago
Also had to remove the declare of i in the r_send() method that is used for the for loop that was removed.
Compiled PA1665 to a Z page. Will test tomorrow.
#4 Updated by Kyle Hazelwood almost 6 years ago
- Status changed from Assigned to Closed
Released this morning.