This does sound like territorial / dominace aggression.
first, I would take her to a trainer where they can see the behaviour first hand and evaluate the situation. Then you can work with the trainer one on one to learn different training techniques. I did this with my dog when we had some problems and it was like magic!
I think you should look at your leadership skills or 'pack leader' status with your dog. If the dog does not have the propper leader they need they will assume the role which leads to this kind of behaviour. you are doing the right thing though if you know she is aggressive to keep her under control so no one gets hurt.
Another aspect to look at is if she is getting rewarded for this kind of behaviour. Do you give her a lot of attention when she becomes this way or reward her by giving toys, treats, ect? This could have been done unknowingly so really think hard about how you react when she gets this way. This can help in the changing process so you can change your reactions to her which will help her change. Always give as little attention as possible when bad behaviour is shown; just enough to get them under control. Do you have a 'sin-bin'? a sin-bin is used when they are bad like a time out spot where they go so they can calm down and be shown this behaviour was not good. Using a sin-bin is very effective because they are separated from the 'pack'; no attention, toys, treats, ect. They do not come out untill they are calm and go back right away if the same beavhiour is displayed. When she is good and calm, especially around the stuff that gets her going, reward her a lot with treats, affection, ect so the good behaviour is re-enforced.
I hope this helps and do take her to a trainer!
