Reflecting linerenderer with raycast?

Hi, im trying to make a “laser” reflect against objects. But I don’t know how i can make it to change direction when It’s hitting something. When I try to change the direction of the “laser” It changes it at the Startposition and not at the Hit position.

This is my code so far.
using UnityEngine;
using System.Collections;

public class testLaserScript : MonoBehaviour {

	LineRenderer lineRenderer;

	void Awake () {
		lineRenderer = GetComponent<LineRenderer> ();
	}

	void Start(){

	}
	
	void Update () {
		Laser ();
	}

	void Laser(){
		RaycastHit hit;
		if(Physics.Raycast(transform.position,Vector3.right,out hit,Mathf.Infinity)){
			lineRenderer.enabled = true;         
			lineRenderer.SetPosition(0, transform.position); 
			lineRenderer.SetPosition(1, hit.point);   


		}
	}
}

I got a little progression

using UnityEngine;
using System.Collections;

public class testLaserScript : MonoBehaviour {

	LineRenderer lineRenderer;

	void Awake () {
		lineRenderer = GetComponent<LineRenderer> ();
	}

	void Start(){

	}
	
	void Update () {
		Laser ();
	}

	void Laser(){
		RaycastHit hit;


		if(Physics.Raycast(transform.position,Vector3.forward,out hit,Mathf.Infinity)){

			lineRenderer.enabled = true;         
			lineRenderer.SetPosition(0, transform.position); 
			lineRenderer.SetPosition(1, hit.point);   

			if(hit.collider.tag == "Mirrors"){
				Vector3 pos = Vector3.Reflect (hit.point - this.transform.position, hit.normal);
				lineRenderer.SetPosition(2,pos);
				//lineRenderer.SetPosition(3, pos);
			}
		}
	}
}

With this code it reflects against 1 object with the tag “Mirrors”. No i need to make something it reflects against mutliple objects. It has to be dynamicle so when i remove a “Mirrors” object from the scene It doesn’t bug of give an error.

Thanks in regards!

This package contains ray visualization including complex reflections using colliders: