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>;