41 InvisibleGroup::InvisibleGroup(
const std::string& sname,
42 const std::string& stitle) :
45 m_Type = kInvisibleGroup;
48 InvisibleGroup::InvisibleGroup() : Group() {}
51 InvisibleGroup::~InvisibleGroup() {}
53 InvisibleGroup& InvisibleGroup::Empty(){
54 return InvisibleGroup::m_Empty;
61 void InvisibleGroup::AddFrame(
RestFrame& frame){
63 if(!frame.IsInvisibleFrame())
return;
64 if(!frame.IsRecoFrame())
return;
65 Group::AddFrame(frame);
68 void InvisibleGroup::AddJigsaw(Jigsaw& jigsaw){
70 if(!jigsaw.IsInvisibleJigsaw())
return;
71 Group::AddJigsaw(jigsaw);
74 InvisibleState& InvisibleGroup::InitializeParentState(){
75 std::string name =
GetName()+
"_parent";
76 InvisibleState* statePtr =
new InvisibleState(name, name);
81 InvisibleState& InvisibleGroup::GetParentState()
const {
83 return static_cast<InvisibleState&
>(*m_GroupStatePtr);
85 return InvisibleState::Empty();
88 InvisibleState& InvisibleGroup::GetChildState(
int i)
const {
89 if(!Group::GetChildState(i))
90 return InvisibleState::Empty();
92 return static_cast<InvisibleState&
>(Group::GetChildState(i));
95 bool InvisibleGroup::ClearEvent(){
98 return SetSpirit(
false);
99 m_Lab_P.SetPxPyPzE(0.,0.,0.,0.);
103 void InvisibleGroup::SetMass(
double M){
104 m_Lab_P.SetVectM(m_Lab_P.Vect(), std::max(0., M));
107 void InvisibleGroup::SetLabFrameFourVector(
const TLorentzVector& V){
108 m_Lab_P.SetVectM(V.Vect(), std::max(0., V.M()));
111 void InvisibleGroup::SetLabFrameThreeVector(
const TVector3& V){
112 m_Lab_P.SetVectM(V, m_Lab_P.M());
115 TLorentzVector InvisibleGroup::GetLabFrameFourVector()
const {
119 bool InvisibleGroup::AnalyzeEvent(){
121 UnSoundMind(RF_FUNCTION);
122 return SetSpirit(
false);
124 m_GroupStatePtr->SetFourVector(m_Lab_P);
125 return SetSpirit(
true);
128 InvisibleGroup InvisibleGroup::m_Empty;
std::string GetName() const
Returns object name.
virtual void Clear()
Clears Group of all connections to other objects.
void AddDependent(RFBase *dep)
pointer to RFBase object owned by this one
virtual void Clear()
Clears Group of all connections to other objects.
abstract base class for all Frame objects