RestFrames
v1.0.1
RestFrames HEP Event Analysis Software Library
inc
RestFrames
SelfAssemblingRecoFrame.hh
Go to the documentation of this file.
1
// RestFrames: particle physics event analysis library
3
// --------------------------------------------------------------------
4
// Copyright (c) 2014-2016, Christopher Rogan
14
// This file is part of RestFrames.
15
//
16
// RestFrames is free software; you can redistribute it and/or modify
17
// it under the terms of the GNU General Public License as published by
18
// the Free Software Foundation; either version 2 of the License, or
19
// (at your option) any later version.
20
//
21
// RestFrames is distributed in the hope that it will be useful,
22
// but WITHOUT ANY WARRANTY; without even the implied warranty of
23
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24
// GNU General Public License for more details.
25
//
26
// You should have received a copy of the GNU General Public License
27
// along with RestFrames. If not, see <http://www.gnu.org/licenses/>.
29
30
#ifndef RSelfAssemblingFrame_HH
31
#define RSelfAssemblingFrame_HH
32
33
#include "
RestFrames/DecayRecoFrame.hh
"
34
#include "
RestFrames/State.hh
"
35
36
namespace
RestFrames {
37
38
class
VisibleRecoFrame;
39
41
// SelfAssemblingRecoFrame class
43
class
SelfAssemblingRecoFrame
:
public
DecayRecoFrame
{
44
public
:
45
50
SelfAssemblingRecoFrame
(
const
std::string& sname,
51
const
std::string& stitle);
52
virtual
~
SelfAssemblingRecoFrame
();
53
55
virtual
void
Clear
();
56
57
//virtual bool ClearEventRecursive();
58
//virtual bool AnalyzeEventRecursive();
59
65
void
RemoveChildFrame
(
RestFrame
& frame);
66
75
const
RestFrame
&
GetFrame
(
const
RFKey
& key)
const
;
76
77
protected
:
78
virtual
bool
ResetRecoFrame();
79
virtual
bool
ReconstructFrame();
80
81
private
:
82
bool
m_NewEvent;
83
84
RestFrameList
m_ChildFrames_UnAssembled;
85
86
StateList
m_VisibleStates;
87
RestFrames::RFList<VisibleRecoFrame>
m_VisibleFrames;
88
RestFrames::RFList<DecayRecoFrame>
m_DecayFrames;
89
int
m_Nvisible;
90
int
m_Ndecay;
91
92
void
ClearNewFrames();
93
94
bool
m_IsAssembled;
95
void
Disassemble();
96
void
Assemble();
97
void
AssembleRecursive(
RestFrame
& frame,
98
std::vector<RestFrame*>& frames,
99
std::vector<TLorentzVector>& Ps);
100
101
DecayRecoFrame
& GetNewDecayFrame(
const
std::string& sname,
102
const
std::string& stitle);
103
104
VisibleRecoFrame
& GetNewVisibleFrame(
const
std::string& sname,
105
const
std::string& stitle);
106
};
107
108
}
109
110
#endif
RestFrames::SelfAssemblingRecoFrame::SelfAssemblingRecoFrame
SelfAssemblingRecoFrame(const std::string &sname, const std::string &stitle)
Standard constructor.
Definition:
SelfAssemblingRecoFrame.cc:41
RestFrames::SelfAssemblingRecoFrame::RemoveChildFrame
void RemoveChildFrame(RestFrame &frame)
Removes a child of this frame.
Definition:
SelfAssemblingRecoFrame.cc:71
RestFrames::SelfAssemblingRecoFrame::Clear
virtual void Clear()
Clears SelfAssemblingRecoFrame from all connections to other objects.
Definition:
SelfAssemblingRecoFrame.cc:54
RestFrames::RestFrame
abstract base class for all Frame objects
Definition:
RestFrame.hh:45
RestFrames::RFList< RestFrame >
RestFrames::VisibleRecoFrame
Definition:
VisibleRecoFrame.hh:41
RestFrames::SelfAssemblingRecoFrame::GetFrame
const RestFrame & GetFrame(const RFKey &key) const
Returns frame with key
Definition:
SelfAssemblingRecoFrame.cc:344
State.hh
DecayRecoFrame.hh
RestFrames::RFKey
Definition:
RFKey.hh:38
RestFrames::SelfAssemblingRecoFrame
Definition:
SelfAssemblingRecoFrame.hh:43
RestFrames::DecayRecoFrame
Definition:
DecayRecoFrame.hh:43
Generated on Thu Dec 17 2020 14:04:46 for RestFrames by
1.8.17