39   VisibleFrame<T>::VisibleFrame(
const std::string& sname, 
 
   40                 const std::string& stitle) 
 
   43     T::m_Type = kVisibleFrame;
 
   48   VisibleFrame<T>::VisibleFrame() : T() {}
 
   51   VisibleFrame<T>::~VisibleFrame() {}
 
   54   bool VisibleFrame<T>::IsSoundBody()
 const {
 
   55     if(RFBase::IsSoundBody()) 
 
   57     if(!RestFrame::IsSoundBody())
 
   58       return T::SetBody(
false);
 
   60     int Nchild = T::GetNChildren();
 
   61     if(Nchild > 0 || !T::GetParentFrame()){
 
   62       T::m_Log << LogWarning << 
"Problem with parent or child frames" << LogEnd;
 
   63       return T::SetBody(
false);
 
   65     return T::SetBody(
true);
 
   69   void VisibleFrame<T>::SetCharge(
const RFCharge& charge){
 
   74   void VisibleFrame<T>::SetCharge(
int charge){
 
   79   void VisibleFrame<T>::SetCharge(
int charge_num, 
int charge_den){
 
   80     RFCharge charge(charge_num, charge_den);
 
   85   RFCharge VisibleFrame<T>::GetCharge()
 const {
 
   90   void VisibleFrame<T>::SetLabFrameFourVector(
const TLorentzVector& V,
 
   91                           const RFCharge& charge){
 
   92     m_Lab_P.SetVectM(V.Vect(),V.M());
 
   97   void VisibleFrame<T>::SetLabFrameFourVector(
const TLorentzVector& V,
 
   99     SetLabFrameFourVector(V, RFCharge(charge));
 
  103   void VisibleFrame<T>::SetLabFrameFourVector(
const TLorentzVector& V,
 
  106     SetLabFrameFourVector(V, RFCharge(charge_num,charge_den));
 
  110   TLorentzVector VisibleFrame<T>::GetLabFrameFourVector()
 const {
 
  112     V.SetVectM(m_Lab_P.Vect(),m_Lab_P.M());
 
  116   template class VisibleFrame<ReconstructionFrame>;
 
  117   template class VisibleFrame<GeneratorFrame>;