CMS 3D CMS Logo

KinematicTree.h
Go to the documentation of this file.
1 #ifndef KinematicTree_H
2 #define KinematicTree_H
3 
9 
37 public:
42  KinematicTree();
43 
44  ~KinematicTree() override;
45 
49  bool isEmpty() const;
50  bool isValid() const { return !empt; }
51 
58  bool isConsistent() const;
59 
68 
78  std::vector<RefCountedKinematicParticle> finalStateParticles() const;
79 
86 
92 
98 
104 
111  std::pair<bool, RefCountedKinematicParticle> motherParticle() const;
112 
118  std::vector<RefCountedKinematicParticle> daughterParticles() const;
119 
125  void movePointerToTheTop() const;
126 
132  bool movePointerToTheMother() const;
133 
138  bool movePointerToTheFirstChild() const;
139 
144  bool movePointerToTheNextChild() const;
145 
154 
162  bool findDecayVertex(const RefCountedKinematicVertex vert) const;
163  bool findDecayVertex(KinematicVertex* vert) const;
164 
175 
181 
192 
193 private:
201 
203 
204  bool leftFinalParticle() const;
205 
207 
208  mutable bool empt;
209 
212 };
213 #endif
KinematicTree::treeGraph
math::Graph< RefCountedKinematicVertex, RefCountedKinematicParticle > treeGraph
Definition: KinematicTree.h:210
KinematicTree::addTree
void addTree(RefCountedKinematicVertex vtx, KinematicTree *tr)
Definition: KinematicTree.cc:391
KinematicTree::replaceCurrentParticle
void replaceCurrentParticle(RefCountedKinematicParticle newPart) const
Definition: KinematicTree.cc:377
KinematicTree::finalStateParticles
std::vector< RefCountedKinematicParticle > finalStateParticles() const
Definition: KinematicTree.cc:31
KinematicTree::movePointerToTheFirstChild
bool movePointerToTheFirstChild() const
Definition: KinematicTree.cc:226
KinematicTree::currentParticle
RefCountedKinematicParticle currentParticle() const
Definition: KinematicTree.cc:212
math::GraphWalker
Definition: GraphWalker.h:12
KinematicTree::currentDecayVertex
RefCountedKinematicVertex currentDecayVertex() const
Definition: KinematicTree.cc:91
KinematicTree
Definition: KinematicTree.h:36
ReferenceCountingPointer< KinematicVertex >
KinematicTree::leftBranchSearch
bool leftBranchSearch(RefCountedKinematicParticle part) const
Definition: KinematicTree.cc:270
KinematicTree::leftBranchAdd
void leftBranchAdd(KinematicTree *otherTree, RefCountedKinematicVertex vtx)
Definition: KinematicTree.cc:359
KinematicTree::isEmpty
bool isEmpty() const
Definition: KinematicTree.cc:10
part
part
Definition: HCALResponse.h:20
KinematicVertex
Definition: KinematicVertex.h:20
KinematicTree::treeWalker
math::GraphWalker< RefCountedKinematicVertex, RefCountedKinematicParticle > * treeWalker
Definition: KinematicTree.h:211
KinematicTree::isValid
bool isValid() const
Definition: KinematicTree.h:50
KinematicTree::movePointerToTheMother
bool movePointerToTheMother() const
Definition: KinematicTree.cc:218
KinematicTree::~KinematicTree
~KinematicTree() override
Definition: KinematicTree.cc:8
KinematicTree::findParticle
bool findParticle(const RefCountedKinematicParticle part) const
Definition: KinematicTree.cc:239
KinematicTree::replaceCurrentVertex
void replaceCurrentVertex(RefCountedKinematicVertex newVert) const
Definition: KinematicTree.cc:384
GraphWalker.h
KinematicTree::motherParticle
std::pair< bool, RefCountedKinematicParticle > motherParticle() const
Definition: KinematicTree.cc:97
KinematicTree::daughterParticles
std::vector< RefCountedKinematicParticle > daughterParticles() const
Definition: KinematicTree.cc:126
KinematicTree::addParticle
void addParticle(RefCountedKinematicVertex prodVtx, RefCountedKinematicVertex decVtx, RefCountedKinematicParticle part)
Definition: KinematicTree.cc:20
KinematicTree::movePointerToTheNextChild
bool movePointerToTheNextChild() const
Definition: KinematicTree.cc:232
KinematicTree::currentProductionVertex
RefCountedKinematicVertex currentProductionVertex() const
Definition: KinematicTree.cc:162
KinematicTree::isConsistent
bool isConsistent() const
Definition: KinematicTree.cc:12
RefCountedKinematicVertex.h
KinematicTree::empt
bool empt
Definition: KinematicTree.h:208
Graph.h
ReferenceCounted.h
extraflags_cff.vtx
vtx
Definition: extraflags_cff.py:18
KinematicTree::findDecayVertex
bool findDecayVertex(const RefCountedKinematicVertex vert) const
Definition: KinematicTree.cc:286
KinematicTree::leftBranchVertexSearch
bool leftBranchVertexSearch(RefCountedKinematicVertex vtx) const
Definition: KinematicTree.cc:342
math::Graph
Definition: Graph.h:13
KinematicTree::movePointerToTheTop
void movePointerToTheTop() const
Definition: KinematicTree.cc:149
RefCountedKinematicParticle.h
KinematicTree::KinematicTree
KinematicTree()
Definition: KinematicTree.cc:3
KinematicTree::topParticle
RefCountedKinematicParticle topParticle() const
Definition: KinematicTree.cc:83
ReferenceCounted
KinematicTree::leftFinalParticle
bool leftFinalParticle() const
Definition: KinematicTree.cc:69