|
|
Go to the documentation of this file.
23 part->setTreePointer(
this);
27 prodVtx->setTreePointer(
this);
28 decVtx->setTreePointer(
this);
33 throw VertexException(
"KinematicTree::finalStateParticles; tree is empty or not consistent");
36 std::vector<RefCountedKinematicParticle> rs;
39 std::cout <<
"top particle has no daughters, empty vector returned" << std::endl;
43 bool next_right =
true;
64 throw VertexException(
"KinematicTree::FinalStateParticles; error occured while getting back");
93 throw VertexException(
"KinematicTree::currentDecayVertex; tree is empty!");
103 std::pair<bool, RefCountedKinematicParticle>
res;
110 throw VertexException(
"KinematicTree::motherParticle; tree is incorrect!");
115 throw VertexException(
"KinematicTree::motherParticle; tree is incorrect!");
116 }
while (*(
treeWalker->current().second) != *cr);
118 res = std::pair<bool, RefCountedKinematicParticle>(
true,
pr);
122 return std::pair<bool, RefCountedKinematicParticle>(
false, fk);
128 throw VertexException(
"KinematicTree::daughterParticles; tree is empty!");
129 std::vector<RefCountedKinematicParticle> sResult;
133 sResult.push_back(
treeWalker->current().second);
138 sResult.push_back(
treeWalker->current().second);
145 throw VertexException(
"KinematicTree::daughterParticles; error occured while getting back");
151 throw VertexException(
"KinematicTree::movePointerToTheTop; tree is empty!");
159 throw VertexException(
"KinematicTree::movePointerToTheTop; non consistent tree?");
164 throw VertexException(
"KinematicTree::currentProductionVertex; tree is empty!");
182 if (initial ==
treeWalker->current().second) {
194 throw VertexException(
"KinematicTree::Navigation failed, tree invalid?");
207 throw VertexException(
"KinematicTree::movePointerToTheTop; non consistent tree?");
214 throw VertexException(
"KinematicTree::currentParticle; tree is empty!");
220 throw VertexException(
"KinematicTree::movePointerToTheMother; tree is empty!");
222 bool cr =
treeWalker->current().first->vertexIsValid();
228 throw VertexException(
"KinematicTree::movePointerToTheFirstChild; tree is empty!");
234 throw VertexException(
"KinematicTree::movePointerToTheNextChild; tree is empty!");
241 throw VertexException(
"KinematicTree::findParticle; tree is empty or not consistent");
252 bool next_right =
false;
288 throw VertexException(
"KinematicTree::findParticle; tree is empty or not consistent");
307 }
while (
up && !fnd);
316 throw VertexException(
"KinematicTree::findParticle; tree is empty or not consistent");
335 }
while (
up && !fnd);
372 previous_decay = current_decay;
395 throw VertexException(
"KinematicTree::addTree; Current tree does not contain the vertex passed");
math::Graph< RefCountedKinematicVertex, RefCountedKinematicParticle > treeGraph
void addTree(RefCountedKinematicVertex vtx, KinematicTree *tr)
void replaceCurrentParticle(RefCountedKinematicParticle newPart) const
std::vector< RefCountedKinematicParticle > finalStateParticles() const
bool movePointerToTheFirstChild() const
RefCountedKinematicParticle currentParticle() const
RefCountedKinematicVertex currentDecayVertex() const
bool leftBranchSearch(RefCountedKinematicParticle part) const
void leftBranchAdd(KinematicTree *otherTree, RefCountedKinematicVertex vtx)
math::GraphWalker< RefCountedKinematicVertex, RefCountedKinematicParticle > * treeWalker
bool movePointerToTheMother() const
~KinematicTree() override
bool findParticle(const RefCountedKinematicParticle part) const
void replaceCurrentVertex(RefCountedKinematicVertex newVert) const
std::pair< bool, RefCountedKinematicParticle > motherParticle() const
std::vector< RefCountedKinematicParticle > daughterParticles() const
void addParticle(RefCountedKinematicVertex prodVtx, RefCountedKinematicVertex decVtx, RefCountedKinematicParticle part)
bool movePointerToTheNextChild() const
RefCountedKinematicVertex currentProductionVertex() const
bool isConsistent() const
bool findDecayVertex(const RefCountedKinematicVertex vert) const
bool leftBranchVertexSearch(RefCountedKinematicVertex vtx) const
void movePointerToTheTop() const
RefCountedKinematicParticle topParticle() const
bool leftFinalParticle() const
def replace(string, replacements)