Beam Emitter does not follow the source point

When I move left or right and fire off this function at the same time with the left mouse button, the beam does not stay with the socket. The beam start point changes to the left or the right of the socket location. The beam start point does not stay completely static relative to the socket location or the beam start point. How can I keep the beam start point from moving when I move left or right as I fire? The only time when the beam location makes a drastic change in location is when I move left or right it appears as if the socket itself is moving. But I know that is not the case.

FRotator CurrentRotation = Mesh->GetSocketRotation(FName("Socket"));
		BeamComp->SetWorldLocation(BeamStartPoint );
                //The length of the line trace.
                 FVector BeamEndPoint= BeamStartPoint + CurrentRotation.Vector() * 10000.0f;
const FVector BeamStartPoint = Mesh->GetSocketLocation(FName("Socket"));
	       	if (GetWorld()->LineTraceMultiByChannel(Hit, BeamStartPoint , BeamEndPoint, ECollisionChannel::ECC_GameTraceChannel1, Params, ResponseParams))
		{
		
if (SmokeTrailBeamComp)
			{
				BeamComp->ActivateSystem();
                          //Setting the start point relative to the socket.
			BeamComp->SetBeamSourcePoint(0, BeamStartPoint +  CurrentRotation.Vector(), 0);
				BeamComp->SetBeamTargetPoint(0, BeamEndPoint, 0);
				BeamComp->SetVectorParameter("Source", BeamStartPoint );
  GetWorldTimerManager().SetTimer(BeamTimer, this, &ABase::HideBeam, 0.01, false);

}
}
void ABase::HideSmoke()
{
//Deactivating system.
  BeamComp->DeactivateSystem();
}