Very good question.
In my opinion, forgiveness is when you forget. If you wake up every morning thinking about what that person did to you, you haven't forgiven them. You need to no longer holding a grudge against that person, and you need let it go. Not just consciously, but in your heart as well. For instance, you may think you have forgiven someone because you made a conscious effort to forgive them in your mind, but whenever you see that person, you feel a tiny bit of loathing in your heart, which means you have not forgiven them yet. Now, as for how to know whether you have forgiven someone or not... I would say that you need to talk to that person and ask God for guidance as well. My dad always tells me to apologize to the person, regardless of who hurt who, and that's one way to show forgiveness. Also, if you practice agape love, forgiveness should be second nature to you. If you're still struggling with forgiving and letting go, then you need to not focus on building your forgiving nature, but building your "love nature". As soon as you learn to love, you'll learn to forgive.
If you are personally affected by the event, and feel any kind of hatred or loathing to the person, then you also need to forgive them. Forgiveness is not only when someone does something wrong to you directly, but if they hurt you in any way (even through your child) and you are no longer able to love them, you need to forgive them. In addition, trying to explain this to non-Christians will be very difficult, because they have not inherited God's love, therefore they are more likely to hold grudges and not let go. If I were you, I would preach salvation to them first before trying to teach them how to forgive, otherwise you're fighting a losing battle.