Play animation when hit by raycast

So i have my zombi walking to you but it doesnt react when you shot it, i have an animation for my zombie to make it jerk back when shot. But i dont know how to make the zombie play an animation when it comes in contact with the ray cast. Heres my current script

var target : Transform; //the enemy's target
var moveSpeed = 3; //move speed
var rotationSpeed = 3; //speed of turning

var myTransform : Transform; //current transform data of this enemy
var isNotDead : boolean = true;
var health : float = 100;
function Awake()
{
    myTransform = transform; //cache transform data for easy access/preformance
}

function Start()
{
     target = GameObject.FindWithTag("Player").transform; //target the player

}

function Update () {
	
	if(health < 1){
	
		isNotDead = false;
		animation.Play("fallToFace");
		Destroy(gameObject, 1);
	}
	
	if(isNotDead){
	
	    //rotate to look at the player
	    myTransform.rotation = Quaternion.Slerp(myTransform.rotation,
	    Quaternion.LookRotation(target.position - myTransform.position), rotationSpeed*Time.deltaTime);
	
	
	    
	    var distance = Vector3.Distance(target.position, myTransform.position);
	    if (distance < 3.0f) {
	        animation.Play("attack1");
	    }
	    else{   
	    	//move towards the player
	   		myTransform.position += myTransform.forward * moveSpeed * Time.deltaTime;
	   		animation.Play("shamble");
	    }

	}
}

function ApplyDamage(dmg : float){

	health -= dmg;

}

Quite simple to do, all you need to do is in the raycast routine (wherever you cast it) is to send a message to the zombie to play the hit effect. I assume ApplyDamage comes from the raycast so you could simply play the animation in there. Just make sure you set a bool to stop the the animation from keep reseting for every bullet as it will make it look weird.