To make it worse, cats are induced ovulaters. I suggest that you take the kitty to the vet. She might be able to get the cat to ovulate. At the very least, he will be able to give the kitty a mild tranquilizer that will slow her down until the heat is over. Unless this is a breeding female from a registered breed, please get her spayed after she goes out of heat.
Cats come into heat often, as often as once a month.
As for punishing her for her behavior, it does no good as you have noticed. Actually, punishment never works well with any cat. Cats need to be molded by softer means. Cats in heat are frequently very crazy as they are desperate to be bred. I think if you get her tranquized and then spayed after she goes out of heat you will get the best results.