func Begin() {
	TotalTraces = 1;
	RelativeTraces = 1;
	RNum = 1;
	DepthIndex = -241;
        GroupIndex = -482;
}

func OnLineHeader()
{
	output(LH);
}

func OnTrace() {

	RecordRollAlong = ((RelativeTraces - 1)%481) + 1;
	Tr.DstSgn = 27.5 * (RecordRollAlong - 241);
        Tr.DstUsg = abs(27.5 * (RecordRollAlong - 241));
	Tr.DphInd = DepthIndex + RelativeTraces;
        Tr.RecInd = GroupIndex + 2*RelativeTraces;
        Tr.RecNum = RNum;
        Tr.SrcLoc = RNum*10;

	output(Tr);

	#print( "TotalTraces = ", TotalTraces,
        #        " RelativeTraces = ", RelativeTraces,
	#	" Tr.DstSgn = ", Tr.DstSgn,
	#	" Tr.DphInd = ", Tr.DphInd,
	#	"\n");
#
	if((TotalTraces%481) == 0){
		++RNum;
		DepthIndex = DepthIndex + 40;
                GroupIndex = GroupIndex + 20;
		RelativeTraces = 1;
	} else {
		++RelativeTraces;
	}
	TotalTraces++;
}
	
