LOGO

RestFrames  v1.0.1
RestFrames HEP Event Analysis Software Library
LabRecoFrame.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 LabRecoFrame_HH
31 #define LabRecoFrame_HH
32 
34 #include "RestFrames/LabFrame.hh"
35 
36 namespace RestFrames {
37 
38  class Jigsaw;
39  class VisibleState;
40 
42  // LabRecoFrame class
44  class LabRecoFrame : public LabFrame<ReconstructionFrame> {
45  public:
46 
51  LabRecoFrame(const std::string& sname, const std::string& stitle);
52 
54  LabRecoFrame();
55  virtual ~LabRecoFrame();
56 
58  virtual void Clear();
59 
66  virtual bool InitializeAnalysis();
67 
73  virtual bool ClearEvent();
74 
80  virtual bool AnalyzeEvent();
81 
85  void AddTreeState(VisibleState& state) const;
86 
90  void AddTreeStates(const VisibleStateList& states) const;
91 
95  void RemoveTreeState(const VisibleState& state) const;
96 
100  void RemoveTreeStates(const VisibleStateList& states) const;
101 
105  VisibleStateList const& GetTreeStates() const;
106 
107  protected:
108  GroupList m_TreeGroups;
109  JigsawList m_TreeJigsaws;
110  mutable VisibleStateList m_TreeStates;
111 
112  bool InitializeTreeStates();
113  bool InitializeTreeGroups();
114  bool InitializeTreeJigsaws();
115 
116  bool ExecuteJigsaws();
117 
118  private:
119  VisibleState& GetNewVisibleState();
120  VisibleStateList m_InitStates;
121 
122  };
123 
124 }
125 
126 #endif
LabFrame.hh
RestFrames::LabRecoFrame::ClearEvent
virtual bool ClearEvent()
Clears event.
Definition: LabRecoFrame.cc:233
RestFrames::LabRecoFrame::RemoveTreeState
void RemoveTreeState(const VisibleState &state) const
Removes a state from "VisibleStateList" of this frame.
Definition: LabRecoFrame.cc:66
RestFrames::LabRecoFrame::AddTreeStates
void AddTreeStates(const VisibleStateList &states) const
Adds states to "VisibleStateList" of this frame.
Definition: LabRecoFrame.cc:62
ReconstructionFrame.hh
RestFrames::LabRecoFrame::LabRecoFrame
LabRecoFrame()
Empty constructor.
Definition: LabRecoFrame.cc:45
RestFrames::RFList< VisibleState >
RestFrames::VisibleState
Definition: VisibleState.hh:39
RestFrames::LabRecoFrame
Definition: LabRecoFrame.hh:44
RestFrames::LabRecoFrame::RemoveTreeStates
void RemoveTreeStates(const VisibleStateList &states) const
Removes states from "VisibleStateList" of this frame.
Definition: LabRecoFrame.cc:70
RestFrames::LabRecoFrame::Clear
virtual void Clear()
Clears LabRecoFrame from all connections to other objects.
Definition: LabRecoFrame.cc:51
RestFrames::LabRecoFrame::InitializeAnalysis
virtual bool InitializeAnalysis()
Initialize analysis capability of a tree to reconstruct events.
Definition: LabRecoFrame.cc:78
RestFrames::LabRecoFrame::AnalyzeEvent
virtual bool AnalyzeEvent()
Analyzes event.
Definition: LabRecoFrame.cc:251
RestFrames::LabFrame
Definition: LabFrame.hh:41
RestFrames::LabRecoFrame::AddTreeState
void AddTreeState(VisibleState &state) const
Adds a state to "VisibleStateList" of this frame.
Definition: LabRecoFrame.cc:58
RestFrames::LabRecoFrame::GetTreeStates
VisibleStateList const & GetTreeStates() const
Returns list of visible states of this frame.
Definition: LabRecoFrame.cc:74